作爲新的關係數據庫設計,我試圖澄清一條信息來正確設計這個數據庫。儘管我使用Filemaker作爲平臺,但我認爲這是一個普遍的問題。關係數據庫設計 - 對象具體到多對多,我用自聯接表還是新表解決
使用理想情況下具有所有一對多關係的邏輯,並使用單獨的表或連接表來解決這些問題。
我有一個數據庫包含多個產品,由多個品牌製作,屬於多個產品類別。我還希望在報告時儘可能擴展規模,儘可能多地分割和切分數據,因爲用戶的需求在不斷變化。
因此,當我提出「每個品牌是否有多個產品」的問題時,我會得到一個肯定答案,而「每個產品是否有多個品牌」答案都是否定的。所以這是一對多的關係,但似乎一個自連接表可能會給我所需的一切。
這種方法也似乎是爲了其他「產品相關」信息(如產品類別)而下降,每個產品都綁定到一個產品類別,但只有一個產品類別與產品相關。
所以我看到了2種可能性,製作了三張表,並將它們與主鍵和外鍵結合在一起,一個用於品牌,一個用於產品類別,另一個用於產品。
第二種可能性是創建一張表,將品牌和產品類別以及產品信息全部放在一張表中(因爲它們都與產品相關),並且只需執行自連接和其他基於查詢的表格就可以給我未來的報告要求將隨着時間而改變。
我在尋找可能會指向正確方向的經驗輸入。
在此先感謝!
三桌......你需要嘗試和規範它..你甚至可能要使用三個以上取決於數據,有多少你需要的答覆切片和切塊它 – 2014-09-10 19:29:55
謝謝,所以多個表減少/消除冗餘,你不能在關係數據庫中有太多的「一對多」表。 – 2014-09-10 19:38:21
如果你正在複製表中的數據,因爲另一列有不同的數據,那麼最好把它分成另一個表:) – 2014-09-10 19:51:29