【发布时间】:2016-12-30 19:20:44
【问题描述】:
我对数据库设计很感兴趣,现在正在阅读相应的文献。 通过这本书,我遇到了一个奇怪的例子,让我感到不确定。 有关系
在此表中,我们有一个复合主键(StudentID、Activity)。但是ActivityFee部分依赖于表的key(Activity -> ActivityFee),所以作者建议把这个关系分成另外两个关系:
现在如果我们看一下 STUDENT_ACTIVITY,Activity 变成了一个外键,而关系仍然有一个复合主键。
我们有一个表,其中所有列都定义了一个复合主键,可以吗?
如果不是,在这种情况下我们应该怎么做? (可能定义一个代理键?)
为了消除可能的数据异常,处理多值属性(在我们的例子中是 Activity)的好方法是什么?
【问题讨论】:
标签: database database-design relational-database relational-model