看板 Database 關於我們 聯絡資訊
※ 引述《aoksc (重出江湖)》之銘言: : 標題: [SQL] 資料庫設計上的問題 : 時間: Mon Apr 20 23:18:56 2015 : : (針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) : 資料庫名稱:MS-SQL : : 資料庫版本:2012 : : 內容/問題描述: : : 請問各位 : : 我目前要設計一個訂單系統 : : 資料庫架構如下http://imgur.com/ApWQjNY : : 我的想法是菜單底下跟每個一個品項關聯 : : 而訂單跟每一家菜單編號相關連 : : 訂單明細則是訂單編號跟菜單品項編號相關連 : : 因為當有人開單後很多人都用同一張訂單點餐所以關聯訂單編號 : : 而每一張明細也紀錄相對應的品項編號 : : 不過當我要去建立關聯時都會出現 : : 「資料表的資料行與現有的主索引鍵或unique條件約束不相符」 : : 請問是我的設計的架構有錯嗎? : : 不好意思對SQL的相關知識還很粗淺 : : 希望各位不吝指教 : : 謝謝 : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.170.118 : ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1429543140.A.0BA.html : 推 GoalBased: 你可以先GOOGLE 04/20 23:50 : → GoalBased: 新手遇到問題直接把你的問題丟GOOGLE 04/20 23:50 : → GoalBased: 會比上來問還快還完整 04/20 23:50 : 推 a926: 建關聯的時候,資料表裡面不要有資料會比較好喔! 04/21 10:04 : → a926: 你這是因為裡面有資料了!他會去判斷關聯的完整性 04/21 10:04 謝謝兩位的回覆 我用這錯誤訊息上google找其實資料滿少的 而且我還是看不太懂到底他說的是什麼意思 只知道應該是索引鍵數量不同的問題 但奇怪我明明兩個欄位都列為主鍵了怎麼還會有不同? 最後還是去找北風資料庫這經典範例來看 還有經過多次實驗跟網路上的片段相關索引資訊 終於把這問題解決 我整理心得應該是因為兩個主鍵組合而成的本身就是一組索引 但我要去關聯的table並沒有「相同組合」的欄位 所以也就是我除了有主索引鍵之外 我還必須去設定一般的索引鍵 所以說等於我OrderDetail裡面一共有 「ItemNumber+OrderNumber」、「ItemNumber」、「OrderNumber」這三個索引鍵才對 而我之前一直誤以為所設的ItemNumber、OrderNumber兩個主鍵就是兩組索引 不曉得我以上敘述有無錯誤的地方呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.170.118 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1429625502.A.B02.html
BigLoser: 你兩篇的描述我都看不太懂,可不可以舉個實體例子 04/21 22:19
BigLoser: 你第一張圖看起來應該是錯的,關聯是這樣的, 04/21 22:19
BigLoser: 我有一個主鍵,要關聯的人會有一個外部鍵, 04/21 22:20
BigLoser: 我的主鍵和別人的外部鍵關聯 04/21 22:20
BigLoser: 其實你說你有抓北風了,直接看北風會比較易懂 04/21 22:20
BigLoser: 你可以看看北風裡面應該沒有類似你這種作法的 04/21 22:21
BigLoser: 但奇怪我明明兩個欄位都列為主鍵了怎麼還會有不同 << 04/21 22:21
BigLoser: 這句話很奇怪= = 04/21 22:21
BigLoser: 建議先看網路資料或是買本入門書籍來K一下 04/21 22:22
a926: 索引歸索引 PK歸PK 另外一般做關聯時只會講到PK FK 04/22 12:04
a926: 不會提到索引吶 04/22 12:04
a926: 為了怕有誤 我說的索引不是索引鍵這個詞 04/22 12:06
謝謝各位的回答 抱歉對資料庫的知識還淺薄沒深入研究過 所以有些東西說出來可能怪怪的 我是想設計一個點餐的系統 使用者可以建立一個店家基本資訊(ShopHead) 而店家的相關品項(有什麼餐點)關聯店家基本資訊 然後當使用者開單時有該店家的資訊(ShopNumber)跟該次訂單編號(OrderNumber) 之後其他使用者可以用這張訂單選擇他要點的餐點 OrderDetails包含關聯那張訂單跟選擇了哪個品項 簡單來說就是一個訂便當的系統 一個人開單訂購 其他人就選擇要訂什麼餐點大概的概念是這樣 http://imgur.com/jyXCWUY 我有看過北風資料庫但不確定我的環境是否跟他類似 所以不曉得各位覺得這樣的情境搭配這樣的資料庫合理嗎? 另外各位有沒有推薦資料庫設計相關的書呢? 謝謝 ※ 編輯: aoksc (118.169.167.32), 04/22/2015 23:27:33
a926: 書我之前有推過 04/23 00:20
a926: ISBN:9789863120636 04/23 00:21
a926: ISBN:9789863120650 04/23 00:21