1

我有一个关于如何在关系数据库中存储与特定角色相关的数据的架构问题。

我有三个角色,一个Subscriber Contact,,TeacherStudent。它们都存储在Users表中,但具有与每个相关的特定属性。学生有SchoolId, Grade, 订阅者联系人有DistrictId, 教师有ProgramId, SchoolId, Grade

我应该为订阅者联系人、教师和学生设置三个单独的表,还是应该进行某种键/值查找?如果键/值查找我该怎么做,我怎么做外键,比如DistrictIdSchoolId

4

1 回答 1

1

您可以模拟继承之类的东西。一个超类表,由角色 和 的所有公共subscriber属性teacher组成student。然后每个角色的三个子类表由每个角色唯一的属性组成。超类实体和每个子类实体之间将存在一对一的关系。

于 2012-01-19T00:35:58.737 回答