gpt4 book ai didi

java - 识别和非识别关系

转载 作者:行者123 更新时间:2023-12-02 07:55:08 25 4
gpt4 key购买 nike

无法理解识别关系的主要思想:

识别关系是指子表中的行是否存在取决于父表中的行。这可能会令人困惑,因为现在的常见做法是为子表创建伪键,但不为子表主键的父部分创建外键。正式地,执行此操作的“正确”方法是使外键成为子主键的一部分。但逻辑关系是,如果没有父级,子级就无法存在。

示例:一个人有一个或多个电话号码。如果他们只有一个电话号码,我们可以简单地将其存储在 Person 的一列中。由于我们想要支持多个电话号码,因此我们创建了第二个表 PhoneNumbers,其主键包括引用 Person 表的 person_id。

但是,如果 person_id 是主键,那么 Person 如何可以拥有多个电话号码呢?或者可能的person_id必须是复杂主键的一部分并且不能单独识别表中的项目?

最佳答案

Or possible person_id must be part of complex primary key […]?

正是如此。在您引用的示例中,PhoneNumbers 的主键可能类似于 (person_id, number)。这意味着没有两个记录 PhoneNumbers 可以具有相同的 person_id number;他们可以拥有相同的 person_id,也可以拥有相同的 number,但不能同时拥有两者。 (换句话说,person_idnumber 一起“唯一标识”PhoneNumbers 中的一条记录。)

关于java - 识别和非识别关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9750514/

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