我有2個表之間的結構關係,一個是含有項目和它們的性質,這是整數:MySQL的創建表
項目表:
item_id, property_a, property_b, property_c
和另一個,單排表,其中包含這些屬性允許的偏差, 也是整數:
允許偏差表:
property_a, property_b, property_c
這工作,但有2個表,因此沒有辦法之間沒有正式的關係,以確保他們在同步時,項目表以任何方式被修改(除手動照顧它還是應用水平)。
所以我的問題是 - 這種情況的最佳做法是什麼?這兩個表的結構可以並且應該在數據庫級別之間建立某種關係,還是這樣呢?
我的一個想法是,作爲偏差是一個單行表,只是把它放在桌子的項目,賦予其特定的虛擬物品,但我與所看到的問題是:
- 僞數據,不喜歡我目前爲止的清潔數據庫 - 使與查詢有關的查詢變得複雜 - 在一張表中混合蘋果和桔子 - 如果需要多組允許的偏差,很難擴展
謝謝,是的,我的意思是排,編輯的問題。我不太確定我是否完全明白你的答案 - 偏差表將把屬性定義保存爲行,這是提議嗎?如果是這樣,它的缺點是,如果需要另一組偏差,這將需要一個新的列,這可能不是組織數據的最佳做法。 – CodeVirtuoso
是的。這個想法是將屬性定義保存爲行。我的想法是,如果存在另一組允許的偏差(例如d,e和f),則這意味着將3個新行插入到偏差表中,並且item_property表中將填充新的一組偏差適用的項目。它不應該要求添加新列。希望是有道理的! –