三范式

第一范式(1NF):

1、有关键字;

2、列不可分;

即不存在冗余数据,但实际情况实际分析。

 

第二范式(2NF):

当一个表里有多个字段作为主键时,非主键字段不能依赖于部分主键,即不能存在部分依赖。

符合第二范式的数据库表,消除了数据冗余、重新异常、插入异常和删除异常。

例如表结构如下:

aa_id  aa_name  host_id  host_name  user_name password

关键字<aa_id、host_id>

因为存在: 

aa_name  依赖aa_id

host_name  user_name password 依赖host_id 

所以不满足2NF

拆分成三个表:

aa:aa_id  aa_name

hosts:host_id  host_name  user_name password

installaa:aa_id  host_id 

 

第三范式(3NF):

在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系:
关键字段 → 非关键字段x → 非关键字段y

例如单一关键字host_id 表:

host_id host_name room_number address phone

该表符合2NF

但host_id->room_number ->(address phone)

不符合3NF

拆成两个表:

host:host_id host_name room_number

room:room_number address phone

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值