数据库的设计
多表之间的关系:
一对一,一对多,多对多(多对多关系实现需要用第三张中间表,中间表至少包含两个字段这两个字段作为外键)
范式:第一范式(1NF),2NF,3NF,巴斯-科德范式(BCNF),第四范式,第五范式(完美范式)
要遵循后面的范式要先遵循前面的范式
范式越高,数据库冗余越小
第一范式:每一列都是不可分割的
第二范式:满足第一范式 非码属性必须完全依赖于候选码(消除部份依赖)
函数依赖:A(可以是一个属性也可以是属性组)唯一确定B(学号--姓名)
(学号, 课 程---分数)
完全函数依赖:A是一个属性组,B由A中所有属性共同决定 (学号,课程)--分数
部分函数依赖:B由A属性组中某一些值确定即可
传递依赖:A唯一确定B,B唯一确定C,则C传递依赖于A
码:被其他所有属性完全依赖,则称这个属性为该表的码
主属性:码属性组中所有属性;非主属性:除过码属性的属性
第三范式:在2NF的基础上,消除传递依赖,任何非主属性不依赖于其他非主属性