2010-07-03 98 views
1

例如,訪問示例db,每個學生記錄都有一個關於監護人的嵌套表。 http://img101.imageshack.us/img101/9881/53882937.jpg我可以在MySql上創建嵌套表嗎?

+0

你什麼意思拼圖?這與添加額外的「GuardianName,GuardianEmail」列或添加GuardianDetails(或更一般的聯繫人)表,然後從學生表或其他內容中添加FKRing不同? – Rup 2010-07-03 17:56:28

+0

將表添加到表中,例如監護人在學生記錄中 – SomeUser 2010-07-03 17:57:48

+0

它真的是一個「嵌套表」嗎?這看起來像一個顯示選定學生的監護人的UI。在左邊的表格列表中,我看到了學生和監護人。 – Ken 2010-07-03 18:04:25

回答

6

這樣的事情號幾乎總是完成爲所有學生一個映射表,有一個外鍵列指向student表,指定一個特定的行涉及的學生。

然後,您只需篩選表格以匹配給定的學生,並在用戶界面中顯示沒有學生列的列表。它看起來像是一個單獨的用戶表,但實際上並不是如何存儲的。

(如果你沒有創建一個單獨的guardians表中的每個學生,你會做不可能做到像「找同學特定監護人」。查詢)

+0

或者,如果例如您想要一起跟蹤兄弟姐妹的監護人記錄,您可以使用連接表:即有一張學生表,一張監護人表(沒有學生FKR),然後是一張只有學生證和監護人對的「學生監護人」表ID,每個FKRed到適當的表格。然後,您可以在學生和監護人之間進行多對多的映射。 (這可能是您的屏幕截圖中的「學生和監護人」表格。)雖然在這種情況下,您可能需要將「關係」值移入連接表中。 – Rup 2010-07-03 18:08:44