Oracle之数据库设计的三大范式

 

1、第一设计范式:数据表中的列不可在分

--列子
CREATE TABLE 用户表(
    编号    NUMBER,
    地址    VARCHAR2(200)
);
用户表中的地址不明确,还有可能是手机,email,住址,省份。。。。。。等

2、第二设计范式:数据表中不存在非关键字段对任意一候选关键字段的部分函数依赖

--列子
CREATE TABLE 订单表(
    单价    NUMBER,
    数量    NUMBER,
    总价    NUBMER
);
订单表存在函数关系,单价*数量=总价。
电影的出版公司+出版时间+人物=导演
出版时间+人物≠导演
函数依赖:指的是某几个字段的集合是否可以推倒出其他列的内容。
第二范式:多对多。

3、第三设计范式:数据表中不存在非关键字段任意一候选关键字段传递函数依赖
emp和dept表中:利用编号和姓名可以确定一个雇员的部门,通过部门名称可以找到部门位置。这个算一个传递函数依赖。

 


总结:三个设计范式只是一个设计初的思考方式。但是在实际开发中,这三个设计范式必须打破。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值