一、超码、候选码、主码
1.超码:一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一的标识一个实体。”学号“是超码,”学号“+”姓名“也是超码。
2.候选码:若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何、子集都不能再标识,则称该属性组为(超级码)候选码。例如:在学生实体中,”学号“是候选码。所以,超码包括候选码。
3.候选码中出现的属性成为主属性,其他为非主属性。
4.一个关系中可以有多个候选码,只需选其中之一作为主码,主码里包含的属性叫做主属性。
5.超码包括候选码,候选码包括主码。
二、1NF、2NF、3NF、BCNF、4NF
范式是符合某一种级别的关系模式的集合。
1NF:对关系模式的基本要求,每个属性不可再分
2NF:满足1NF,消除了非主属性对码的部分函数依赖。
3NF:满足2NF,消除了非主属性对码(候选码)的传递依赖
BCNF:满足1NF,消除了每个属性对码的传递依赖。
4NF:满足BCNF,消除了属性之间的非平凡且非函数依赖的多值依赖。
完全依赖
X→Y 对X的真子集X1 都有Y不依赖与X1则为完全依赖
非完全依赖
X→Y 存在对X的真子集X2 有Y依赖与X2则为完全依赖
平凡的函数依赖
X→Y,但Y 包含于 X则称X→Y是平凡的函数依赖。
非平凡函数依赖
X→Y,但Y 不包含于 X则称X→Y是非平凡的函数依赖。