【MySQL】范式与反范式

一、数据库范式

1、第一范式(1NF):

无重复列,即表中每一列都是不可分割的,不满足第一范式的数据库不是关系型数据库
例子:联系人表(用户名,用户信息)

2、第二范式(2NF):

不存在仅依赖于关键一部分的属性(不能存在部分依赖于主键)
例子:选课关系(学号,课程名称,成绩,学分),学号与课程名称是主键,其不满足2NF,因为课程名称->学分

3、第三范式(3NF):

属性不传递依赖于其他非主属性,非主键必须直接依赖于主键而不能传递依赖
例子:学生表(学号,姓名,学院编号,学院名称),学号是主键,姓名、学院编号、学院名称都完全依赖于学号,满足2NF,但不满足3NF,因为学院名称直接依赖的是学院编号 ,它是通过传递才依赖于主键.

4、巴斯-科德范式(BCNF)

5、第四范式 (4NF)

6、第五范式(5NF)

7、zabbix流量监控图

在数据库的操作中DQL的比例要远远大于DML的比例

二、反范式

没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是: 在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,减少了查询时的关联,提高查询效率。

DDL(Database Defination Language):create、alter等
DML(Database Manipulation Language):insert、update、delete等
DCL(Database Control Language):grant、revoke等
DQL(Database Query Language):select

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值