所有表都需要主键还是外键足够?

时间:2014-05-02 07:40:14

标签: foreign-keys primary-key entity-relationship database-schema entities

我目前正在绘制架构数据库。我想知道我的数据库是否有效,特别是查看没有主键(仅限外国)的实体ResourceType和OutstandingProblem ......

主键带下划线,外键有* database

这个设计好吗?谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的工作基数为" 1到1"看起来OutstandingProblem的主键可能是jobId。是正确的。 ResourceType看起来应该具有复合主键:(technicianID,resourceID)。

基数"多对多" ResourceType和Technician之间看起来有问题。这似乎意味着technicianID是ResourceType中的一个多值属性 - 不一定是"错误"但是在ER建模中表达事物的一种相当不寻常的方式。许多DBMS根本不支持多值属性。

键是语义建模和数据库设计的重要组成部分。如果您还没有确定所有实体的密钥,那么您应该假设您的分析和设计不完整。