一、关系的候选码
候选码(Candidate Key):能唯一标识关系中元组的一个属性或属性集
性质:唯一性,最小性
二、关系的主码和外码
主码(Primary Key):从多个候选码中选择一个作为查询、插入或删除元组的操作变量,被选用的候选码称为主关系码(主键,主码,关系键,关键字)
每个关系必定有且仅有一个主码,选定后不能重复!
相关概念
主属性(Prime Attribute):包含在主码中的各个属性称为主属性
非主属性(Non-Prime Attribute):不包含在任何候选码中的属性称为非主属性(或非码属性)
全码:所有属性的组合是关系的候选码
超码:包含候选码的属性集合
外码(Foreign Key):如果关系R2的一个或一组属性X不是R2的主码,而是另一个关系R1的主码,则该属性或属性组X称为关系R2的外部关系键或外码,并称R2为参照关系(Referencing Relation),关系R1称为被参照关系(Referenced Relation)
被参照关系的主码和参照关系的外码必须定义在同一个域上
三、关系完整性
1、概述
为了维护关系数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这些约束条件实际上是现实世界的要求。任何关系在任何时刻都要满足这些语义约束
2、三类完整性约束
实体完整性:必须满足的性质
定义:主码的值不能为空或部分为空
参照完整性:必须满足的性质