数据库设计范式:
什么是范式:满足一些规范的来优化数据存储方式,这种规范可以叫做范式。
三大范式:
第一范式:当关系模式R的所有属性都不能分解为更基础的数据单位时,称R满足第一范式。
第二范式:如果关系模式R满足第一范式,并且R得所有非主属性都完全依赖于R的每一个候选关键属性,称R满足第二范式,简记为2NF。
第三范式:设R是一个满足第一范式条件的关系模式,X是R的任意属性集,如果X非传递依赖于R的任意一个候选关键字,称R满足第三范式,简记为3NF。
超关键字:
二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。
候关键字:
如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字。候选关键字既能唯一地确定记录,它包含的字段又是最精炼的。也就是说候选关键字是最简单的超关键字。
主关键字:
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。
例子:
比如在一张成绩表中,有字段:学号,科目,成绩,任课老师
学号+科目+任何其他字段就是超关键字,但是如果去掉学号或者科目中的一个就无法确定成绩,所以学号和科目是两个候选关键字。
只有知道了学号和科目你才能确定一条记录,所以学号和科目两个字段组成了主关键字。