Oracle——三大范式、表关系

三大范式

​ 范式就是符合某种设计要求的总结。

第一范式

第一范式:字段是原子性的,不可分。

​ **1NF的定义为:符合1NF的关系中的每个属性都不可再分。**下表所示的情况,就不符合1NF的要求。

在这里插入图片描述

​ 1NF是所有关系型数据库的最基本要求,也就是说,只要在RDBMS中已经存在的数据表,一定是符合1NF的。如下表所示:

第二方式

第二范式:有主键,非主键字段依赖主键。

​ 例如: 对于下仅仅符合1NF的下表

在这里插入图片描述

​ 仍会存在一些问题:

数据冗余过大: 学号、姓名、系名、系主任这些数据重复多次。每个系与对应的系主任的数据也重复多次

插入异常: 假如学校3月份新建了一个系,等到8月份才招生,那么无法将系名与系主任的数据单独地添加到数据表中去

删除异常: 假如将某个系中所有学生相关的记录都删除,那么所有系与系主任的数据也就随之消失了

修改异常: 假如李小明转系到法律系,那么为了保证数据库中数据的一致性,需要修改三条记录中系与系主任的数据

​ 改进后如下:

在这里插入图片描述

第三方式

​ 仅仅符合2NF的要求,很多情况下还是不够的,原因在于仍然存在非主属性(系主任)对于码(学号)的传递依赖。改进后如下:

在这里插入图片描述

表关系

一对一

在这里插入图片描述

一对多

在这里插入图片描述

多对多

在这里插入图片描述

例子

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值