gpt4 book ai didi

mysql - 从编程角度识别和非识别关系

转载 作者:行者123 更新时间:2023-11-28 23:47:14 26 4
gpt4 key购买 nike

因此,我一直在阅读有关数据库设计中识别和非识别关系的问题和答案。

我明白,如果没有父行就无法逻辑上识别子行,那么它就是一种识别关系。

我想了很久。从现实生活的逻辑角度来看,这是完全有道理的。但是从数据库引擎的技术角度来看,我不太明白它有什么区别。

那么,如果我将子行定义为 not-null 并为父行创建一个限制性外键,而不是将父行的 id 标识为子行主键的一部分,这会有什么不同呢?

最佳答案

在关系/SQL 数据库中,它没有实际区别。识别/非识别概念存在于 ER 建模中,主要作为解释业务领域语义方面的一种方式,即关于首选识别方式和实体之间强制关系的业务规则。

一些 ER 建模者还存在一种做法,即引用属性(即“外键”)仅在它们也需要用于标识目的(即“主键”属性)时才显示在图表上。当引用“无法识别”时,理论认为它们是由关系线的存在暗示的,根本不需要在引用实体中显示。现在似乎很少遵守这种约定(至少根据我的经验),但它可以解释为什么会产生所谓的识别关系的重要性。

关于mysql - 从编程角度识别和非识别关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33398753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com