简单实体关系冗余错误
Simple entity relationship redundancy error
我正在使用 ER 助手创建我的第一个实体关系图。
我创建了一个名为 Users 的实体,其中包含以下属性
UserID (identity 1,1) PK
UserName (varchar, 50)
我创建了第二个名为 Logs 的实体,它的属性是
LogID (Identity 1,1) PK
LogEntry (varchar, 256)
UserID FK
我已经为它分配了如下断言,
- 一个用户可以创建多个日志
- 一个日志只能由一个用户创建
关系定义为一个用户对多个日志,用户是强制的,日志是可选的
我得到的错误是:
"The 'UserID' attribute in the 'Logs' entity type is redundant with
the 'Creates' relationship. Because 'UserID' is the primary key of
'Users' it should not be an attribute of 'logs'.
所以我的问题是,如果我不将 UserID 作为外键放在日志 table 中,我该如何正确关联两者?我以为我对它的工作原理有一个很好的理解,但目前这对我来说绝对没有意义。我不确定这是有效性检查中的错误还是我实际上做错了。
由于 UserID 不是日志 table 的 属性(假设一个日志由用户和系统创建),良好的设计要求您将关系进入第 3 table:
UserLogs
--------
UserID
LogID
这样,如果系统创建了一个日志,您可以创建另一个 table:
SystemLogs
----------
SystemID
LogID
并为两个关系使用相同的实体日志
我正在使用 ER 助手创建我的第一个实体关系图。
我创建了一个名为 Users 的实体,其中包含以下属性
UserID (identity 1,1) PK
UserName (varchar, 50)
我创建了第二个名为 Logs 的实体,它的属性是
LogID (Identity 1,1) PK
LogEntry (varchar, 256)
UserID FK
我已经为它分配了如下断言,
- 一个用户可以创建多个日志
- 一个日志只能由一个用户创建
关系定义为一个用户对多个日志,用户是强制的,日志是可选的
我得到的错误是:
"The 'UserID' attribute in the 'Logs' entity type is redundant with the 'Creates' relationship. Because 'UserID' is the primary key of 'Users' it should not be an attribute of 'logs'.
所以我的问题是,如果我不将 UserID 作为外键放在日志 table 中,我该如何正确关联两者?我以为我对它的工作原理有一个很好的理解,但目前这对我来说绝对没有意义。我不确定这是有效性检查中的错误还是我实际上做错了。
由于 UserID 不是日志 table 的 属性(假设一个日志由用户和系统创建),良好的设计要求您将关系进入第 3 table:
UserLogs
--------
UserID
LogID
这样,如果系统创建了一个日志,您可以创建另一个 table:
SystemLogs
----------
SystemID
LogID
并为两个关系使用相同的实体日志