Mysql 难以确定是否确定关系
我读过这个问题: 但我还是不太确定。。。 我有三张桌子Mysql 难以确定是否确定关系,mysql,identification,identifying-relationship,Mysql,Identification,Identifying Relationship,我读过这个问题: 但我还是不太确定。。。 我有三张桌子 使用者 物体 照片 用户可以拥有许多对象,也可以为每个对象发布许多图片。 我的直觉告诉我这是一种识别关系,因为我需要objects表中的userID和pictures表中的objectID 还是我错了?另一个主题中的解释仅限于理论上解释数据库在编码后的解释方式,而不是对象在现实生活中的连接方式。在考虑如何建立数据库时,我有点困惑于如何决定识别还是不识别。对我来说,两者听起来都像是识别关系。如果您听说过术语一对一或一对多和多对多,一对关系是识
还是我错了?另一个主题中的解释仅限于理论上解释数据库在编码后的解释方式,而不是对象在现实生活中的连接方式。在考虑如何建立数据库时,我有点困惑于如何决定识别还是不识别。对我来说,两者听起来都像是识别关系。如果您听说过术语一对一或一对多和多对多,一对关系是识别关系,而多对多关系是非识别关系
- 如果子对象标识其父对象,则这是一种标识关系。在你给出的链接中,如果你有一个电话号码,你知道它属于谁(它只属于一个)
- 如果子项未标识其父项,则为非标识关系。在链接中,它提到了国家。将状态视为表中表示情绪的一行。“快乐”不是指某个人,而是指很多人
- 物理地址是一种不可识别的关系,因为许多人可能居住在一个地址。另一方面,电子邮件地址(通常被认为)是一种识别关系
- 社会保险号码是一种身份关系,因为它只属于一个人
- Youtube视频上的评论可以识别关系,因为它们只属于一个视频
- 一幅画的原作只有一个所有者(可识别),而许多人可能拥有这幅画的重印品(不可识别)
另一方面,尽管一个人可能有多个电话号码,但电话号码可以存在,而不需要一个人的所有权。在这种情况下,拥有电话号码的人是一种非键或非标识关系,因为电话号码可以存在,而与拥有者无关(因此,电话号码拥有者可以为null,而在订单行项目示例中,订单标题标识符不能为null) NickC说:一对关系是识别关系,多对多关系是非识别关系 我觉得这个解释完全错了。你可以:
- Ono-to-One非识别关系
- 一对多非识别关系
- 一对一识别关系
- 一对多识别关系
- 多对多识别关系
customer
、products
和feedback
。所有这些表格都基于customer
表格中存在的customer\u id
。因此,根据NickC定义,不应该存在任何类型的多对多识别关系,但是在我的例如,您可以清楚地看到:只有当相关产品存在并且已经被客户购买时,反馈才可能存在,因此客户、产品和反馈都应该得到识别
你可以看一看,解释如何在MySQL工作台上添加外键。Mahdi,你的直觉是正确的。这是一个重复的问题,这个投票结果不正确或不完整。 请看这里的前两个答案: 认同与不认同与身份无关。 简单地问问你自己,孩子的记录在没有父母的情况下能存在吗?如果答案是肯定的,那么它是不可识别的 核心问题是子级的主键是否包含父级的外键。在非标识关系中,子级的主键(PK)不能包含外键(FK) 问你自己这个问题
- 子记录是否可以在没有父记录的情况下存在