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关系即可

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值