2013-03-25 118 views
0

即時通訊新手,我的第一個項目是創建學生班場景的數據庫。哪種數據結構化/打字在這種情況下是首選

我已經決定製作一個表格「學生」,然後認爲每個學生可能是一個或多個班級的成員,所以在我的腦海裏,學生表格中會有一個欄目,表示「班級」現在有哪些數據類型適用於那個?一個類將包含一個字符串名稱,然後安排(MTh,10:30-11:30)。或者,我應該只是製作一個「類」表,然後其中一列將包含屬於該類的所有學生的姓名,那麼應該使用什麼數據類型作爲長「列表」類字符串?

回答

1

每個班級可以有很多學生,每個學生可以有很多班級。因此,您的困境是將學生記錄在班級表中,還是記錄學生表中的班級。

在關係數據庫中,你應該有三個表:

學生
  • 一個表;
  • 一個班級表;
  • 一張桌子上有兩個配對:每個學生只有一排是一個班級的成員。

這樣做更靈活和通用。

另見我的回答Is storing a delimited list in a database column really that bad?

+0

感謝你清理的是,現在我需要在數據庫管理系統讀取,這樣我就可以正確地進行建模我的數據庫。 – user1624025 2013-03-25 04:21:23

+0

我推薦[SQL反模式:避免數據庫編程的陷阱](http://pragprog.com/book/bksqla/sql-antipatterns)。 ;-) – 2013-03-25 11:37:05

相關問題