数据库范式
参考 详解数据库的第一范式、第二范式、第三范式、BCNF范式 数据库规范化/范式所解决的问题 数据冗余(信息重复,会造成储存空间的浪费及一些其他问题) 插入异常(如果有限制,导致插入数据时,必须没必要的列也要有值,这种列甚至此时就是没有数据) 删除异常(在某些情况下,当删除一行时,可能会丢失有用的信息,因为这些相对独立的信息没有单独存储到一个表中) 更新异常(冗余信息不仅浪费空间,还会增加更新的难度,想要修改一个信息,结果由于数据冗余,导致需要更新多条记录) 基本概念 首先说明 键字=码字,所以 主键=主码,候选键=候选码...此外也有叫做主关键字,候选关键字的也是一个意思。 主键/码/候选键/候选码 小技巧:假如A是码,那么所有包含了A的属性组,如(A,B)、(A,C)、(A,B,C)等等,都不是码了(因为作为码的要求里有一个“完全函数依赖”) 主属性 非主属性:包含在任何一个码中的属性成为主属性。除了主属性以外的就是非主属性。 超键 能够唯一标识一条记录的属性或属性集。 全码 All-key关系模型的所有属性组组成该 关系模式的 候选码,称为全码。即所有属性当作一个码。若关系中只有一个候选码,且这个候选码中包含全部属性,则该候选码为全码。 函数依赖 部分依赖 传递依赖 范式 最常用的是第一、第二、第三范式。BCNF范式有时要考虑? 第一范式