0

我覺得這可能是一個獨特的問題,但希望有人在那裏遇到類似的情況。如何構造數據庫,多個外鍵?

我的應用程序使用此數據庫中的表:

DT table

的問題是與字段1 - 9
根據用戶決定如何建立自己的應用程序的情況下可以有任意數量的使用的字段(從0到9)。這些信息都保存在這個表:

Field Table

因此對於本例中,只有是兩個領域。當爲DT表創建記錄時,字段1和2將輸入數據,所有其他字段列將爲空。顯然,這不是一種好的做法,至於其中一個,如果將來更改了字段名稱,則以前的所有數據都是沒有意義的。

我一直在想辦法以不同的方式構造它。所有我能想到的是,在創建DT記錄時,它會將外鍵保存到所使用的字段中,但似乎無法在一列中包含多個外鍵。

任何幫助或建議將不勝感激。

回答

0

對此進行規範化的一種方法是將重複字段分解到單獨的表中,其中每個字段使用DT_id作爲DT表的外鍵的一個條目。

DT表
ID
開始
結束
...

DT_field表
ID
DT_id (外鍵)
價值