1

我有關於如何在關係數據庫中存儲與特定角色相關的數據的體系結構問題。針對多個角色的數據庫表

我有三個角色,Subscriber Contact,TeacherStudent。它們全部存儲在Users表中,但具有與每個相關的特定屬性。學生有SchoolId,Grade,訂閱者聯繫人有DistrictId,老師有ProgramId,SchoolId,Grade

我是否應該爲訂閱者聯繫人,老師和學生設置三個單獨的表格,還是應該進行某種鍵/值查找?如果鍵/值查找我怎麼能做到這一點,我怎樣才能做到這一點的外鍵,如DistrictIdSchoolId

回答

1

您可以模擬繼承之類的東西。超類表,由角色subscriber,teacherstudent的所有常用屬性組成。然後爲每個角色組成三個子類表,每個角色由每個角色唯一的arrtibutes組成。超類實體和每個子類實體之間將存在一對一的關係。