【发布时间】:2023-03-26 04:50:01
【问题描述】:
即有一个表只有 1 个主键(没有复合键)。默认是2NF吗?假设已经是1NF
【问题讨论】:
-
Patno,PatName,appNo,time,医生说 Patno 是主键。这不是2NF吗?没有部分关键依赖关系。
标签: database primary-key database-normalization relational
即有一个表只有 1 个主键(没有复合键)。默认是2NF吗?假设已经是1NF
【问题讨论】:
标签: database primary-key database-normalization relational
http://en.wikipedia.org/wiki/Second_normal_form
在您的示例中,PatNo 不是主键,因为 PatNo 可能会看到不止一位医生,或者拥有多个 appNo。
【讨论】:
简单地说,一个表在 2NF 中当且仅当它是
这与说具有单列主键的表在 2NF 中并不完全相同。这样的表
person_id full_name phones
--
-43 Ericka Cimini 555-222-1515
555-232-6100
-18 Julio Martina 555-123-4567
有一个单列主键(“person_id”),但它不在 1NF 中。 (详见wikipedia。)因为它不在1NF中,所以不可能在2NF中。
【讨论】:
我想现在明白了。
在我的示例中,如果有超过 1 位医生,那么医生也部分取决于患者编号,因为医生必须看到正确的患者。这只是令人困惑,因为医生也通过 appNo 传递依赖于 patNo。
【讨论】:
也许这个迟到的回复可能对其他人有所帮助。我们被教导(可能是错误地)不相关的数据也属于 2NF。所以animal(phylum, class, order, family, genus, species, greek_phoneme) 不会在 2NF 中,因为希腊音素与 Animals 无关。
【讨论】: