我必須創建一個數據庫,我想知道什麼是最好的解決方案。實體師生共享表?
比方說,我必須存儲有關學生和教師的信息。
我是否應該向學生和老師製作一張包含所有個人信息(姓名,電子郵件,電話密碼)的單一表格?
有關更多信息,我應該將它們作爲ADD_TEACHERS和ADD_STUDENTS保存在單獨的表中嗎?
我必須創建一個數據庫,我想知道什麼是最好的解決方案。實體師生共享表?
比方說,我必須存儲有關學生和教師的信息。
我是否應該向學生和老師製作一張包含所有個人信息(姓名,電子郵件,電話密碼)的單一表格?
有關更多信息,我應該將它們作爲ADD_TEACHERS和ADD_STUDENTS保存在單獨的表中嗎?
聽起來你最好的路線是爲老師和學生製作一張單獨的桌子。你將擁有所謂的師生之間的一對多關係:一名教師和許多學生。
但這隻涵蓋一個學期。當你考慮其他學期時,你在學生和老師之間有多對多的關係。
最後,您最好至少使用三張表:教師,學生和教師與學生的關係。
你要做的第一件事情就是地圖的實體關係(ER)及其attributes.then設計數據庫和應用的標準化戰略。
在提議的場景中,學生和教師是不同的實體。並找出thier關係
然後檢查其屬性實例 - 學生(名稱,類別,DOB)
您可能希望創建一個人表像名公共數據,電子郵件等,您可以再使用一個主鍵列在這張表中,如果必須有特定於老師的信息(如course_instructor,head_teacher的課程),那麼請使用該人員的唯一密鑰作爲參考資料,在course_information表中。對學生也一樣。
這取決於你將如何使用數據。如果你有很多使用案例,你對「人」感興趣,不管角色如何,或者如果你有很多人既是教師又是學生,那麼你可能想學習gen-spec設計模式,因爲它適用於關係表。