Oracle数据库---------------数据库设计范式(第三范式)

关于Oracle数据库的学习记录:

五十二、数据库设计范式(第三范式)
“数据表之中不存在非关键字段对任意候选关键字段的传递函数依赖”
雇员编号  姓名    职位        部门名称   位置      工资
1                张三     经理        技术部      天津       8000
但是,以上的设计里面存在有一个传递的函数依赖,通过张三可以知道他的部门名称,然后通过部门名称可以找到部门位置
范例:要求设计数据表,可以描述出一个学校有多个学生
**第一范式如果要使用的话,一定会出现传递依赖关系
**第二范式可以描述,但是也会存在有:一个学生在多个学校
**使用第三范式设计(一对多关系)
CREATE TABLE school(
        schid                        NUMBER,
        name                        VARCHAR2(50),
        address                     VARCHAR2(200),
        tel                             VARCHAR2(50),
        CONSTRAINT  pk_schid  PRIMARY KEY(schid)
);
CREATE TABLE student(
        sid                              NUMBER,
        sname                         VARCHAR2(50),
        schid                           NUMBER  REFERENCES school(schid)
);
只需要参考dept-emp关系即可

总结:如果要想熟练地掌握数据库的分析与设计能力,是需要积累大量的项目开发经验,你必须知道程序可以做哪些事情,数据库又可以做哪些事情
在实际的开发之中,第三范式一定是最优先考虑的

猜你喜欢

转载自blog.csdn.net/amuist_ting/article/details/80834952