数据库设计_2019-12-06

2019-12-17  本文已影响0人  ppzbreeze

感觉这是个相当独立的部分,写一起不太好,但是又很重要

三个范式1NF,2NF,3NF

定义感觉有点复杂,没记太住,简单点吧
把大象装冰箱总共分这么几步

首先确定数据库涉及的最小单元,及相互依赖关系
1NF

就是分解,这步最简单,上图就是分解后的

2NF

这步理论上是将存在部分依赖关系的属性剥离,上图中,明显得出学号,课名,分数三个属性是部分依赖关系,将其单独列成表


表1
表2
3NF

最后一步是去除传递函数依赖,主要是修正图2中几个属性的依赖,明显得出学号,姓名是一组,二者理论相等,但学号更适合做主键,系名和系主任也是理论相等,不过出于便于理解的角度考虑,可以认为系主任依赖于系名,那就表明系主任->系名->学号,构成传递函数依赖,消除它,拆成学号,姓名,系名和系名,系主任两个表如下图,
不过要是按学号->姓名和学号->系名->系主任,也是可以的,只是感觉有点别扭


表1 表2 表3
实践

这次实际情况来说,就比较简单了客户->鸽子->轨迹->数据点,全部是传递函数依赖,那自然要直接拆3个表


齐活
上一篇下一篇

猜你喜欢

热点阅读