SQL范式设计

六种范式

从低到高分别是: 1NF(第一范式), 2NF(第二范式), 3NF(第三范式), BCNF(巴斯-科德范式), 4NF(第四范式), 5NF(又称完美范式).

数据库的范式设计越高阶, 冗余度越低. 高阶的范式一定符合低阶范式的要求. 

一般使用 3NF.

1NF: 数据库表中的任何属性都是原子性的, 不可再分. 

2NF: 数据表里的非主属性都要和这个数据表的候选键有完全依赖关系. 

3NF: 在满足 2NF 的同时, 数据表中的非属性与候选键不存在传递依赖性. 

范式的定义会使用到主键和候选键(均可唯一标识元组) 数据库中的键由一个或者多个属性组成. 

超键: 唯一标识元组的属性集.

候选键: 如果超键不包括多余的属性, 那么这个超键就是候选键.

主键: 用户可以从候选键中选择一个作为主键.

外键: 如果数据表R1中的某属性集不是R1的主键, 而是另一个数据表R2的主键, 那么这个属性集就是数据表R1的外键.

主属性: 包含在任一候选键中的属性称为主属性.

非主属性: 与主属性相对, 指的是不包含在任何一个候选键中的属性. 

通常将候选键称之为"码", 主键称为"主码".

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次...
    海边的蜗牛ng阅读 2,315评论 0 2
  • 范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出...
    42c64edf12e9阅读 1,054评论 0 0
  • 数据字典 数据库系统中存放三层结构定义的数据库称为数据字典(DD),对数据库的操作都要通过DD才能实现。DD系统中...
    panda_say阅读 1,137评论 0 6
  • 数据库设计范式及其意义和不足 补充:现在大型项目倾向于反范式设计,得益于大容量硬盘的白菜价和计算机的性能提升,表的...
    七枷琴子阅读 2,857评论 0 1
  • 数据库开发规范1. 数据库命名规范前缀对象前缀命名: 前缀命名一般用小写表的前缀: 业务模块组名前缀存储过程前缀:...
    PowerYangSoft阅读 2,639评论 0 8