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,是一个已识别的关系。这是错的吗?