数据库范式

这段时间在设计财务人事以及资金控制系统数据库的设计,小公司啥都得自己干~所以开始研究3大范式 以下是我自己的总结。
数据库范式2
表一
(姓名 年龄 科目 分数 科目学分)
王 19 数学 100 5
王 19 物理 90 3
王 19 化学 60 4

满足第二范式!!!

表一
姓名 科目 分数
王 数学 100
王 物理 90
王 化学 60

表二
姓名 年龄
王 19

表三
科目 科目学分
数学 5
物理 3
化学 4




1.数据库冗余
2.更新异常 要将所有的19都改去
3. 插入异常 加入我要新增科目 ,还没有学生选科目,由于主键约束(姓名) 导致科目无法插入!


数据库范式3
假定学生关系表为Student(学号, 姓名, 年龄, 所在学院, 学院地点, 学院电话),关键字为单一关键字"学号",因为存在如下决定关系:
  (学号) → (姓名, 年龄, 所在学院, 学院地点, 学院电话)
  这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系:
  (学号) → (所在学院) → (学院地点, 学院电话)


说白了:第二范式就是与主键同级字段的重复,造成的不符合第二范式(学号 姓名)
第三范式就是与主键下一级字段造成的重复(学号 所在学院 学院电话)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值