Database EER-示例中的识别和非识别关系
如果我有三个表,一个用于Database EER-示例中的识别和非识别关系,database,database-design,logic,relational-database,Database,Database Design,Logic,Relational Database,如果我有三个表,一个用于用户,一个用于激活链接,一个用于位置 -用户和激活链接之间的关系是一种识别关系,因为特定的激活链接仅在用户在系统中注册时才存在 -但是用户和位置之间的关系是不可识别的,因为位置不存在用户 -如果存在一个名为users的表和另一个名为worker和student的表,那么worker和student可以在没有用户的情况下存在?是非身份关系吗 我的逻辑在三点上是正确的 谢谢。(1)用户和ActivationLink之间的关系并不完全清楚 ActivationLink必须有一
用户
,一个用于激活链接
,一个用于位置
-用户
和激活链接
之间的关系是一种识别关系,因为特定的激活链接
仅在用户在系统中注册时才存在
-但是用户
和位置
之间的关系是不可识别的,因为位置
不存在用户
-如果存在一个名为users
的表和另一个名为worker
和student
的表,那么worker
和student
可以在没有用户的情况下存在?是非身份关系吗
我的逻辑在三点上是正确的
谢谢。(1)用户和ActivationLink之间的关系并不完全清楚
- ActivationLink必须有一个用户(即仅与一个用户相关)
- 但是,一个用户可以有多少个ActivationLink?零,一,零或更多,一或更多
这可能是一种认同关系,但在开始之前我想知道更多
(2) 对。用户和位置是(正如您在这里所描述的)独立的实体
(3) 仅根据所用词语的典型含义,人们会假设“用户可以是学生或工人”,因此它们听起来像是子类型。。。但这无法通过手头的信息来证明或反驳。跟进问题如下:
- 他们可以是非用户的学生或工人吗
- 用户必须是学生还是工人
- 用户可以同时是学生和工人吗
- 或者,如果两者都不是,那么什么是用户?是否有第三个(或第四个或第五个或…)表指示这是什么类型的用户
“-用户与activationLink之间的关系是一种识别关系,因为只有用户在系统中注册时,特定activationLink才存在。”
嗯,嗯。因此,定义是x和Y之间的关系是“识别”如果Y不能存在“没有x”
从我被教的时候起,这并不是我所记得的。我想我已经被告知,如果关系本身(必然?)是(子)实体的键/标识符的一部分,那么关系就是“识别”的。也就是说,父实体的逻辑键/标识符的属性也是子实体的逻辑键/标识符的一部分。你的例子就是这样吗?激活链接本身不是唯一的吗?几个不同的用户能否“共享”相同的activationlink?听起来很奇怪
请注意,这个定义使这个概念变得肤浅,如果不是完全不适用的话,那么它至少在一个方面没有“多”的关系(例如,您的用户-工作者关系)。谢谢Philip。用户拥有零(在确认链接可以删除后)或一个activationLink。每个用户都有一个特定且唯一的activationLink。3) 工作者和学生是用户的一个子类型。用户必须是学生、工人或学生/工人。仅当用户具有以下类别之一时,该用户才存在。这是强制性的。在我的图表中再次感谢你。用户与激活链接的关系为1:1。activationLink具有表用户的foreignKey,是一个已识别的关系。这是错的吗?