0

我目前正在绘制一个模式数据库。我在想,如果我的数据库工作特别着眼于实体的ResourceType和OutstandingProblem,没有一个主键(仅适用于外国的)谁...所有表都需要主键还是外键足够?

主键下划线,外键有* database

这个设计好吗?谢谢!

回答

0

似乎是如果“1对1”的您的工作基数是正确OutstandingProblem的主键可以作业ID。 ResourceType看起来应该有一个复合主键:(technicianID,resourceID)。

基数“多对多”的ResourceType和技师之间看起来有问题的。这似乎暗示technicianID是ResourceType中的一个多值属性 - 不一定是“错误”,而是在ER建模中表达事物的一种相当不寻常的方式。许多DBMS根本不支持多值属性。

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

+0

谢谢您的帮助!还有更多的问题,我如何设计一个组合键(如果pkey =加下划线,fkey = *),是否有标准方法?如果我为杰出问题做了工作(我认为这可能是正确的方法),Job会发生什么事情?它会有一个fkey jobId或复合键吗? – user3507121

+0

对于组合键,您会在表格中划下多个属性。 JobId可以是Job中的主键和外键。 – sqlvogel

+0

辉煌。谢谢sqlvogel! – user3507121

相关问题