看板 Database 關於我們 聯絡資訊
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) 資料庫名稱:MS-SQL 資料庫版本:2000 內容/問題描述: 請問各位 假設我有一個訂單的table 其中一個欄位代表是中餐、點心、飲料、晚餐 最多就只有這四個值 那麼請問我需要另開一個talbe專門紀錄這四個值 有需要再join就好 還是說直接存在訂單這個table底下就好呢? 因為每一筆訂單只有一個訂單類別 所以應該是有做到第一正規化 每筆訂單的類別也都跟主key(GUID)有關 所以應該有第二正規化吧? 第三正規化的部份我就不確定了 請問像這樣的情況我要怎麼分析呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.167.226 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1426948120.A.1D5.html
GoalBased: 如果你今天 中餐 要改成 中華餐 03/21 22:56
GoalBased: 你table不拆開要怎麼辦 03/21 22:57
因為我是想說 餐點類型大概不外乎就那些 所以有必要分出來嗎? 所以一般來說只要是跟種類、分類有關的欄位都必須要分出去囉? 那麼請問這算是第幾正規化呢? ※ 編輯: aoksc (118.169.167.226), 03/21/2015 23:02:39 還有我之前的想法是想說要改的話直接update中餐全部改成中華餐不就好了 請問這作法會有什麼問題呢? ※ 編輯: aoksc (118.169.167.226), 03/21/2015 23:04:20
GoalBased: 1.我不知道那是第幾正規化,工作中沒看過人討論 03/21 23:29
GoalBased: 這是"第幾正規化",通常都是直覺的去做正規化 03/21 23:29
GoalBased: 2.update可以啊,但是假如你有一萬筆中餐,那不就要 03/21 23:30
GoalBased: 更新一萬筆嗎,如果你拆出去是不是只要更新一筆? 03/21 23:30
謝謝的回覆 我沒有考慮到如果要大量更新的情況 因為我一直預想這東西應該不會改才對 所以看來應該是跟分類有關的欄位也該考慮獨立到另一個table方便控制 ※ 編輯: aoksc (118.169.167.226), 03/21/2015 23:37:57
benqm300: 反正規化通常是在某些情況下才使用,一般來說還是該分開 03/22 11:02
benqm300: 就分開,雖然有時候SQL會很肥@@ 03/22 11:02
rockchangnew: 可拆,會減少資料量。日後維護也方便 03/22 14:11
LaPass: 拆也可以,不拆也可以。看狀況。 03/22 21:27