我有很多具有相同列數和名稱的表,因爲它們都是查找表。 例如,有LabelType和TaskType表。 LabelType和TaskType表具有TypeID和TypeName列。它們將用作其他表中的外鍵,如具有shippingLog表的LabelType表和具有EmployeeTask表的TaskType表。具有相同列的相同表的數據建模
LabelType Table
TypeID TypeName
1 Fedex
2 UPS
3 USPS
TaskType Table
TypeID TypeName
1 Receiving
2 Pickup
3 Shipping
到目前爲止,我有超過20張桌子,我期待着它會不斷增加。 我沒有問題,但我只是想知道是否有更好或更聰明的方式使用表或不。我甚至想將所有這些表合併爲一個查找類型表,並通過在查找表中添加一個外鍵來區分它們。查找表可能包含標籤,任務等數據。然後,我只需要一個或兩個表來查找所有這些查找數據。
請告訴我,如果你有任何更好或更聰明的數據建模方式。
感謝您的明確答案。創建表格一點也不麻煩。我只是想知道在數據庫上創建表和關係的最有效和正確的方法。 – Hoorayo
我與我的同事喜歡爭論所有類別的一張表,因爲它可以方便地編寫爲.Net開發人員。但我在桌子之間的完整性方面與他不同意。我同意編碼方便,因爲我是.Net開發人員,因爲使用一個表格可以更容易地製作各種類型的下拉框,例如在用戶界面上顯示Label類型,Shipping類型等。但我想我可以使用動態SQL存儲過程來實現這一點。 – Hoorayo
@Hoorayo如果出於某種原因使客戶端的事情變得更容易,您可以通過VIEW來始終「重新合併」查找表。你甚至可以使用'Kind'字段來指示哪個表中的任何特定行來自哪個表,因此您可以使用單個參數化查詢來獲取任何表。有關工作示例,請參閱此[SQL小提琴](http://sqlfiddle.com/#!3/fa42b/2)。 –