文档库 最新最全的文档下载
当前位置:文档库 › 数据库设计理论

数据库设计理论

数据库设计理论
数据库设计理论

数据库的设计理论

第一节,关系模式的设计问题

一概念:

1. 关系模型:用二维表来表示实体集,用外键来表示实体间的联系,这样的数据模型,叫做关系数据模型。

关系模型包含内涵和外延两个方面:

外延:就是关系或实例、或当前值。它与时间有关,随时间的变化而变化。(主要是由于元组的插入、删除、修改等操作引起的)

内涵:内涵是与时间独立的,它包括关系属性、以及域的一些定义和说明。还有数据的各种完整性约束。

数据的完整性约束分为静态约束和动态约束。

静态约束包括数据之间的联系(称为数据依赖),主键的设计和各种限制。

动态约束主要定义如插入、删除和修改等操作的影响。

通常我们称内涵为关系模式。

2. 关系模式:是对一个关系的描述,二维表的表头那一行称为关系模式,又称为表的框架或记录类型。

关系模式的定义包括:模式名、属性名、值域名和模式的主键。关系模式仅仅是对数据特征的描述。

关系模式的一般形式为R ( U , D , DOM , F )

R 是关系名。

U 是全部属性的集合。

D 是属性域的集合。

DOM 是U 和D 之间的映射关系,关系运算的安全限制。

F 是属性间的各种约束关系,也称为数据依赖。

关系模式可以表示为:

关系模式(属性名1,属性名2 ,……,属性名n )

示例:学生(学号,姓名,年龄,性别,籍贯)。

当且仅当U 上的一个关系r 满足 F 时,r 就称为关系模式R(U,F)上的一个关系,R是关系的型,r 是关系的值,每个值称为R 的一个关系。

关系数据库模式:

一个数据库是由多个关系构成的。

一个关系数据库对应多个不同的关系模式,关系数据库模式是一个数据库中所有的关系模式的集合。它规定了数据库的全局逻辑结构。

关系数据库模式可以表示为:

S = { Ri < Ui , Di , DOM , Fi > | i = 1,2,…, n }

3. 关系子模式

关系子模式是用户所用到的那部分数据的描述。

外模式是关系子模式的集合。

4. 存储模式

存储模式及内模式。

关系数据库理论的主要内容:

(1)数据依赖。数据依赖起着核心的作用。

(2)范式。

(3)模式的设计方法。

如何设计一个合理的数据库模式:

(1)与实际问题相结合。

泛关系模式:把现实问题的所有属性组成一个关系模式

泛关系:泛关系模式的实例称为泛关系。

泛关系模式中存在的问题:

a 数据冗余

b 更新异常,

c 插入异常

d 删除异常。

(2)数据库设计理论:

借助近代代数工具,把抽象的数据理论同实际问题结合起来。

理论基础:数据依赖(数据的相关性)。

二,关系模式及其评价。

1 . 关系数据库设计的核心:关系模式的设计。

2 . 关系模式的设计:

按照一定的原则,从数量众多的而又互相关联的数据中构造出一组即能较好的反映现实世界,而又有良好的操作性能的关系模式。

3. 关系模式的优劣、评价、改进:

冗余度高

修改困难

插入问题

删除问题

这些问题的产生原因是:属性间的约束关系太强,即数据间的依赖关系太强。

解决的方法:将关系模式分解为一组较理想的关系模式。

第二节函数依赖

一,函数依赖Functional Dependency

函数依赖是数据依赖的一种,反映属性或属性之间的依存、互相制约的关系,既反映现实世界的约束关系。

二,函数依赖的定义

设R ( U ) 是属性U 上的一个关系模式,X 和Y 均为U = { A1,A2 ,…An} 的子集,r 为R 的任一关系,如果对于r 中的任意两个元组u 和v ,只要有U[X] = V[X] , 就有U[Y] = V[Y] ,则称X 函数决定Y ,或称Y 函数依赖于X,记作:

X →Y 。

三,函数依赖的语义范畴:

1. 语义:数据所反映的现实世界事务本质的联系。

2.根据语义来确定函数依赖型的存在与否。

3.函数依赖反映属性之间的一般规律,必须在关系模式F 的任何一个关系r 都满足约束条件。

回顾概念

键:由一个或多个属性组成。

设R (U) 为一个关系模式,F 为R 的函数依赖集,X 为属性集U的子集。

(1)超键:能唯一标识元组的属性集。

如果X →U ∈ F ,则X 是R 的超键。

(2)候选键:不含有多余属性的超键

a X 是R 的超键。

b 且不存在X 的真子集Y ,使得Y →U ∈F+

则称X 是R 的候选键

(3)主键:用户选作元组标识的一个候选键。

(4)主属性:包含任何一个候选键的属性。

(5)非主属性:不包含任何一个候选键的属性。

(6)外键:如果关系R 的某一个属性组不是该关系本身的候选键,而是另一个关系的候选键,则称该属性组是R的外来关键码,或称为外键(外码)。

如何确定候选码?

(1)如果有属性不在函数依赖集中出现,那么它必定包含在候选码中。

(2)如果有属性不在函数依赖集中任何函数依赖的右边出现,那么它必定包含在候选码中。

(3)如果该属性或属性组能唯一标识元组,则它就是候选码。

根据对数据库的语义描述,确定其中候选码,同时还可以写出该关系模式的函数依赖集。

四,函数依赖的关系

属性间的关系决定函数依赖关系。

设X 和Y 都是U 的子集:

1 X 和Y 的联系是1 :1 则X →Y , Y →X .

2 X 和Y 的联系是M :1 ( M > 1 ) 则X →Y .

3X 和Y 的联系是M :N ( M ,N > 1 ) 则,X、Y之间不存在函数依赖。

五函数依赖图:FD 图。

六完全函数依赖和部分函数依赖

在R (U) 中,如果X →Y ,并且对于X 的任何真子集X ` ,都不存在X` →Y ,则称Y 完全依赖于X ,记作

X →Y ( 箭头上加个F 表示FULL 完全函数依赖) 否则,如果X →Y ,且X 中存在一个真子集X`, 使得X` →Y ,则Y 部分函数依赖X 。

X →Y ( 箭头上面加一个P,表示PART,部分函数依赖) 七平凡函数依赖和非平凡函数依赖

设X , Y 均为某关系的属性集,并且X →Y ,

若Y 包含于X ,则称X →Y 为平凡函数依赖(Y 是X 的子集)。

若Y 不包含于X ,则称X →Y 为非平凡函数依赖(Y不是X的子集)

第三节函数依赖的蕴涵与公理体系

一,函数依赖的逻辑蕴含

定义:设有关系模式R ( U ),及其函数依赖集F,如果对于R 的任何一个满足F 的关系r ,函数依赖X →Y 都成立,则称 F 逻辑蕴含X →Y 或称X →Y 可以由 F 推出,记作:

例题:关系模式R = ( A, B, C ) ,函数依赖集 F = { A→B , B→C }

则 F 逻辑蕴含A→C

记作:

二,F 闭包

定义:若 F 为关系模式R ( U ) 的函数依赖集,我们把 F 以及所有被 F 逻辑蕴含的函数依赖的集合称为 F 的闭包,记作F+。

F+ = { X→Y | F ╠X→Y }

三,Armstrong 公理

F1 自反律:若Y 包含于X ,则X →Y (Y 是X 的子集)

F2 增广律:若X→Y为F所蕴含,则XZ→YZ 在R上成立。

F3 传递律:若X→Y,Y→Z在R上成立,则X→Z 在R上成立。

F4 伪增律:Z是W的子集,X→Y为F所蕴含,则XW→YZ 在R上成立。

F5 伪传律:若X→Y,YW→Z为F所蕴含,则XW→Z 在R 上成立。

F6 合并律:若X→Y , X→Z 为F所蕴含,则X→YZ 在R 上成立。

F7 分解律:若Z 是Y的子集,X→Y为F所蕴含,则X→Z在R上成立。

四,属性集的闭包

定义:若 F 为关系模式R ( U ) 的函数依赖集,X 是U 的子集,则由Armstrong 公理推导出来的所有X →Ai 所形成的属性集{ Ai | i=1,2,…,n } 称为X 关于 F 的闭包记为X +。

属性集闭包的举例:

设:R = ABC , F = { A→B, B→C } 当X分别是 A , B , C ,时,求X+

解:当X = A 时,X+ = ABC

当X = B 时,X+ = BC

当X = C 时,X+ = C

定理:X →Y 能根据Armstrong 推理规则导出的充要条件是:

只要Y 是X+的子集,则X →Y 。

只要X →Y ,则Y 一定是X+的子集。

定理:Armstrong 公理的完备性定理

函数依赖推理规则系统(自反律、增广律、传递律)是完备的。

函数依赖公理体系

Armstrong 公理体系

由于Armstrong公理的完备性,Armstrong公理及其推论构成了一个完备的逻辑推理体系,称为Armstrong公理体系:

A ,一套形式推理规则。

B ,利用这些推理规则可以求出给定关系模式的关键字。

C ,而且可以从关系模式的一组已知函数依赖出发,求得它蕴含的所有函数依赖。

D ,或者对于给定的F 和X →Y ,判断X →Y 是否在F+中。

E ,是关系规范化理论的依据。

计算X+的算法

1)依据:

若 F 为关系模式R ( U ) 的函数依赖集,X , Z , W 是U的子集,对于

任意的Z →W ∈ F , 若Z 是X 的子集,则X→XW

2)算法的实现

输入:关系模式R 上的子集X ,R 上的函数依赖 F

输出:X 关于 F 的闭包X+

3)算法:

a.令X (0) = φ , X+ = X ;

b. 如果 X(0) ≠ X+ ,置 X(0) = X+,否则,转到 d ;

c.对于f 中的每个未被访问过的函数依赖

Y →Z ,若Y 包含于X+ ,则令

X+ = X+ ∪Z ,为被访问过的函数依赖设置访问标志,转 b ;

d.输出X+

结论

判定函数依赖X →Y 是否能由 F 导出的问题,可以转化为求X+的闭包,并判定Y 是否是X+子集的问题。

即求闭包的问题可以转化为求属性集的问题。

判定给定函数依赖X →Y 是否蕴含与函数依赖集 F 算法实现:

输入:函数依赖集 F ,函数依赖X →Y

输出:若X →Y ∈F+,输出真,否则输出假。

四,函数依赖的等价和覆盖

定义:设 F 和G 是关系模式R ( U ) 上的两个函数依赖集,如果F+ = G+ ,则称F 等价于G ,亦称 F 覆盖G 或者G 覆盖F ,记作:

F ≡G

定理1 , 设 F 和G 是关系模式R ( U ) 的两个函数依赖集,那么F+ = G+ 的充分必要条件是:

定理2,设 F 和G 是关系模式R ( U ) 的两个函数依赖集,那么F+ = G+的充分必要条件是

定理3 ,每个函数依赖集 F 都可以被一个右部只有单属性的函数依赖集G 所覆盖。

五,最小函数依赖集

设 F 是函数依赖集,如果 F 满足

(1)F中每个函数依赖X→Y的右边均为单个属性。

(2)F中的任何一个函数依赖X→A ,其F-( X→A ) 都与 F 不等价。

(3)F中的任何一个函数依赖X→A , Z为X的真子集,

( F -{ X→A } ) ∪{ Z →A } 都与F 不等价。

则称, F 为最小函数依赖集。

(2)是消除右侧冗余。

(3)是消除左侧冗余。

因为(2),(3)没有先后顺序,所以,最小函数依赖不是唯一的。

第四节关系模式的分解

一,关系模式分解的衡量标准

(1)仅具有无损连接性。(不增减信息)

(2)仅保持函数的依赖集。(不破坏属性间存在的依赖关系)

(3)即具有无损连接性,又保持函数依赖集。

二,分解的无损连接性:

1.定义:设F 是关系模式R 的函数依赖集

σ= { R1 ( U1 , F1 ) , R2 ( U2 , F2 ) , …, Rk ( Uk , Fk ) }

是R 的一个分解,

或者

如果R 满足 F 的任何一个关系均有

则分解具有无损连接性。

定理:设σ = ( R1 < U1,F1 > , R2 < U2 , F2 > , …,Rk )为关系模式的一个分解,r 为 R 的任何一个关系

ri = πui (r) 则:

(1)

(2)如果 S = mσ(r) 则πui(S) = ri

(3)mσ(mσ(r))= mσ(r)

结论:

分解后的关系作自然联结必包含分解前的关系。即分解不会丢失信息,但可能增加信息。只有r = mσ(r) 时,分解才具有无损连接性。

为什么要进行关系分解?

一个关系分解后,可以存放原来不能存放的信息(通常称为“悬挂”的元组),这是实际所需要的,正是分解的优点。

在做自然联结时,这类“悬挂”元组自然丢失了,但不是信息的丢失,而是合理的。

检验分解无损联结的算法

设关系模式R ( A1 , A2 , …,An)

F 是他的函数依赖集,

σ= { R1 , R2 , R3 , …, Rk } 为R 的一个分解。

算法

(1)构造初始表

构造一个k行n列的初始表,其中每列对应于R的一个属性,每行用于表示分解后的一个模式组成。如果属性Aj 属于关系模式Ri ,则在表的第i 行第j 列置符号aj ,否则,置符号bij .

(2)根据F 中的函数依赖修改表的内容

考察F 中的每一个函数依赖X →Y ,在属性组X 所在的那些列上寻找具有相同符号的行,如果找到这样的两行或更多行,则修改这些行,使这些行上的属性组Y 所在的列上的元素相同。

修改规则:如果Y 所在的要修改的行中有一个为aj ,则这些元素均变为aj ,否则,改动为bmj , 其中m 为这些行的最小行号。

注意:若某个bij被改动,则该列中凡是与bij相同的符号均作相同的改动。

循环的对 F 中的函数依赖进行逐个处理,直到发现表中有一行变为:

a1 , a2 , a3 ,…, an 或者不能再被修改为止。

(3)断分解是否无损联结

如果通过修改,发现表中有一行变为a1,a2 , … , an ,则分解是无损联结的,否则,分解不具有无损联结性。

定理:检验分解无损联结的算法,能够正确判定一个分解是否具有无损联结性。

定理:设σ= (R1 , R2 )是模式R 的一个分解,F 是R 的函数依赖集,那么,σ是R ( 关于 F 的) 的无损分解的充要条件是:

(R1 ∩R2)→R1 -R2 ∈F

或者

( R1 ∩R2 ) →R2 -R1 ∈F

保持函数依赖的分解

定义:设 F 是关系模式R 在所有属性集U 上的函数依赖集,Z 是U 的子集,F 在Z 上的一个投影用πz ( F ) 表示,定义为:

πz ( F ) ={ X→Y | X→Y ∈F+ 且 XY 是Z 的子集}

设关系模式 R 的一个分解σ = { R1 , R2 , … , Rk }

如果 Fi = πRi的并集

( F1 ∪ F2 ∪… Fk )+ = F+

则,分解保持函数依赖集F

关系模式满足的确定条件称为范式。根据满足的约束条件不同,范式可以分为1NF、2NF、3NF、BCNF、4NF、5NF 等。

不同的范式,性质不同。

关系模式规范化:把一个低一级的关系模式分解为高一级的关系模式的过程。

回顾概念

1.超键:能唯一标识元组的属性集。

2.候选键:不含有多余属性的超键

a. X 是R 的超键。

b. 且不存在X的真子集Y,使得Y→U ∈F+

则称X 是R 的候选键

3.主键:用户选作元组标识的一个候选键。

4.主属性:包含在任何一个候选键中的属性。

5.非主属性:不包含在任何一个候选键中的属性。

6.外键:如果关系R的某一个属性组,不是该关系本身的候选关键字,而是另一关系的候选关键字,则称该属性组是R 的外来关键字或外部关键

字。

完全函数依赖和部分函数依赖

在R ( U ) 中,如果X →Y ,而且对于X 的任意真子集X’,都不存在X’→Y ,则称Y 完全依赖于X ,否则,如果X →Y , 且存在X 的真子集X’,使得X’→Y 成立,则Y 部分函数依赖于Y 。

如何确定关系模式中的候选码?

(1)如果有属性不在函数依赖集中出现,那么它必须包含在候选码中。

(2)如果有属性不在函数依赖集中任何函数依赖的右边出现,那么它必定包含在候选码中。

(3)如果该属性或属性组能唯一的标识元组,则它就是候选码。

未给出关系模式的函数依赖集,如何确定其中的候选码?

根据对数据库的语义描述,确定其中的候选码,同时还可以写出该关系模式上的函数依赖集。

第一范式:1NF

关系模式的所有域为简单域,其元素不可再分,是数据项而不是数据组,这样的关系模式称为第一范式:1NF

存在的问题:数据冗余,插入异常,删除异常,修改异常。

第二范式:2NF

给定关系模式R 及其上的函数依赖集F ,如果R 上的任何一个非主属性都完全依赖于他的每一个候选关键字,则称R 是第二范式:2NF

若关系模型H 包含的每个关系模式都是2NF 的,则称该关系模型是2NF 的。

存在的问题:可能存在数据冗余,插入异常,删除异常,修改异常。

结论:若R ∈1NF ,且R 中所有的候选码为单一属性,则R ∈2NF 。

传递函数依赖

在R ( U ) 中,如果X →Y ,Y →Z ,并且Z 不是Y 的子集,那么称X →Z 传递函数依赖,即Z 传递函数依赖于X >

第三范式

给定关系模式R 及其上的函数依赖F ,如果R 的任何一个非主属性都不传递函数依赖于他的任何一个候选码,则称R 是第三范式3NF 。

若关系模型H 包含的每一个关系模式都是3NF 的,则称该关系模式是3NF 的。

定理:一个3NF 的关系模式必定是3NF 的。

BCNF ( 改进了的3NF )

给定关系模式R 及其上的函数依赖集F ,如果F 中每一个非平凡函数依赖X →Y 的左部(决定因素)X 中必含有候选码,则称R 是Boyde /Codd 范式,简称BCNF 。

R ∈1NF 若X →Y 且Y 不是X 的子集,X 中必含有候选码。则

R ∈BCNF

BCNF 的内涵

(1)非主属性对候选码完全函数依赖。

(2)主属性对不含他的候选码完全函数依赖。

(3)没有属性完全函数依赖于一组非主属性。

(4)主属性不传递函数依赖于任何一个候选码。

(5)主属性不传递函数依赖于任何一个候选码。

定理:BCNF 满足3NF 。

重叠的候选码

一个模式有两个非单属性的候选码,且二者的交集非空,则称这两个候选码是重叠的。

若模式中没有重叠的候选码时,则2NF 一定是BCNF 。

只有当模式中有重叠的候选码时,3NF 不一定是BCNF 。

总结:

1NF

↓消除了非主属性对候选码的部分函数依赖。

2NF

↓消除了非主属性对候选码的传递函数依赖。

3NF

↓消除了主属性对候选码的部分和传递函数依赖。

BCNF

规范化的基本思想

逐步消除不合适的函数依赖,使数据库的各个关系模式达到某种程度上的分离。

模式分解的算法

模式分解的基本要求:

分解后的关系模式与分解前的关系模式等,即分解必须

(1)具有无损联结性,

(2)保持函数依赖。

逐步分解的定理:

设F 是关系模式R 的函数依赖集

ρ= { R1 , R2 , … , Rk } 是R关于F 的一个无损连接分解。

1.若ρ1 = { S1 , S2 , … , Sm } 是 Ri 关于 Fi 的一个无损连接分解,其中 Fi = πRi (F) ,则ρ2 = { R1,…Ri-1,S1,…,Sm,Ri+1,…,Rk } 是R 关于 F 的无损分解。

2.设ρ3 = { R1,…,Rk,Rk+1,…,Rn } 是 R 的一个分解,其中ρ是ρ3的子集,,则ρ3 也是关于 F 的无损联结分解。

面向 BCNF 且具有无损联结的分解

算法1 :输入:关系模式 R ,函数依赖集 F ,

输出:R 的一个无损联结的分解,其中每一个子模式都满足F

在其上投影的BCNF .

算法实现:

反复运用逐步分解定理,逐步分解关系模式R 使得每次分解都具有无损联结性。而且每次分解出来的子关系模式都至少有一个具有BCNF范式。

(1)置初值ρ = { R } ,

(2)检查ρ中的关系模式,如果均属 BCNF 则转到第4步。

(3)在ρ中找出不属于BCNF的关系模式 S ,那么 S中必能找出一个函数依赖 X→A ∈F (A不包含于X)且X不是S的候选码。因此,XA必然不包含 S 的全部属性。

把S 分解为{ S1 , S2 } ,设S1 = XA , S2 = S-A ,并以{ S1 , S2 } 代替R 中的S ,返回(2)。

(4)终止分解,输出ρ .

算法出现的问题:

(1)分解结果不是唯一的。

(2)分解不保证保持函数依赖。

面向 3NF 且保持函数依赖的分解

算法2输入:关系模式R 及其上的最小函数依赖集 F .

输出:R 的保持函数依赖的分解,其中每个关系模式是关于 F 在其上投影的3NF 。

算法实现:

(1)如果R 中存在一些不在 F 中出现的属性,则将他们单独构成一个关系模式,并从关系模式R 中消去。

(2)如果F 中有一个函数依赖X → A ,且XA = R ,则R 不用分解,算法终止。

(3)对 F 中的每个函数依赖X → A ,构造一个关系模式XA 。如果X →A1 , X →A2 , …, X →An 均属于 F , 则构造一个关系模式XA1A2…An 。

本算法注意,必须是最小函数依赖集 F ,否则出错。

面向3NF 既有无损联结性,又保持函数依赖分解

算法:输入:关系模式R 及其上的最小函数依赖集 F 。

输出:R 的具有无损联结性及保持函数依赖的分解。

算法实现:

(1)按算法2对关系模式R 进行分解,设结果为ρ

ρ = { R1 ,R2 , Rk }

(2)X 是R 的候选码t =ρu { x } 是 R 的一个分解。

(3)求t 的最小集合。(当Ri 是Rj 的子集∈t 时,消去Ri )

定理算法的正确性。

设X 是R 的候选码,则t =ρ u{x} 是 R 的一个分解,且所有的关系都满足 3NF ,同时具有无损联结性,和保持函数依赖性。

由于ρ中全部模式均为 3NF , X 中属性之间不存在传递和部分函数依赖,即 X 也是 3NF 的,分解t 也具有无损联结性。由于 X 是 R 的候选码,验证表中模式 X 所对应的行,经修改后全部由 a 组成。

模式设计的原则

关系模式R 相对于函数依赖 F 分解成数据库模式

ρ = { R1 , R2 ,…,Rk } 一般具有下面 4 个特性。

(1)ρ中的每个关系模式 Ri 上应具有某种范式的性质。

(如3NF , BCNF )

(2)无损联结性。

(3)保持函数依赖集。

(4)最小性,即ρ中模式个数应最少,且模式中属性总数应最少。一个好的模式设计方法应符合下了三条原则。

(1)表达性。

(2)分理性。

(3)最小冗余性。

数据库设计理论

数据库的设计理论 第一节,关系模式的设计问题 一概念: 1. 关系模型:用二维表来表示实体集,用外键来表示实体间的联系,这样的数据模型,叫做关系数据模型。 关系模型包含内涵和外延两个方面: 外延:就是关系或实例、或当前值。它与时间有关,随时间的变化而变化。(主要是由于元组的插入、删除、修改等操作引起的) 内涵:内涵是与时间独立的,它包括关系属性、以及域的一些定义和说明。还有数据的各种完整性约束。 数据的完整性约束分为静态约束和动态约束。 静态约束包括数据之间的联系(称为数据依赖),主键的设计和各种限制。 动态约束主要定义如插入、删除和修改等操作的影响。 通常我们称内涵为关系模式。 2. 关系模式:是对一个关系的描述,二维表的表头那一行称为关系模式,又称为表的框架或记录类型。 关系模式的定义包括:模式名、属性名、值域名和模式的主键。关系模式仅仅是对数据特征的描述。 关系模式的一般形式为R ( U , D , DOM , F ) R 是关系名。 U 是全部属性的集合。 D 是属性域的集合。 DOM 是U 和D 之间的映射关系,关系运算的安全限制。 F 是属性间的各种约束关系,也称为数据依赖。

关系模式可以表示为: 关系模式(属性名1,属性名2 ,……,属性名n ) 示例:学生(学号,姓名,年龄,性别,籍贯)。 当且仅当U 上的一个关系r 满足 F 时,r 就称为关系模式R(U,F)上的一个关系,R是关系的型,r 是关系的值,每个值称为R 的一个关系。 关系数据库模式: 一个数据库是由多个关系构成的。 一个关系数据库对应多个不同的关系模式,关系数据库模式是一个数据库中所有的关系模式的集合。它规定了数据库的全局逻辑结构。 关系数据库模式可以表示为: S = { Ri < Ui , Di , DOM , Fi > | i = 1,2,…, n } 3. 关系子模式 关系子模式是用户所用到的那部分数据的描述。 外模式是关系子模式的集合。 4. 存储模式 存储模式及内模式。 关系数据库理论的主要内容: (1)数据依赖。数据依赖起着核心的作用。 (2)范式。 (3)模式的设计方法。 如何设计一个合理的数据库模式: (1)与实际问题相结合。 泛关系模式:把现实问题的所有属性组成一个关系模式 泛关系:泛关系模式的实例称为泛关系。 泛关系模式中存在的问题: a 数据冗余 b 更新异常, c 插入异常 d 删除异常。

关系数据库逻辑设计(一)

关系数据库逻辑设计(一) (总分:116.98,做题时间:90分钟) 一、选择题(总题数:37,分数:37.00) 1.数据库逻辑设计的依据不包括______。 A) 概念模型 B) 安全性要求 C) 数据约束 D) 功能模型 (分数:1.00) A. B. C. D. √ 解析:[解析] 数据库逻辑设计的依据是数据库概念设计的结果,包括概念数据模型、数据处理要求、数据约束、安全性要求及DBMS的相关信息,因此本题答案为D。 2.以下关于数据库逻辑设计叙述错误的是______。 A) 数据库逻辑设计是面向机器世界的 B) 这个阶段将按照数据库管理系统支持的数据模型来组织和存储数据 C) 目标是得到实际的数据库管理系统可处理的数据库模式,并做到数据结构合理 D) 包括定义和描述数据库的局部逻辑结构、数据之间的关系、数据完整性及安全性要求等 (分数:1.00) A. B. C. D. √ 解析:[解析] 数据库逻辑设计包括定义和描述数据库的全局逻辑结构、数据之间的关系、数据完整性及安全性要求等。因此本题答案为D。 3.在关系数据库设计中,设计关系模式是数据库设计中哪个阶段的任务______。 A) 逻辑设计阶段 B) 概念设计阶段 C) 物理设计阶段 D) 需求分析阶段 (分数:1.00) A. √ B. C. D. 解析:[解析] 关系数据模型是常用的逻辑数据模型,所以设计关系模式是数据库设计中逻辑设计阶段的任务,因此本题答案为A。 4.对于关系的主码必须满足的条件,有下列说法: Ⅰ.一个关系中的主码属性或属性组能函数决定该关系中的所有其他属性 Ⅱ.一个关系中的主码属性不能与其他关系中的主码属性重名 Ⅲ.在一个关系中,一个主码属性的任一真子集都不能函数决定其他属性

关系数据库设计理论练习题答案

第四章关系数据库设计理论练习题 一、选择题 1、关系规范化中的删除操作异常是指①A,插入操作异常是指②D A、不该删除的数据被删除. B、不该插入的数据被插入; C、应该删除的数据未被删除; D、应该插入的数据未被插入. 2、关系数据库规范化是为解决关系数据库中()问题而引入的。 A、插入异常、删除异常和数据冗余; B、提高查询速度; C、减少数据操作的复杂性; D、保证数据的安全性和完整性。 3、假设关系模式R(A,B)属于3NF,下列说法中()是正确的。 A、R一定消除了插入和删除异常; B、R仍可能存在一定的插入和删除异常; C、R一定属于BCNF; D、A和C都是. 4、关系模式的分解 A、唯一 B、不唯一. 5、设有关系W(工号,姓名,工种,定额),将其规范化到第三范式正确的答案是() A、W1(工号,姓名),W2(工种,定额); B、W1(工号,工种,定额),W2(工号,姓名); C、W1(工号,姓名,工种),W2(工种,定额); D、以上都不对. 6、设学生关系模式为:学生(学号,姓名,年龄,性别,平均成绩,专业),则该关系模式的主键是() A、姓名; B、学号,姓名; C、学号; D、学号,姓名,年龄. 7根据数据库规范化理论,下面命题中正确的是() A、若R∈2NF,则R∈3NF B、若R∈1NF,则R不属于BCNF C、若R∈3NF,则R∈BCNF D、若R∈BCNF,则R∈3NF 8、关系数据库设计理论中,起核心作用的是 A、范式; B、模式设计; C、函数依赖; D、数据完整性. 9、设计性能较优的关系模设称为规范化,规范化的主要理论依据是() A、关系规范化理论; B、关系运算理论;

《数据库原理》知识点总结

《数据库原理》知识点总结标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

目录未找到目录项。 一数据库基础知识(第1、2章) 一、有关概念 1.数据 2.数据库(DB) 3.数据库管理系统(DBMS) Access 桌面DBMS VFP SQL Server Oracle 客户机/服务器型DBMS MySQL DB2 4.数据库系统(DBS) 数据库(DB) 数据库管理系统(DBMS) 开发工具 应用系统 二、数据管理技术的发展 1.数据管理的三个阶段 概念模型 一、模型的三个世界 1.现实世界

2.信息世界:即根据需求分析画概念模型(即E-R图),E-R图与DBMS 无关。 3.机器世界:将E-R图转换为某一种数据模型,数据模型与DBMS相关。 注意:信息世界又称概念模型,机器世界又称数据模型 二、实体及属性 1.实体:客观存在并可相互区别的事物。 2.属性: 3.关键词(码、key):能唯一标识每个实体又不含多余属性的属性组合。 一个表的码可以有多个,但主码只能有一个。 例:借书表(学号,姓名,书号,书名,作者,定价,借期,还期) 规定:学生一次可以借多本书,同一种书只能借一本,但可以多次续借。 4.实体型:即二维表的结构 例 student(no,name,sex,age,dept) 5.实体集:即整个二维表 三、实体间的联系: 1.两实体集间实体之间的联系 1:1联系 1:n联系 m:n联系 2.同一实体集内实体之间的联系 1:1联系 1:n联系 m:n联系 四、概念模型(常用E-R图表示) 属性: 联系: 说明:① E-R图作为用户与开发人员的中间语言。 ② E-R图可以等价转换为层次、网状、关系模型。 举例: 学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授 和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程,每门课程有若干学生选修。用E-R图画出概念模型。

关系数据库设计

目录 一 Codd的RDBMS12法则——RDBMS的起源 二关系型数据库设计阶段 三设计原则 四命名规则 数据库设计,一个软件项目成功的基石。很多从业人员都认为,数据库设计其实不那么重要。现实中的情景也相当雷同,开发人员的数量是数据库设计人员的数倍。多数人使用数据库中的一部分,所以也会把数据库设计想的如此简单。其实不然,数据库设计也是门学问。 从笔者的经历看来,笔者更赞成在项目早期由开发者进行数据库设计(后期调优需要DBA)。根据笔者的项目经验,一个精通OOP和ORM的开发者,设计的数据库往往更为合理,更能适应需求的变化,如果追其原因,笔者个人猜测是因为数据库的规范化,与OO的部分思想雷同(如内聚)。而DBA,设计的数据库的优势是能将DBMS的能力发挥到极致,能够使用SQL和DBMS实现很多程序实现的逻辑,与开发者相比,DBA优化过的数据库更为高效和稳定。如标题所示,本文旨在分享一名开发者的数据库设计经验,并不涉及复杂的SQL语句或DBMS使用,因此也不会局限到某种DBMS产品上。真切地希望这篇文章对开发者能有所帮助,也希望读者能帮助笔者查漏补缺。 一?Codd的RDBMS12法则——RDBMS的起源 Edgar Frank Codd(埃德加·弗兰克·科德)被誉为“关系数据库之父”,并因为在数据库管理系统的理论和实践方面的杰出贡献于1981年获图灵奖。在1985年,Codd 博士发布了12条规则,这些规则简明的定义出一个关系型数据库的理念,它们被作为所有关系数据库系统的设计指导性方针。 1.信息法则?关系数据库中的所有信息都用唯一的一种方式表示——表中的值。 2.保证访问法则?依靠表名、主键值和列名的组合,保证能访问每个数据项。 3.空值的系统化处理?支持空值(NULL),以系统化的方式处理空值,空值不依赖于数据类型。 4.基于关系模型的动态联机目录?数据库的描述应该是自描述的,在逻辑级别上和普通数据采用同样 的表示方式,即数据库必须含有描述该数据库结构的系统表或者数据库描述信息应该包含在用 户可以访问的表中。 5.统一的数据子语言法则?一个关系数据库系统可以支持几种语言和多种终端使用方式,但必须至少 有一种语言,它的语句能够一某种定义良好的语法表示为字符串,并能全面地支持以下所有规 则:数据定义、视图定义、数据操作、约束、授权以及事务。(这种语言就是SQL) 6.视图更新法则?所有理论上可以更新的视图也可以由系统更新。 7.高级的插入、更新和删除操作?把一个基础关系或派生关系作为单个操作对象处理的能力不仅适应 于数据的检索,还适用于数据的插入、修改个删除,即在插入、修改和删除操作中数据行被视 作集合。 8.数据的物理独立性?不管数据库的数据在存储表示或访问方式上怎么变化,应用程序和终端活动都 保持着逻辑上的不变性。 9.数据的逻辑独立性?当对表做了理论上不会损害信息的改变时,应用程序和终端活动都会保持逻辑 上的不变性。 10.数据完整性的独立性?专用于某个关系型数据库的完整性约束必须可以用关系数据库子语言定 义,而且可以存储在数据目录中,而非程序中。

数据库课后题答案 第7章 数据库设计

第7章数据库设计 1.试述数据库设计过程。 答:这里只概要列出数据库设计过程的六个阶段:( l )需求分析;( 2 )概念结构设计;( 3 )逻辑结构设计;( 4 )数据库物理设计;( 5 )数据库实施;( 6 )数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 2 .试述数据库设计过程各个阶段上的设计描述。 答:各阶段的设计要点如下:( l )需求分析:准确了解与分析用户需求(包括数据与处理)。( 2 )概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。( 3 )逻辑结构设计:将概念结构转换为某个DBMS 所支持的数据模型,并对其进行优化。( 4 )数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。( 5 )数据库实施:设计人员运用DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。( 6 )数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。 3 .试述数据库设计过程中结构设计部分形成的数据库模式。 答:数据库结构设计的不同阶段形成数据库的各级模式,即:( l )在概念设计阶段形成独立于机器特点,独立于各个DBMS 产品的概念模式,在本篇中就是 E 一R 图;( 2 )在逻辑设计阶段将 E 一R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图( Vi 娜),形成数据的外模式;( 3 )在物理设计阶段,根据DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 4 .试述数据库设计的特点。 答:数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有:( l )数据库建设是硬件、软件和干件(技术与管理的界面)的结合。( 2 )从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。 5 .需求分析阶段的设计目标是什么?调查的内容是什么? 答:需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的内容是“数据’夕和“处理”,即获得用户对数据库的如下要求:( l )信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;( 2 )处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;( 3 )安全性与完整性要求。 6 .数据字典的内容和作用是什么? 答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:( l )数据项;( 2 )数据结构;( 3 )数据流;( 4 )数据存储;( 5 )处理过程五个部分。其中数据项是数

关系数据库理论

第4部分关系数据库理论 复习习题与讲解资料 【主讲教师:钱哨】 一.考试大纲考点要求 1 了解关系模式设计中可能出现的问题及其产生原因以及解决的途径。 2 掌握函数依赖、完全函数依赖、部分函数依赖、传递函数依赖的定义,能计算属性的封闭集,并由此得到关系的候选键。 3 掌握第一范式( 1NF )、第二范式( 2NF )和第三范式( 3NF )的定义,能判别关系模式的范式等级。 4 掌握关系模式的分解(规范到 3NF )的步骤、分解的原则和分解的方法。 二.单项选择题 1. 为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是()。 A. 关系规范化理论 B. 关系代数理论 C.数理逻辑 D. 关系运算理论 2. 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是()。 A. 长度不变的 B. 不可分解的 C.互相关联的 D. 互不相关的 3. 已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C ,E→ A },该关系模式的候选关键字是()。 A.AB B. BE C.CD D. DE

4. 设学生关系S(SNO,SNAME,SSEX,SAGE,SDPART)的主键为SNO,学生选课关系SC(SNO,CNO,SCORE)的主键为SNO和CNO,则关系R(SNO,CNO,SSEX,SAGE,SDPART,SCORE)的主键为SNO和CNO,其满足()。 A. 1NF B.2NF C. 3NF D. BCNF 5. 设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={ C →P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },关系模式W的一个关键字是()。 A. (S,C) B. (T,R) C. (T,P) D. (T,S) 6. 关系模式中,满足2NF的模式()。 A. 可能是1NF B. 必定是1NF C. 必定是3NF D. 必定是BCNF 7. 关系模式R中的属性全是主属性,则R的最高范式必定是()。 A. 1NF B. 2NF C. 3NF D. BCNF 8. 消除了部分函数依赖的1NF的关系模式,必定是()。 A. 1NF B. 2NF C. 3NF D. BCNF 9. 如果A->B ,那么属性A和属性B的联系是()。 A. 一对多 B. 多对一 C.多对多 D. 以上都不是 10. 关系模式的候选关键字可以有1个或多个,而主关键字有()。 A. 多个 B. 0个 C. 1个 D. 1个或多个 11. 候选关键字的属性可以有()。 A. 多个 B. 0个 C. 1个 D. 1个或多个 12. 关系模式的任何属性()。 A. 不可再分 B. 可以再分 C. 命名在关系模式上可以不唯一 D. 以上都不是 13. 设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={ C →P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },若将关系模式W分解为三个关系模式W1(C,P),W2(S,C,G),W2(S,T,R,C),则W1的规范化程序最

第4章+关系数据库设计理论答案

第4章关系数据库设计理论 选择题答案: (1) A (2) B (3) B (4) A (5) D (6) B (7) C (8) B (9) B (10) C (11) D (12) A (13) D (14) D (15) B (16) B (17) D (20) C (21) C (23) A (26) B (27) B (28) B (29) B (30) B (31) D (33) B B D 一、选择题: 1. 为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是()。 A. 关系规范化理论 B. 关系代数理论C.数理逻辑 D. 关系运算理论 2. 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是()。 A. 长度不变的 B. 不可分解的 C.互相关联的 D. 互不相关的 3. 已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C ,E→A },该关系模式的候选关键字是()。 A.AB B. BE C.CD D. DE 4. 设学生关系S(SNO,SNAME,SSEX,SAGE,SDPART)的主键为SNO,学生选课关系SC(SNO,CNO,SCORE)的主键为SNO和CNO, 则关系R(SNO,CNO,SSEX,SAGE,SDPART,SCORE)的主键为SNO和CNO,其满足()。 A. 1NF B.2NF C. 3NF D. BCNF 5. 设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },关系模式W的一个关键字是()。 A. (S,C) B. (T,R) C. (T,P) D. (T,S) 6. 关系模式中,满足2NF的模式()。 A. 可能是1NF B. 必定是1NF C. 必定是3NF D. 必定是BCNF 7. 关系模式R中的属性全是主属性,则R的最高范式必定是()。 A. 1NF B. 2NF C. 3NF D. BCNF 8. 消除了部分函数依赖的1NF的关系模式,必定是()。 A. 1NF B. 2NF C. 3NF D. BCNF 9. 如果A->B ,那么属性A和属性B的联系是()。 A. 一对多 B. 多对一C.多对多 D. 以上都不是 10. 关系模式的候选关键字可以有1个或多个,而主关键字有()。 A. 多个 B. 0个 C. 1个 D. 1个或多个 11. 候选关键字的属性可以有()。 A. 多个 B. 0个 C. 1个 D. 1个或多个 12. 关系模式的任何属性()。 A. 不可再分 B. 可以再分 C. 命名在关系模式上可以不唯一 D. 以上都不是 13. 设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={ C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },若将关系模式W分解为三个关系

数据库设计方案书概念

数据库设计概念 在设计数据库时,需要计划要存储有关哪些事物的信息,以及要保存有关各个事物的哪些信息。您还需要确定这些事物的相互关系。如果使用数据库设计中的术语,在这一步创建的数据库原型就称作概念数据库模型。 实体和关系 要存储其相关信息的可识别对象或事物称作实体。它们之间的关联称作关系。在数据库描述语言中,可以将实体看做名词,将关系看做动词。 由于概念模型对实体和关系进行了明确的区分,因此这种模型非常有用。这种模型将在任何特定数据库管理系统中实施设计所涉及的细节隐藏起来,从而使设计者可以集中考虑基础数据库结构。因此,这种模型也成为了一种用于讨论数据库设计的通用语言。 实体关系图 概念数据库模型主要由一个显示实体和关系的示意图构成。这个示意图通常称作实体关系图。因此,许多人也使用实体关系建模这个词来指创建概念数据库模型的任务。 概念数据库设计是一个由上至下的设计方法。现在有许多功能完备的工具可以帮助您按照这种方法或其他方法进行设计,例如,Sybase PowerDesigner。虽然本章的目的只是进行介绍,但也提供了足够的信息可以帮助您设计简单的数据库。 实体 在数据库中,一个实体对应于一个名词。可识别的对象,例如,雇员、订单项、部门和产品,都是实体的示例。在数据库中用表代表各个实体。置入数据库的实体都源于要使用数据库执行的活动,例如,跟踪销售电话和维护雇员信息,等等。 属性 每个实体都包含一些属性。属性是指要为事物存储的特定特性。例如,在雇员实体中,需要存储雇员ID 号、姓氏和名字、地址,以及与一个特定雇员相关的其他信息。属性也称作特性。 实体用一个矩形框表示。在矩形框内部,列出与该实体相关联的属性。

《数据库原理》1-2章作业(答案)

《数据库原理》知识点 第一章 1、什么是4D(Data, DB、DBMS、DBS),它们之间的关系? 答: 所谓4D是分别指:数据(Data)、数据库(DB或DataBase)、数据库管理系统(DBMS)、数据库系统(DBS)。其中: 数据(Data): 数据库(DB或DataBase): 数据库管理系统(DBMS): 数据库系统(DBS): 当开发一个数据库系统(DBS)时,通常需要借助数据库管理系统(DBMS)来完成建立数据库(DB)、对数据库中数据(Data)进行操作等功能。 2、数据模型的组成要素有哪些? 答:包括: 数据结构:描述数据库的组成对象以及对象之间的联系。 数据操作:指对数据库中各种对象的实例允许执行的操作集合。 数据的完整性约束条件:是指给定的数据模型中数据及其联系所具有的制约和依存规则。 3、ER模型的组成要素有哪些? 答: 实体型、属性和联系所组成。 实体型: 属性: 联系: 4、学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教师,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课程可由若干学生选修。请用E-R图画出此学校的概念模型。 答:

5、某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按照所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂产品、零件、材料、仓库的概念模型。

6、试述数据库系统三级模式结构,这种结构的优点是什么? 答: 数据库系统的三级模式结构由外模式、模式、内模式组成。 外模式: 模式: 内模式: 数据库系统的三级模式是针对数据的3个抽象级别,其优点是:它把数据的具体组织留给DBMS管理,使用户能抽象地处理数据,而不必关心数据在计算机中的具体表示和存储方式。 为了能够在内部实现这3个抽象层次之间的联系和转换,数据库系统在三级模式之间提供了二层映像:外模式/模式映像、模式/内模式映像,通过二层映像保证了数据库系统中数据能够具有较高的逻辑独立性和物理独立性。 7、叙述DBS的组成,其中的主要软件是什么?主要人员是谁? 答: DBS一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户组成。 主要软件包括:数据库管理系统。 主要人员:数据库管理员。 第二章 1、叙述关系模型的三类完整性,并举例说明。 答:

数据库设计实例需求分析、概念结构、逻辑结构

数据库设计实例分析 一、需求分析实例 现要开发高校图书管理系统。经过可行性分析和初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能: (1)读者注册。 (2)读者借书。 (3)读者还书。 (4)图书查询。 1、数据流图 顶层数据流图反映了图书管理系统与外界的接口,但未表明数据的加工要求,需要进一步细化。根据前面图书管理系统功能边界的确定,再对图书管理系统顶层数据流图中的处理功能做进一步分解,可分解为读者注册、借书、还书和查询四个子功能,这样就得到了图书管理系统的第0层数据流图 从图书管理系统第0层数据流图中可以看出,在图书管理的不同业务中,借书、还书、查询这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构建这些处理的第1层数据流图。下面的图8-7分别给出了借书、还书、查询子功能的第1层数据流图 2、数据字典 数据项 数据项名称:借书证号 别名:卡号 含义说明:惟一标识一个借书证 类型:字符型 长度:20 …… 数据结构 (1)名称:读者类别 含义说明:定义了一个读者类别的有关信息 组成结构:类别代码+类别名称+可借阅数量+借阅天数+超期罚款额 (2)名称:读者 含义说明:定义了一个读者的有关信息 组成结构:姓名+性别+所在部门+读者类型 (3)名称:图书 含义说明:定义了一本图书的有关信息 组成结构:图书编号+图书名称+作者+出版社+价格 ……

数据流 (1)数据流名称:借书单 含义:读者借书时填写的单据 来源:读者 去向:审核借书 数据流量:250份/天 组成:借书证编号+借阅日期+图书编号 (2)数据流名称:还书单 含义:读者还书时填写的单据 来源:读者 去向:审核还书 数据流量:250份/天 组成:借书证编号+还书日期+图书编号 …… 数据存储 (1)数据存储名称:图书信息表 含义说明:存放图书有关信息 组成结构:图书+库存数量 说明:数量用来说明图书在仓库中的存放数 (2)数据存储名称:读者信息表 含义说明:存放读者的注册信息 组成结构:读者+卡号+卡状态+办卡日期 说明:卡状态是指借书证当前被锁定还是正常使用 (3)数据存储名称:借书记录 含义说明:存放读者的借书、还书信息 组成结构:卡号+书号+借书日期+还书日期 说明:要求能立即查询并修改 …… 处理过程 (1)处理过程名称:审核借书证 输入:借书证 输出:认定合格的借书证 加工逻辑:根据读者信息表和读者借书证,如果借书证在读者信息表中存在并且没有被锁定,那么借书证是有效的借书证,否则是无效的借书证。 …… 二、概念结构设计实例 1.标识图书管理系统中的实体和属性 参照数据字典中对数据存储的描述,可初步确定三个实体的属性为: 读者:{卡号,姓名,性别,部门,类别、办卡日期,卡状态} 读者类别:{类别代码,类别名称,可借阅天数、可借阅数量,超期罚款额}

数据库概念设计ER图练习题

数据库概念设计E-R图练习题1.上海可的商业连锁集团需要建立信息系统。该系统中存在3个实体集,一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。 商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可以放在多个商店销售,每个商店销售的一种商品有月销售量;商店与职工之间存在“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和工资。试画出E-R 图。 2.某集团公司需要建立一个数据库存储以下信息: (1).该集团公司由多个工厂组成,每个工厂具有厂名和厂长名两个属性;一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。 (2).一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。 (3).一个车间生产多种产品,产品有产品号和价格。 (4).一个车间生产多种零件,一个零件也可能由多个车间制造。零件有零件号、重量和价格。 (5).一个产品由多种零件组成,一种零件也可装配出多种产品。 (6).产品与零件均分类存贮在特定仓库中。 (7).厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。 3. Company资料库中纪录某家公司员工、部门与计划等资料。假设在需求收集与分析后,资料库分析人员将这个资料库描述如下: 这家公司是由多个部门所组成。每个部门有一个唯一名称、唯一编号,并且由一名特定员工来管理此部门。此外,一个部门也可以有好几个地点,一个地点也可以多个部门公共。每个部门都负责控管一些计划,每个计划都有一个唯一名称、唯一编号和唯一的工作地点。我们将每位员工的姓名、身分证号码、地址、薪资、性别与生日加以记录储存。每个员工会被指派到某一个部门,但可能会为好几个计划工作,而这些计划并不一定属于同一部门。我们会记录每位员工在每个计画里的每周工作时数,还有每个员工的直属主管。为了管理保险

数据库原理及应用(课后练习)---第4章 关系数据库设计理论

第4章关系数据库设计理论第4章关系数据库设计理论 习题 一、选择题 1、C 2、B 3、C 4、C 5、A 6、B 7、A 8、B 9、D 10、B 二、填空题 1、数据依赖主要包括_函数_依赖、_多值_依赖和连接依赖。 2、一个不好的关系模式会存在_插入异常_、_删除异常_和__修改复杂_等弊端。 3、设X→Y为R上的一个函数依赖,若_对任意X的真子集X’,均无X’→Y 存在__,则称Y完全函数依赖于X。 4、设关系模式R上有函数依赖X→Y和Y→Z成立,若_Y不包含于X_且_Y→X不成立_,则称Z传递函数依赖于X。 5、设关系模式R的属性集为U,K为U的子集,若_K→U为完全函数依赖_,则称K 为R的候选键。 6、包含R中全部属性的候选键称_主属性_。不在任何候选键中的属性称__非主属性_。 7、Armstrong公理系统是_有效__的和_完备__的。 8、第三范式是基于_函数_依赖的范式,第四范式是基于_多值_依赖的范式。 9、关系数据库中的关系模式至少应属于_第一_范式。 10、规范化过程,是通过投影分解,把_一个范式级别较低的_的关系模式“分解”为_若干个范式级别较高__的关系模式。 111

数据库原理及应用 112 三、简答题 1、解释下列术语的含义:函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、范式、无损连接性、依赖保持性。 解: 函数依赖:设关系模式R (U ,F ),U 是属性全集,F 是U 上的函数依赖集,X 和Y 是U 的子集,如果对于R (U )的任意一个可能的关系r ,对于X 的每一个具体值,Y 都有唯一的具体的值与之对应,则称X 函数决定Y ,或Y 函数依赖于X ,记X →Y 。我们称X 为决定因素,Y 为依赖因素。当Y 不函数依赖于X 时,记作:X Y 。当X →Y 且Y →X 时,则记作:X ?Y 。 平凡函数依赖:当属性集Y 是属性集X 的子集时,则必然存在着函数依赖X →Y ,这种类型的函数依赖称为平凡的函数依赖。 非平凡函数依赖:如果Y 不是X 子集,则称X →Y 为非平凡的函数依赖。 完全函数依赖与部分函数依赖:设有关系模式R (U ),U 是属性全集,X 和Y 是U 的子 集,X →Y ,并且对于X 的任何一个真子集X ',都有X 'Y ,则称Y 对X 完全函数依赖(Full Functional Dependency ),记作X ?→?f Y 。如果对X 的某个真子集X ',有X '→Y ,则称Y 对X 部分函数依赖(Partial Functional Dependency ),记作X ?→? p Y 。 传递函数依赖:设有关系模式R (U ),U 是属性全集,X ,Y ,Z 是U 的子集,若X →Y (Y X ),但Y X ,又Y →Z ,则称Z 对X 传递函数依赖(Transitive Functional Dependency ),记作:X ?→? t Z 。 范式:在关系数据库的规范化过程中,为不同程度的规范化要求设立的不同的标准或准则称为范式(Normal Form )。满足最低要求的叫第一范式,简称1NF 。在第一范式中满足进一步要求的为第二范式(2NF),其余以此类推。R 为第几范式就可以写成R ∈xNF (x 表示某范式名)。 当把某范式看成是满足该范式的所有关系模式的集合时,各个范式之间的集合关系可以表示为:5NF ?4NF ?BCNF ?3NF ?2NF ?1NF 。 一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。 无损连接性:设R (X ,Y ,Z ),X 、Y 、Z 为不相交的属性集合,如果有X →Y 、X →Z ,则有R (X ,Y ,Z )=R[X ,Y]∞R[X ,Z],其中R[X ,Y]表示关系R 在属性(X ,Y )上的投影,即R 等于两个分别含决定因素X 的投影关系(分别是R[X ,Y]与R[X ,Z])在X 上的自然连接,这样便保证了关系R 分解后不会丢失原有的信息,这称作关系分解的无损连接性。 依赖保持性:设有关系模式R (U ,F ),Z ?U ,则Z 所涉及到的F 中所有函数依赖为F

数据库原理及应用期末复习题及答案

《数据库原理及应用》期末复习资料 一、单项选择题 1.现实世界中事物在某一方面的特性在信息世界中称为__________。 A.实体 B.实体值 C.属性 D.信息 2.数据的存储结构与数据逻辑结构之间的独立性称为数据的__________。 A.结构独立性 B.物理独立性 C.逻辑独立性 D.分布独立性 3. 应用程序设计的工作开始于数据库设计步骤的__________。 A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 4.在关系R中,代数表达式σ3<4(R)表示__________ 。 A.从R中选择值为3的分量小于第4个分量的元组组成的关系 B.从R中选择第3个分量值小于第4个分量的元组组成的关系 C.从R中选择第3个分量的值小于4的元组组成的关系 D.从R中选择所有元组组成的关系 5.对关系模式进行分解时,要使分解具有无损失连接性,在下属范式中最高可以达到__________。 6.在数据库中,下列说法不正确的是__________。 A.数据库避免了一切数据的重复 B.若系统是完全可以控制的,则系统可确保更新时的一致性 C.数据库中的数据可以共享 D.数据库减少了数据冗余 7.__________是存储在计算机内有结构的数据的集合。

A.数据库系统 B. 数据库 C. 数据库管理系统 D. 数据结构 8.为解决“丢失更新”问题,事务在更新一个数据集合前,必须获得对它的__________ 。锁 锁 锁和X锁 锁或X锁 9.候选键中的属性可以有__________。 A.0个 B.1个 C.1个或多个 D.多个 10. 在SQL的查询语句中,对应关系代数中“投影”运算的语句是__________ 。 11. 在关系模式R(U,F)中,X,Y,Z是U中属性,则多值依赖的传递律是__________ 。 A.如果X→→Y,Y→→Z,则X→→Z B.如果X→→Y,Y→→Z,则X→→YZ C.如果X→→Y,Y→→Z,则X→→YZ D.如果X→→Y,Y→→Z,则X→→Z-Y 12. 在数据库设计中,将E-R图转换成关系数据模型的过程属于__________。 A.需求分析阶段 B.逻辑设计阶段 C.概念设计阶段 D.物理设计阶段 13. 关系代数的五个基本操作可直接转换成元组关系演算表达式,它们是:并、差、投影、选择和__________。 A.交 B.笛卡尔积 C.自然连接

关系数据库设计教案

关系数据库设计(新授课教案七) 【教学目标】 1、能说出关系数据库设计中存在的问题 2、会背诵函数依赖、范式和模式分解等概念 3、能说出关系数据库设计的步骤 4、学会设计简单的关系数据库 5、知道E-R模型设计和关系模型的转换规则 【教学重点】 1、会背诵函数依赖、范式和模式分解等概念 2、能说出关系数据库设计的步骤 3、学会设计简单的关系数据库 【教学难点】 1、如何将一个不规范的关系模式分解为一个好的关系模式 2、能够判断各关系模式属于哪一个范式 【教学方法】 尝试教学法、讲授法、案例讲解法、分组讨论 教师采用尝试教学法,先让学生自学,教师讲解概念和练习,最后教师强调难点,在讲解过程采用了案例讲解法 【教学时间】 四课时 【教具教参】 1、教具:多媒体、课件 【教学过程】 第一课时 一、导入新课 教师使用大屏幕展示表6-1UN表和SG表、SD表、DM表 学生观察后回答以下问题: 1.系名和系主任重复出现,是否造成存储空间的严重浪费。 2.如果某个系刚成立,尚无学生或者有了学生但还没有选课,所以无法将该系的系名和系主任插入到该表中,怎么办? 3.如果某个系的学生全部毕业了,删除该系学生及其选课信息的同时,会把系名和系主任的信息同时删除,这样有问题吗? 教师根据学生的回答导出课题

二、讲授新课 (一)关系数据库设计中的问题 教师引导学生对比6-1UN表和SG表、SD表、DM表和6-3表 学生说出6-1UN表和SG表、SD表、DM表和6-3表有什么不同从以下几方面思考: 1、一个系有若干学生,但一个学生只属于一个系。 2、一个系只有一名系主任。 3、一个学生可以选修多门课程,每门课程可有若干学生选修。 4、每个学生学习每门课程后有一个成绩。 教师总结表UN、SG表、SD表DM表中的问题,导出关系数据库设计中易出现大的问题如下: 1、数据冗余:数据重复存放造成空间浪费。 2、插入异常:主键值为空或部分为空的记录是不能存入到表中的。 3、删除异常:删除一个信息的同时,会把其他的信息一起删除。 学生有不理解的地方,提出并一起探讨如下: 1、模式:UN(学号,课程号,成绩,系名,系主任) 教师提问:UN中存在多个实体型和联系,该关系模式好不好 2、改造分解为SD、DM和SG三个关系模式: SD(学号,系名) 学号为主键 DM(系名,系主任) 系名为主键 SG(学号,课程号,成绩) 学号,课程号为主键 教师提问:这种分解好!为什么? 3、改造分解为SD、SM和SG三个关系模式: SD(学号,系名) 学号为主键 SM(学号,系主任) 学号为主键 SG(学号,课程号,成绩) 学号、课程号为主键 教师提问:这种分解好不好?为什么? 第二课时 (二).函数依赖 教师举例:函数系名=f(学好),成绩=f(学号,课程) 学生分析两个函数的关系之间各个值之间的关系 教师导出: 教师举例分析:例如,选课关系:SC(学号, 课程号,成绩)

数据库设计各阶段

1.数据库应用系统的设计步骤 按规范设计的方法可将数据库设计分为以下六个阶段 (1)需求分析; (2)概念结构设计; (3)逻辑结构设计; (4)数据库物理设计; (5)数据库实施; (6)数据库运行和维护。 2.需求分析 需求收集和分析是数据库应用系统设计的第一阶段。明确地把它作为数据库应用系统设计的第一步是十分重要的。这一阶段收集到的基础数据和一组数据流图(DataFlowDiaˉgram———DFD)是下一步设计概念结构的基础。概念结构对整个数据库设计具有深刻影响。 而要设计好概念结构,就必须在需求分析阶段用系统的观点来考虑问题、收集和分析数据及其处理。如何分析和表达用户需求呢?在众多的分析方法中,结构化分析(StructuredAnalysis,简称SA方法)是一个简单实用的方法。SA方法用自顶向下、逐层分解的方式分析系统。用数据流图,数据字典描述系统。然后把一个处理功能的具体内容分解为若干子功能,每个子功能继续分解,直到把系统的工作过程表达清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解。形成若干层次的数据流图。数据流图表达了数据和处理过程的关系。处理过程的处理逻辑常常用判定表或判定树来描述。数据字典(DataDictionary,简称DD)则是对系统中数据的详尽描述,是各类数据属性的清单。对数据库应用系统设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。数据字典是各类数据描述的集合,它通常包括以下5个部分: (1)数据项,是数据最小单位。

(2)数据结构,是若干数据项有意义的集合。 (3)数据流,可以是数据项,也可以是数据结构。表示某一处理过程的输入输出。 (4)数据存储,处理过程中存取的数据。常常是手工凭证、手工文档或计算机文件。 (5)处理过程。 3."概念结构设计 如同软件工程中重视需求分析与规范说明的思想一样,数据库设计中同样十分重视数据分析、抽象与概念结构的设计。概念结构的设计,是整个数据库设计的关键之 一。"概念结构独立于数据库逻辑结构,独立于支持数据库的DBMS,也独立于具体计算机软件和硬件系统。归纳总结,其主要特点是: (1)能充分地反映现实世界,包括实体和实体之间的联系,能满足用户对数据处理的要求,是现实世界的一个真实的模型,或接近真实的模型。 (2)易于理解,从而可以和不熟悉计算机的用户交换意见。用户的积极参与是数据库应用系统设计成功与否的关键。 (3)易于更动。当现实世界改变时容易修改和扩充,特别是软件、硬件环境变化时更应如此。 (4)易于向关系、网状或层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比任意一种数据模型更独立于机器,更抽象,从而更加稳定。描述概念结构的有力工具是E-R模型。P.P.S.Chen把用E-R模型定义的概念结构称为组织模式。设计概念结构的策略有3种: (1)自顶向下首先定义全局概念结构的框架,然后逐步细化。 (2)自底向上首先定义各局部应用的概念结构,然后将它们集成,得到全局概念结构。

关系数据库理论练习题

一、选择题 1.为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是()。 A.关系规范化理论 B.关系代数理论 C.数理逻辑 D.关系运算理论 2.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是()。 A.长度不变的 B.不可分解的 C.互相关联的 D.互不相关的 3.已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C,E→A},该关系模式的候选关键字是()。 A.A B B.B E C.C D D.D E 4.设学生关系S(S N O,S N A M E,S S E X,S A G E,S D P A R T)的主键为S N O,学生选课关系S C(S N O,C N O,S C O R E)的主键为S N O和C N O, 则关系R(S N O,C N O,S S E X,S A G E,S D P A R T,S C O R E)的主键为S N O和C N O,其满足()。 A.1N F B.2N F C.3N F D.B C N F 5.设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R},关系模式W的一个关键字是()。 A.(S,C) B.(T,R) C.(T,P) D.(T,S) 6.关系模式中,满足2N F的模式()。 A.可能是1N F B.必定是1N F C.必定是3N F D.必定是B C N F 7.关系模式R中的属性全是主属性,则R的最高范式必定是()。 A.1N F B.2N F C.3N F D.B C N F 8.消除了部分函数依赖的1N F的关系模式,必定是()。 A.1N F B.2N F C.3N F D.B C N F 9.如果A->B,那么属性A和属性B的联系是()。 A.一对多 B.多对一 C.多对多 D.以上都不是 10.关系模式的候选关键字可以有1个或多个,而主关键字有()。 A.多个 B.0个 C.1个 D.1个或多个 11.候选关键字的属性可以有()。 A.多个 B.0个 C.1个 D.1个或多个 12.关系模式的任何属性()。 A.不可再分 B.可以再分 C.命名在关系模式上可以不唯一 D.以上都不是 13.设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R},若将关系模式W分解为三个关系模式W1(C,P),W2(S,C,G),W2(S,T,R,C),则W1的规范化程序最高达到()。 A.1N F B.2N F C.3N F D.B C N F 14.在关系数据库中,任何二元关系模式的最高范式必定是()。 A.1N F B.2N F C.3N F D.B C N F 15.在关系规范式中,分解关系的基本原则是()。 I.实现无损连接 I I.分解后的关系相互独立 I I I.保持原有的依赖关系 A.Ⅰ和Ⅱ B.Ⅰ和Ⅲ C.Ⅰ D.Ⅱ 16.不能使一个关系从第一范式转化为第二范式的条件是()。 A.每一个非属性都完全函数依赖主属性

相关文档
相关文档 最新文档