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

xiaoxiao2021-02-28  87

 

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

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

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

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

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

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

转载请注明原文地址: https://www.6miu.com/read-85260.html

最新回复(0)