| 概念 | 解释 |
|---|---|
| 码 | 唯一标识数据库中每一行的数据的属性集合。
|
| 候选码 | 可以唯一标识数据库中每一行的数据的码。
一个表可以有多个候选码。
|
候选码和码的专业解释
在关系数据库中,候选码是关系模式中最小的一组属性,它可以唯一标识该关系中的每一行。
候选码是确保关系中数据完整性的关键元素。
码是可以唯一标识关系中每一行数据的属性集合。
与候选码类似,码也可以用来确保关系中数据的完整性。
候选码和码之间的主要区别在于,候选码是一个极简集合,而码可以是候选码或包含候选码的任意属性集合。
简而言之,每个候选码都是一个码,但并非每个码都是一个候选码。
例子
考虑一个包含以下属性的表:
id
姓名
地址
电话号码
在这个表中,以下属性集合都是候选码:
{id}
{姓名, 地址}
{电话号码, 地址}
然而,以下属性集合是码,但不是候选码:
{id, 姓名}
{姓名, 地址, 电话号码}
因为它们包含了候选码,但它们不是极简的。
选择正确的候选码对于确保数据库的完整性和性能至关重要。
候选码应选择为:
唯一:它应该可以唯一标识每行。
极简:它应该是唯一标识行的最小属性集合。
稳定:它不应该随着时间的推移而改变。
![](https://tse1.mm.bing.net/th/id/OIP.hcT6BmgbAvU8UcIXfjSsVgHaDb?w=.jpg)