所以,我已经在 stackoverflow 上阅读了很多答案,但我仍然对其整个概念感到困惑。具体来说,我已经阅读了这篇文章(包括它引用的所有文章),但似乎无法很好地掌握这个概念(或者可能是我在基数(n:m 等)和身份之间的混淆):
我的问题是:我知道识别关系意味着子实体的主键必须包含其外键,而非识别关系则相反(这是正确的吗?)。现在,这对我来说似乎有点太“前瞻性”了?在其中一个链接的其中一条评论中也说了同样的话。我怎样才能“退后一步”并真正看到哪些关系属于哪个身份?
例如,我有两个困境:
job_title
(父母,1)到employee
(孩子,1..*)。我的想法是否正确,因为 job_title 是一个查找表,它必须是一个非识别关系?或者说“没有职称就不能存在员工,因此它必须是识别”会更准确吗?或者是定义该场景的关系?employee
toemployee_equipment
(m:n 基数之间的桥接实体) toequipment
。现在,我读到这必须是employee_equipment 双方的识别关系。但是,如果员工不需要设备怎么办?可以有一个可选的识别关系吗?
我想我真的在寻找一种方法来确定应该属于哪些身份表,而不考虑主键/外键,或者任何与此相关的真正技术性的东西。
任何帮助将非常感激!