2015-10-05 49 views
1

這是我的第一個問題,並提前致謝!我正在創建一個數據庫,並使用ASP/C#製作一個應用程序,以跟蹤在巴士和課堂上的孩子參加教堂的情況。我有數據庫設計,但我想知道是否有更好的方法來做到這一點。我有地址,孩子和父母/監護人/信任的人等的東西的表,所有這些都通過唯一的ID,標準的東西鏈接。對於子表中的每個條目,我都有一個Guardian1ID,Guardian2ID,Trusted1ID,Trusted2ID字段,其中包含父/監護人/受信任人的ID。我的問題是:有沒有更好的方法來做到這一點?有些孩子有一個父母,而其他孩子有加阿姨,叔叔等。有可能有一個字段就像一個可以在另一個表中引用多個ID的可變長度數組?一個字段可以引用另一個表中的多個記錄嗎?

+2

而不是在每個關聯的父/監護人/等的Child表中有多個列,我將有一個唯一的ID爲每個孩子,然後將其用作父/監護人表中的外鍵。通過這種方式,您可以創建一對多的關係 - 每個孩子都可以擁有的最大監護人數量 - 每個監護人只是父/監護人表中的另一行。 – CactusCake

回答

3

假設對於您的申請,父母,阿姨,監護人等是平等的,這似乎是一個多對多的關係。

我會添加一個帶有ID和名稱的Child表,然後添加一個帶有ID和名稱的ParentGuardianEtc表,最後爲childID和attendantID添加一個橋表。

鑑於現實生活中的可能性,一個人可以成爲一個孩子的父母,但也可能會像其他人一樣,像一個侄子一樣,偶爾還有兩個孩子可能是兄弟或半兄弟,這似乎是最合理的。

然後,childID和attendantID是外鍵,您還可以添加註釋字段或任何其他需要的東西。

0

從我的理解託尼的監護人可以包含在子/父母表,如果有不會的記錄

重複
相關問題