首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据库设计:或关系

数据库设计:或关系
EN

Stack Overflow用户
提问于 2010-05-24 14:27:02
回答 3查看 466关注 0票数 3

我有一个数据库,其中有一个" users“表,其中包含有关我的用户的数据。每个用户都要链接到一家公司或一所大学。我希望有两个单独的表“学院”和“公司”,每个表都有一个字段"ID“。那么,如何将users表中的每个记录链接到公司或大学呢?

基本的事情是,我希望在数据库中建立一个"OR“关系。

EN

回答 3

Stack Overflow用户

发布于 2010-05-24 22:33:52

可以使用子类型/超类型关系。保留组织表中的所有公共字段。学院公司表仅包含特定于这些实体的字段。

票数 7
EN

Stack Overflow用户

发布于 2010-05-24 14:34:50

你可以使用一个‘制度’或‘组织’查找表,其结构类似于

代码语言:javascript
运行
复制
InstitutionId[PK], InstitutionType, LookupKey

其中,LookupKey是公司或学院的PK。

或,

代码语言:javascript
运行
复制
InstitutionId[PK], CompanyId[FK], CollegeId[FK]

在这两种情况下,您都可以从用户链接到机构,然后链接到公司和/或学院。

我个人更喜欢第二个选项,因为它允许您轻松验证FK关系,还允许(如果适用)用户成为公司和/或大学的成员。

票数 2
EN

Stack Overflow用户

发布于 2010-05-24 14:33:16

我会创建关系表。UserCollege和UserCompany。这样,如果将来需要,您甚至可以让用户同时链接到这两个链接。如果没有,您只需在两者之一上创建一条关系记录

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2895147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档