2011-02-15 75 views
2

我必須創建一個數據庫,我想知道什麼是最好的解決方案。實體師生共享表?

比方說,我必須存儲有關學生和教師的信息。

我是否應該向學生和老師製作一張包含所有個人信息(姓名,電子郵件,電話密碼)的單一表格?

有關更多信息,我應該將它們作爲ADD_TEACHERS和ADD_STUDENTS保存在單獨的表中嗎?

回答

0

聽起來你最好的路線是爲老師和學生製作一張單獨的桌子。你將擁有所謂的師生之間的一對多關係:一名教師和許多學生。

但這隻涵蓋一個學期。當你考慮其他學期時,你在學生和老師之間有多對多的關係。

最後,您最好至少使用三張表:教師,學生和教師與學生的關係。

0

你要做的第一件事情就是地圖的實體關係(ER)及其attributes.then設計數據庫和應用的標準化戰略。

在提議的場景中,學生和教師是不同的實體。並找出thier關係

  • ONE學生ONE教師
  • MANY學生有ONE教師
  • MANY學生有MANY洛城

然後檢查其屬性實例 - 學生(名稱,類別,DOB)

2

您可能希望創建一個表像名公共數據,電子郵件等,您可以再使用一個主鍵列在這張表中,如果必須有特定於老師的信息(如course_instructor,head_teacher的課程),那麼請使用該人員的唯一密鑰作爲參考資料,在course_information表中。對學生也一樣。

0

這取決於你將如何使用數據。如果你有很多使用案例,你對「人」感興趣,不管角色如何,或者如果你有很多人既是教師又是學生,那麼你可能想學習gen-spec設計模式,因爲它適用於關係表。

See previous discussion.