我正在處理具有每個用戶類型派生自的現有個人表的數據庫。換句話說,有喜歡的表:
Individual: FirstName, LastName, Email,
等跨表共享一個「身份」<lots more
>
員工:IndividualId
客戶:IndividualId
現在,我要添加新的用戶類型(WeirdPerson)不從派生個人。 (WeirdPerson與其相關的數據明顯少於任何個人,而且我真的不希望幾乎將個體中的每個字段都設置爲WeirdPerson的空值。)
我需要一個關鍵字段用於表來自WeirdPersons的條目和來自個人的條目。這表明映射表如下所示:
MashedupIndividuals: MashedupId, IndividualId
MashedupWeirdPerson: MashedupId, WeirdPersonId
我想MashedupId是自動生成的場。由於我使用的是TSQL,因此身份似乎是一個不錯的選擇。除了MashedupId分爲兩個表格。我考慮過另外一張表:
MashedupIds: MashedupId
設置MashedupId爲一個標識,然後在MashedupIndividuals和MashedupWeirdPerson中將其設置爲外鍵。
這是繼續前進的最佳方式嗎?你會如何解決這個問題?
編輯:爲了澄清,我有一個WeirdPerson的唯一信息是一個電子郵件地址。我考慮將個人電子郵件字段拉出來,然後用GlobalPersonId和Email創建一個新的GlobalPerson表。 GlobalPerson表格(或者我使用的任何更好的名字)並不像將WeirdPerson分離成完全不同的類型那樣自然。但是......我願意重新考慮這一立場。
我想我從未見過沒有名字或姓氏的人。這些奇怪的人究竟是什麼? – jmucchiello 2009-08-31 17:16:23
我編輯了我的問題來解決WeirdPerson的奇怪問題。我想我可以逃脫而不給他們更多的信息。我顯然是錯的。 :) – Eric 2009-08-31 17:28:24