目录:
定义-主键是什么意思?
主键是特殊的关系数据库表列(或列的组合),用于唯一标识所有表记录。
主键的主要功能是:
- 每个数据行必须包含唯一值。
- 它不能包含空值。
主键可以是现有的表列,也可以是数据库根据定义的顺序专门生成的列。
技术百科解释了主键
主键概念对于有效的关系数据库至关重要。 没有主键和密切相关的外键概念,关系数据库将无法工作。
几乎所有的人在日常生活中经常但不知不觉地处理主键。 例如,通常为学生分配唯一的身份(ID)号码,而所有美国公民都拥有政府分配的且具有唯一身份的社会安全号码。
例如,数据库必须保存商业银行存储的所有数据。 其中两个数据库表包括:CUSTOMER_MASTER,用于存储基本和静态客户数据(名称,出生日期,地址,社会安全号码等);以及ACCOUNTS_MASTER,用于存储各种银行帐户数据(帐户创建日期,帐户类型,提款限额或相应的帐户信息等)。
为了唯一地标识客户,选择一列或多列组合以确保两个客户永远不会具有相同的唯一价值。 因此,某些列会被立即删除,例如姓氏和出生日期。 一个好的主键候选对象是用于指定社会保险号的列。 但是,某些帐户持有人可能没有社会安全号码,因此消除了此列的候选资格。 下一个逻辑选项是使用列的组合,例如将姓氏添加到电子邮件地址的出生日期,从而导致冗长且繁琐的主键。
最好的选择是在名为CUSTOMER_ID的新列中创建一个单独的主键。 然后,每次添加客户时,数据库都会自动生成一个唯一编号,从而确保唯一标识。 创建此键后,该列被指定为创建表的SQL脚本内的主键,并且所有空值都将自动被拒绝。
与每个CUSTOMER_ID关联的帐号可以安全地处理客户查询,还可以说明为什么主键提供表中最快的数据搜索方法。 例如,在进行银行查询时,可能会要求客户提供其姓氏。 常见的姓氏(例如Smith)查询可能会返回多个结果。 查询数据时,利用主键唯一性功能可以保证一个结果。
