2012-06-20 48 views
0

我在如何爲我想構建的數據庫映射出模型而苦苦掙扎。一旦我建立了正確的數據庫模型,我將在C#中使用SQL2LINQ。SQL數據庫模型

我正在看的第一部分是設計分配列表的SQL表。

這些DL看起來就像下面的規則相當複雜:

  1. 有三種不同類型的DL的(用於特定事件)。
  2. 每種類型的DL將包含多個DL(可以超過10個)。
  3. 一個人可以在所有三種不同類型的DL中。
  4. 一個人可以處於同一類型的多個DL中。

的那個人,我會拿着的信息,如:

  1. 用的名字
  2. 聯繫電話
  3. 電子郵件地址

我不什麼樣子的複製信息的想法,多次在數據庫中擁有同一人;看起來不那麼幹淨。

任何幫助將不勝感激,我不能完全包圍我的頭周圍的最佳方式來做到這一點。

+0

當DL包含DL時,它們必須是相同類型嗎? –

回答

1

聽起來好像你只是想多到很多人,通訊組列表,之間的關係,你可以用接線表型號:

  • 編號
  • Forename
  • etc

個DistributionListEntries

  • 編號
  • DistributionListId
  • PERSONID

DistributionList

  • 編號
  • 類型

你可以直接存儲在Type分發列表表,或有此作爲一個外鍵到DistributionListTypes表與有關通訊組列表類型的附加信息。

1

您需要了解外鍵和父母/子女關係。

我不確定我是否完全按照你的描述來設計它。您可以爲每個通訊組列表分配一個表格,也可以讓一個通訊組與一個列表說明它屬於哪個事件類型。

我不明白爲什麼通訊組列表需要遞歸,但是您可以爲自己設置一個外鍵關係。查詢將更難以這樣寫,但可以由具有足夠技能的人完成。 Google針對「遞歸SQL」。

在它們之間有一個PERSON表,一個DISTRIBUTION_LIST表和一個JOIN表。聽起來像PERSON和DISTRIBUTION_LIST之間有多對多的關係。

+0

謝謝,這幫助了很多。這是設置的方式,不是我設計的東西,而是我繼承的東西。它的所有功能都在Excel Spreadsheets中完成,我期待將它帶到最新版本。 – Derek

+0

我不明白這些JOIN表格:-( – Derek

+0

研究時間....這是什麼DistributionListEntries是如下 – duffymo