我有一个数据库,其中有一个" users“表,其中包含有关我的用户的数据。每个用户都要链接到一家公司或一所大学。我希望有两个单独的表“学院”和“公司”,每个表都有一个字段"ID“。那么,如何将users表中的每个记录链接到公司或大学呢?
基本的事情是,我希望在数据库中建立一个"OR“关系。
发布于 2010-05-24 22:33:52
可以使用子类型/超类型关系。保留组织表中的所有公共字段。学院和公司表仅包含特定于这些实体的字段。

发布于 2010-05-24 14:34:50
你可以使用一个‘制度’或‘组织’查找表,其结构类似于
InstitutionId[PK], InstitutionType, LookupKey其中,LookupKey是公司或学院的PK。
或,
InstitutionId[PK], CompanyId[FK], CollegeId[FK]在这两种情况下,您都可以从用户链接到机构,然后链接到公司和/或学院。
我个人更喜欢第二个选项,因为它允许您轻松验证FK关系,还允许(如果适用)用户成为公司和/或大学的成员。
发布于 2010-05-24 14:33:16
我会创建关系表。UserCollege和UserCompany。这样,如果将来需要,您甚至可以让用户同时链接到这两个链接。如果没有,您只需在两者之一上创建一条关系记录
https://stackoverflow.com/questions/2895147
复制相似问题