我有兩個表,tblRecipes并且tblChemicals,它們使用聯結表以多對多關系鏈接tblRecipesChemicalsLink。我有一堆用于計算的變數,這些變數在不同配方中使用的相同成分之間存在差異。不同食譜的相同成分之間也有不同數量的這些變數:
- 配方 A:水:系數 A = 0,2648;系數 B = 0,589,系數 D =0,1
- 配方 B:水:系數 E = 0,569;系數 C = 0,987
我希望資料庫在可以與配方和化學品的獨特組合相關聯的變數數量方面具有靈活性,所以我想創建一個從連接表tblRecipesChemicalsLink到包含變數的表的 1 米關系,其中包含值等欄位,名稱、描述、ID 等。我還沒有找到成功的方法。access 中的聯結表僅列出了tblRecipes和tblChemicals,但我需要將變數表鏈接到這些鍵的唯一組合。將一個新的 ID 欄位添加到聯結表并添加一個 ID 欄位作為變數表的主鍵,然后鏈接那些只允許在聯結和變數表之間建立多一關系的欄位。我需要它是相反的方式。有沒有辦法在 Access 中做到這一點?我是否必須以某種方式撰寫一個新的自定義鍵并從由聯結表手動鏈接的表的主鍵值構造它?
我正在使用 ms 訪問。我正在尋找一個在鏈接到聯結表的每一行中具有不同系數的表,而不是每個類的不同列(如繼承)。在我的情況下,系數不能分配給有意義的子型別。
uj5u.com熱心網友回復:
對三元關系做一些研究。這些是三級關系。
您現有的聯結表實作了 MM 二元關系。你會想要一個 MMM 關系。這意味著您的聯結表將不是兩個而是三個外鍵。前兩個將識別配方和化學品,就像他們現在所做的那樣。正如您在問題中指出的那樣,您的新表(我們稱之為系數)有一個 ID 欄位。參考 coefficient.id 的外鍵是您需要添加到聯結表的內容。
這意味著每個配方-化學品對都需要連接表中的一行或多行,其中一個用于參與化學品配方的每個系數。
還有更多的設計問題。除非每個系數都可以指定為浮點數,否則您的系數表將不得不處理某種抽象形式的輸入。
這確實是朝著星型模式設計邁出的一步。我從未嘗試在 MS Access 中進行啟動模式設計,而且我不知道您會遇到什么陷阱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/517414.html
