我有5個表可以包含電話字段,但我想要爲每個表的多個電話號碼的選項。SQL一對多關係,但多對一表關係
而不是創建5個子表,更有意義的是創建一個,並將其鏈接到其他5個「父」表。但現在我正在考慮如何將該錶鏈接到其他5.
我的第一個想法是過濾2個主題。一個存儲鏈接表名稱的字段,以及一個包含來自五個表之一的鍵的通用外鍵。我仍然傾向於這種方式。
接下來是將5個外鍵放到表中,並允許它們爲空的想法。我不喜歡4個空字段的想法。更不用說我有與另一個表以相似的方式鏈接到另外11個表的問題。
第三個是連接或連接表,再次(我相信)5個空的外鍵,但是這似乎並沒有做任何事情,更多的則選擇2多一點的複雜性。
第四個選項,我爲大多數表的主鍵使用自動增量字段。我可以切換到這些表的UUID或GUID。我已經設置爲使用UUID作爲主要安全原因,但是對大多數表使用自動增量來提高性能。
第5個選項是我碰到了在那裏的自動遞增字段用表名相結合,創建一個新的字符字段。 (僅在創建表時,技術上不是一個計算的字段。)但是再次看不到超出第一個選項的好處。
就是其中之一,以最好的方式,還是有另一種選擇我要麼錯過了,還是不明白嗎?
嗯,最重要的是你完全避免了在表格中放置逗號分隔值的想法。 :) – Guffa