【发布时间】:2012-04-02 18:40:29
【问题描述】:
无法理解识别关系的主要思想:
标识关系是子表中的行的存在依赖于父表中的行。这可能会令人困惑,因为如今为子表创建伪键是一种常见的做法,但不将外键作为子表的父部分的主键。形式上,“正确”的做法是让外键成为子主键的一部分。但逻辑关系是,没有父母,孩子就无法存在。
示例:一个人有一个或多个电话号码。如果他们只有一个电话号码,我们可以简单地将其存储在 Person 列中。由于我们要支持多个电话号码,我们创建了第二个表 PhoneNumbers,其主键包括引用 Person 表的 person_id。
但是,如果 person_id 是主键,那么 Person 怎么能有多个电话号码呢?或者可能 person_id 必须是复杂主键的一部分,不能单独标识表中的项目?
【问题讨论】:
标签: java sql mysql-workbench