数据库设计范式

数据库设计的三个参考范式。

现在所给出的三个参考范式值能够说是一种思路,在实际之中不可能完全按照设计范式的要求做。

一、第一范式(单表)

        数据表中每一个列的内容不可再分。现在假设定义一个用户信息表,包含有如下字段:

所以此时联系方式列的内容依然可以再分,这样的设计就不符合于第一设计范式,合理的做法应该如下:

实际上第一范式的核心意义就在于使用常用的数据类型:NUMBER、DATE、VARCHAR2、CLOB


二、第二设计范式(多对多)

数据表中不存在非关键字段对任意一候选关键字段的部分函数依赖。

对于此概念有两个层次的解释:

        1、先通过函数关系来进行描述,现在假设设计一张订单表


        2、函数依赖指的是某几个字段的集合是否可以推倒出其他列的内容

如果要想更好的理解第二范式,那么最好是通过一个实际案例来说明,例如:现在定义一个学生选课系统,每个学生针对课程可以有一个成绩,于是此时按照第一范式设计

三、第三设计范式(一对多)

        数据表之中不存在非关键字段对任意一候选关键字段传递函数依赖。

        现在一个学校有多个学生,如果现在使用第一设计范式,学校信息重复,如果使用第二设计范式,可以描述出一个学校有多个学生,但同时又会描述出一个学生属于多个学校,那么此时就可以使用第三设计范式。

这就是之前一直在讲解的dept----emp关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值