疯狂编程网

  • 首页
  • 后端
    • GOLANG
    • PHP
  • 前端
  • 客户端
  • 服务器
  • AIGC
  • 开发工具
  • 代码人生
  • 关于本站
    • 联系我们
    • 免责声明
  1. 首页
  2. 服务器
  3. MYSQL
  4. 正文

0. 数据库设计规范化

2023年5月10日 306点热度 0人点赞 0条评论
目录
  • 数据库规范化
  • 数据库完整性

数据库规范化

  • 第一范式: 字段不可再分

1NF(第一范式)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

  • 第二范式: 非主键字段完全依赖主键字段

第二范式(Second Normal Form,2nd NF)是指每个表必须有主关键字(Primary key),其他数据元素与主关键字一一对应。通常称这种关系为函数依赖(Functional dependence)关系,即表中其他数据元素都依赖于主关键字,或称该数据元素惟一地被主关键字所标识。

  • 第三范式: 消除传递函数依赖(非主属性->非主属性->主键)

第三范式(Third Normal Form,3rd NF)就是指表中的所有数据元素不但要能唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其他的函数关系。

  • BCNF: 不会,一般而言,不以数据库为主要方向的话,自用数据库3NF足够了

所有非主属性对每一个候选键都是完全函数依赖; 所有的主属性对每一个不包含它的候选键,也是完全函数依赖;没有任何属性完全函数依赖于非候选键的任何一组属性。


数据库完整性

实体完整性:主键

实体完整性这项规则要求每个数据表都必须有主键,而作为主键的所有字段,其属性必须是独一及非空值。

参照完整性:外键

若属性或属性组F是基本关系R的外键,它与基本关系S的主键Ks相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须为:
(1)空值,F的每个属性值均为空值。
(2)S中某个元组中的主键值(主码值)

image-20220711202559587

用户定义完整性:各种列级约束

image-20220711202729639

A

标签: mysql
最后更新:2023年5月10日

大明

靠写代码养家的开发者。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 疯狂编程网. ALL RIGHTS RESERVED.

京ICP备2022013580号-1