我試圖實現一個優化設計,將兩個SQL Server表中的列合併爲一個,以實現更好的設計和優化。如何設計具有共享列的SQL Server表
表1 - 應用程序,爲用戶
ApplicationID
FirstName
LastName
Address
表2 - 應用程序合作伙伴
ApplicationID
CompanyName
Address
TaxID
難道是明智的,跳過表1,2的創作和創建表3,將這個樣子
table3
---------
ApplicationID
FirstName
LastName
CompanyName
Address
TaxID
兩個表之間不共享的列將保留爲空。這是設計一個SQL Server表的好方法,或者我應該堅持兩個不同的表,並添加將舉行主密鑰ApplicationID
table3
-------
ApplicationID
ApplicationType (client, company)
table1 //application for users
--------
ApplicationID
FirstName
LastName
Address
table2 //application for partners
---------
ApplicationID
CompanyName
Address
TaxID
你甚至可以將地址移動到它自己的表格中。這將使每個表更小,更高效,它也可以處理重複的地址。 –
我都沒有。 @Joshua Schwarz可能會給你更多的信息。 –
不理解表3.爲什麼使用company_ID和user_id作爲組合PK? – mko