当前位置:首页 » 操作系统 » 数据库关系分解

数据库关系分解

发布时间: 2024-10-19 20:03:30

数据库系统系统原理,关系模式方面问题

Q1:问第三题具体是该如何实现的?

A1:第三题可采用保持函数依赖的分解算法

Q2:第三题问题将R分解成等价的3NF,是不是说R分解出来的所有关系模式都必须是3NF的?

A2:可以说模式分解后的关系模式一定是3NF的,其中:

1.保持函数依赖的分解一定是3NF,但不一定是BCNF。

2.既保持函数依赖又有无损连接性的分解一定是3NF,但不一定是BCNF。

3.具有无损连接性的分解,一定可达到4NF。

Q3:第一范式,第二范式都能理解,那么第三范式是在第二范式的基础上,增加了什么条件?

A3:第三范式是在第一模式的基础上,消除了每一个非主属性与码的传递依赖,比如X→Y,Y→Z,这里就是Z传递依赖于X。

Q4:以R1(Sno, Cno, G)为例,由于(Sno,Cno)-->G,但是并不能确定G就一定不能决定(Sno,Cno),所以R1就是第三范式。这样理解对不对?

A4:以R1(Sno, Cno, G)为例,由于(Sno,Cno)-->G,这里只有(Sno,Cno)决定G这一个函数依赖,此例G完全依赖于(Sno,Cno),并不存在传递依赖,决定因素也只有码(Sno,Cno)一个,所以R1是BCNF范式,自然也是第三范式。(ps:4NF多值依赖这一块我还在理解,如果仅仅R(Sno,Cno,G),F={(Sno,Cno)-->G}这个条件的话我认为是属于4NF的,等我理解了再来补答~)

㈡ 数据库 分解成3NF范式

1:
R((职工号,日期)->日营业额,职工号->部门名,部门名->经理)
候选码:职工号,日期,部门名
2,因为R集合中存在传递函数依赖,会产生冗余数据,所以不是3NF
3NF如下:
R1(职工号,日期,日营业额)
R2(职工号,部门名)
R3(部门名,部门经理)

㈢ 数据库 关系模式 BC → D, C → AF, AB → CE 如何分解成BCNF

我们先来推断一下码;
c->af====>c->a,c->f
ab->ce===>ab->c,ab->e
这样我们得到:ab->a,ab->c,ab->f,ab->e
又因为
bc->d,ab->c
我们是不是能得到ab->d呢,答案是肯定的。所以呢ab作为码就可以了。
根据BCNF定义,可分为:
R1 {A,B,C,E}
R1 {A,B,D,F},如果不对,欢迎指正。

热点内容
班云服务器软件 发布:2024-10-19 22:15:26 浏览:527
mc红石服务器地址介绍 发布:2024-10-19 22:09:00 浏览:163
下载手机JAVA通用版 发布:2024-10-19 22:00:50 浏览:878
linux的串口编程 发布:2024-10-19 21:59:04 浏览:59
医用棉球存储 发布:2024-10-19 21:44:44 浏览:627
安卓手机上的耳机在哪里 发布:2024-10-19 21:41:26 浏览:948
经典网络云服务器 发布:2024-10-19 21:41:26 浏览:974
儿童编程教育学校 发布:2024-10-19 21:40:36 浏览:122
如何用系统u盘更改密码 发布:2024-10-19 21:39:04 浏览:202
c语言程序总是从的函数开始执行 发布:2024-10-19 21:38:23 浏览:37