Sql 如何确定哪些列用作外键?
我需要一点关于SQL数据库设计的复习,特别是如何以及使用哪些列作为外键 下面是我想出的两个设计,能告诉我哪个更有意义吗?对我来说,我相信设计2似乎更好 编辑: 一个项目只能包含一个团队。一个团队可以有一个或多个团队成员。同样,团队成员可以是一个或多个团队的一部分。我正在使用MicrosoftVisio、UML乌鸦脚符号创建这些图像 我将Project与ProjectTeamOrg分离的主要原因是分离数据,实际上,我将为一个项目提供许多元素,并将它们分离到各自的DB表中 设计1 设计2Sql 如何确定哪些列用作外键?,sql,database-design,foreign-key-relationship,Sql,Database Design,Foreign Key Relationship,我需要一点关于SQL数据库设计的复习,特别是如何以及使用哪些列作为外键 下面是我想出的两个设计,能告诉我哪个更有意义吗?对我来说,我相信设计2似乎更好 编辑: 一个项目只能包含一个团队。一个团队可以有一个或多个团队成员。同样,团队成员可以是一个或多个团队的一部分。我正在使用MicrosoftVisio、UML乌鸦脚符号创建这些图像 我将Project与ProjectTeamOrg分离的主要原因是分离数据,实际上,我将为一个项目提供许多元素,并将它们分离到各自的DB表中 设计1 设计2 告诉我这
告诉我这些表之间的关系。一对一(或)一对多。因为这种关系有助于我们确定表中哪个列应该有外键 配合设计1 根据我所理解的事情
Tablename Columnname Key
Project Projectid Primary
Projectteamorg Projectid Foreign(Reference Project(Projectid))
Projectteammember teamid Primary
Projectteamorg teamid Foreign(Reference Projectteammember(teamid))
数据库的用途不清楚。你没有解释数据流。我看不到团队表。它在那里吗?或者ProjectTeamOrg是团队表
请解释数据流。这样就可以帮助您了。这是一对一的关系吗?Project和ProjectTeamOrg表不应该合并吗?您使用哪个工具生成这些图像?=)团队成员可以参与多个项目吗?这个图表就是这样显示的,我只是想确定一下。图中还显示了每个项目只能有一名团队成员——我敢肯定这是错误的。对不起,我今天才回复,周末不在了:(一个项目只能包含一个团队。一个团队可以有一个或多个团队成员。同样,一个团队成员也可以是一个或多个团队的一部分。我正在使用Microsoft Visio、UML Crow Foot表示法创建这些映像。这将是一个完美的注释。映像已经指定了关系,| |表示一对一,>|表示一对多sorry I only)y今天回复,周末离开:(一个项目只能包含一个团队。一个团队可以有一个或多个团队成员。同样,一个团队成员可以是一个或多个团队的一部分。我正在使用Microsoft Visio、UML Crow Foot符号创建这些图像。