数据库1 ... n与几个所有者表的关系

时间:2016-04-29 09:55:29

标签: mysql database database-design database-schema

我想创建一个数据库方案,并且真的不知道以下方案的解决方案: 我有用户,团队和项目。我希望能够以用户身份创建项目,也可以创建团队。我想到的是,在项目表中包含两个外键。一个用于用户ID'还有一个用于' teamId'。但在这种情况下,对于每个权利,userId或teamId都将为null。 这是一个很好的解决方案还是有更好的解决方案?

1 个答案:

答案 0 :(得分:0)

您可以创建一个强制userId != null OR teamId != null的约束。

或者,您可以要求每个项目都有一个非空外键userId(团队中的某些用户必须主动创建项目,对吗?),然后创建一个associatedTeam外键(可以选择)。