关系数据库重点

关系数据库重点
关系数据库重点

第2章关系数据库

教学课时:6课时

本章学习目标:

1.掌握数据模型的基本概念

2.掌握实体-联系模型

3.掌握关系模型的概念和性质

4.掌握关系的完整性规则

5.掌握关系数据库的规范化理论、范式的基本概念和分解方法

教学重点:

1.关系数据模型

2.关系的规范化

3.关系完整性

教学难点:

1.实体—联系模型

2.关系模型的三要素

3.范式

4.实体完整性

5.参照完整性

教学方法:讲授法、讲解法、演示法、讨论法

教学过程及内容:

2.1 数据模型

2.1.1 数据模型的概念

一般地讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此,数据模型通常由数据结构、数据操作和数据的完整性约束三部分组成。

1. 数据结构

数据结构是所研究的对象类型的集合,这些对象是数据库的组成成分。

2. 数据操作

数据操作是指对数据库中各种对象型的实例(如关系模型中的关系的值)所允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。

3. 数据的完整性约束条件

数据的完整性约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。

2.1.2 数据之间的联系

数据模型是数据库系统的核心和基础,各种数据库管理系统都是基于某种数据模型的。而具体的数据库管理系统所支持的数据模型不便于非计算机专业人员理解和应

用。

●概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象。它不是面向

机器实现,而是面向现实世界,是按照用户的观点来对数据和信息建模。

图2.1 数据抽象层次

1. 实体及其属性

1) 实体

客观存在并可相互区分的事物称为实体。

2) 属性

实体所具有的某一特性称为属性。

3) 实体和属性的型与值

实体和属性有型与值之分。

4) 实体集

具有相同实体型的实体的集合称为实体集。

5) 关键字

在实体属性中,用于区别实体集合中不同个体的某个属性或某几个属性的组合,称为关键字。

2. 实体间的联系

实体内部的联系通常是指实体的各属性之间的联系。实体之间的联系通常是指一个实体集内部各实体之间的联系或者不同的实体集的实体之间的联系。

两个实体集之间的联系可以分为三类。

●一对一联系(1∶1)

●一对多联系(1∶N)

●多对多联系(M∶N)

图2.2表示了两个实体集间的以上3种联系。

实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。

通常情况下,两个以上的实体集之间也存在着一对一、一对多或多对多联系。

(a)一对一联系

(b)一对多联系

(c)多对多联系

实体集A 实体集B 实体集A 实体集B 实体集A 实体集B

2.1.3 实体-联系模型

实体-联系模型中表示实体型、属性和联系的方法如下。

实体型:用矩形表示,矩形框内写上实体名。

属性:用椭圆形或圆角矩形表示,图形内写上属性名,并用直线将其与相应的实体连接起来。

联系:用菱形表示,菱形框内写上联系名,因为联系是实体之间的一种行为,所以通常用动词表示联系名,并用直线分别与有关实体连接起来,同时在直线旁边标上联系

的类型(1∶1,1∶N或M∶N)。如果一个联系具有属性,则这些属性也要用直线与

该联系连接起来。

2.1.4 常用的数据模型

目前,数据库领域中最常用的数据模型有3种:层次模型、网状模型、关系模型。

其中层次模型和网状模型统称为非关系模型。

1. 层次模型

1) 层次模型的数据结构

在数据库中,对满足以下两个条件的数据模型称为层次模型。

有且仅有一个结点无双亲,这个结点称为“根结点”。

其他结点有且仅有一个双亲。

2) 层次模型的数据操作和数据完整性

层次模型的数据操作主要有查询、插入、删除和修改。进行插入、删除、修改操作时要满足层次模型的完整性约束条件。

3) 层次模型的存储结构

层次数据库中不仅要存储数据本身,还要存储数据之间的层次联系。层次模型数据的存储常常是和数据之间联系的存储结合在一起的。

常用的存储结构有两种。

(1) 邻接法

按照树的前序遍历顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来体现(或隐含)层次顺序。

(2) 链接法

用指针来反映数据之间的层次联系,可以采用两种方式。

●子女-兄弟链接法。

●层次序列链接法。

4) 层次模型的特点

层次模型的优点是:层次模型数据结构简单,对具有一对多的层次关系的描述非常自然、直观、容易理解。记录之间的联系通过指针来实现,查询效率较高。

2. 网状模型

1) 网状模型的数据结构

在网状模型中,允许:

●一个以上的结点无双亲。

●一个结点可以有多于一个的双亲。

2) 网状模型的数据操作与完整性约束

网状模型一般来说没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统

对数据操作都加了一些限制,提供了一定的完整性约束。

DBTG在模式DDL中提供了定义DBTG数据库完整性的若干概念和语句,主要有:

●支持记录码的概念,码即惟一标识记录的数据项的集合。

●保证一个联系的双亲记录和子女记录之间是一对多的联系。

●可以支持双亲记录和子女记录之间某些约束条件。

3) 网状模型的存储结构

网状模型的存储结构中关键是如何实现记录之间的联系。常用的方法是链接法,包括单向链接、双向链接、环状链接、向首链接等,此外还有指针阵列法、二进制阵列法、索引法,具体的数据库系统中实现各不相同。

4) 网状模型的特点

网状模型的优点是:记录之间联系通过指针实现,具有良好的性能,存取效率较高。能够更为直接地描述现实世界,如一个结点可以有多个双亲。

网状模型的缺点是:随着应用环境的扩大,数据库的结构会变得越来越复杂,编写应用程序也会更加复杂,程序员必须熟悉数据库的逻辑结构。

3. 关系模型

●关系模型是建立在数学概念基础上的。

●关系模型中使用关系来表示实体。

●关系模型中实体之间的联系也使用关系来表示。

关系模型诞生以后发展迅速,深受用户的喜爱并得到广泛应用,具有下列优点。

1) 关系模型具有严格的理论基础

关系模型以关系代数为依据,建立在数学基础之上,有严格的数学定义。

2) 关系模型的数据结构单一

对数据的检索结果也是关系,无论原始数据还是结果数据都是同一种数据结构。用户的观点下数据的逻辑结构就是单一的关系——二维表,操作简单、结构清晰,用户易懂易用。

3) 关系模型存取简单

关系模型的存取路径对用户透明,用户只需要了解怎么查找、更新所关心的数据,而不必详细说明存取路径,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

2.2 关系模型

2.2.1 关系的定义

1. 域

域是一组具有相同数据类型的值的集合。例如,自然数、{0,1}、{A,B,C,D}等都可以是域。

2. 笛卡儿积

给定一组域D l,D2,…,D n(可以有相同的域),则笛卡儿积定义为:

D1×D2×…×D n={(d l,d2,…,d n) | d i∈D i,i=1,2,…,n}

其中每个(d l,d2,…,d n)叫做元组,元组中的每一个值d i叫做分量,d i必须是D i中的一个值。

显然,笛卡儿积的基数就是构成该积所有域的基数的累乘积。

3. 关系

D1×D2×…×D n的子集称作在域D l,D2,…,D n上的关系,记作:

R(D l,D2,…,D n)

其中,R为关系名,n是关系的目或度,D i是第i个域名。

当n=1时,关系仅含一个域,称该关系为单元关系。

当n=2时,关系含有两个域,称该关系为二元关系。

依此类推,若关系中含有n个域,则称该关系为n元关系。

2.2.2 关系中的术语

1. 元组

表中的一行称为一个元组,在数据库中也称为记录。

2. 属性

表中的一列称为一个属性,用来描述实体的特征,属性分为属性名和属性值。

3. 域

属性的取值范围。

4. 关系模式

关系模式描述关系的信息结构和语义限制,是型的概念;而关系是关系模式对应的一个实例,是值的概念。

5. 关系数据库

利用关系模型表示和处理数据的数据库,是一些相关的表和其他数据库对象的集合。

6. 关键字/码

若关系中的某一个属性或属性组的值惟一地决定其他所有属性即元组的值,而其任何真子集无此性质,则这个属性或属性组称为该关系的关键字。

7. 候选键/候选关键字/候选码

如果一个关系中有多个属性或属性组都能用来标识该关系的元组,那么这些属性或属性组都称为该关系的候选关键字。

8. 主键/主关键字/主码

在一个关系的多个候选关键字中指定其中一个作为该关系的关键字,它就称为主键。

9. 主属性

若关系中的一个属性是构成某一个候选关键字的属性组合中的一个,则称该属性为主属性。

2.2.3 关系模型的三要素

关系模型包括数据结构、关系操作和关系完整性三个组成部分。

1. 数据结构——关系

在数据库中要区分型和值,关系数据库中,关系模式是型,关系是值;关系是元组的集合,关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映像关系。

2. 关系操作

关系模型中常用的关系操作有数据查询和数据更新两大部分,其中数据查询包括选择、投影、连接、除、并、交、差,数据更新包括插入、删除、修改操作。数据查询的表达能力是其中最主要的部分。

3. 关系完整性约束

关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户定义的完整性。

2.2.4 关系的性质

关系模型是建立在集合代数基础上的,关系是有严格的数学定义的,并不是所有的二维表格都可以称为关系。

● 关系数据库中,每一个关系要满足一定的要求或者规范条件,满足不同程度要求的

为不同范式的关系。

● 但对关系最基本的要求是不允许表中表,即关系数据模型中,所有的属性都应该是

不可再分的最小数据项。

2.3 关系的规范化

2.3.1 函数依赖

1. 函数依赖的定义

如果给定属性X 的值能够确定属性Y 的值,则称属性X 函数决定属性Y ,或称属性Y 函数依赖于属性X 。一个关系上的函数依赖集,简写为FD 。

函数依赖是关系模式R 上属性之间需要满足的约束条件,它属于语义范畴的概念,所以,只能根据语义来确定函数依赖。

2. 平凡函数依赖与非平凡函数依赖

在关系模式R(U)中,对于U 的子集X 和Y ,如果X →Y ,并且Y 是X 的子集,则称X →Y 是平凡函数依赖;如果Y 不是X 的子集则称X →Y 是非平凡函数依赖。我们讨论的总是非平凡函数依赖。

3. 完全函数依赖/部分依赖

在关系模式R(U)中,对于U 的子集X 和Y ,有函数依赖X →Y ,如果存在X 的非空真

子集X ’,使得X ’→Y 成立,则称Y 部分依赖于X ,记作p X Y ??

→。否则,称Y 完全依赖于X ,记作f X Y ??

→。 4. 传递函数依赖

在关系模式R(U)中,对于U 的子集X 、Y 和Z ,如果存在非平凡的函数依赖X →Y 和

Y →Z ,而Y →﹨

X ,则称Z 传递函数依赖于X ,记作t X Z ??→。

2.3.2 第一范式(1NF )

满足不同程度的要求构成不同的范式级别,关系模式有下列几种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF 、第四范式(4NF)和第五范式(5NF)。第四范式和第五范式是建立在多值依赖和连接依赖基础上的。

各种范式之间的关系如 图2.16所示。

图2.16 不同范式之间的关系

定义:在关系模式R 的每一个具体关系r 中,如果每个属性值都是不可再分的最小数据项,则称关系模式R 是第一范式的。记为R ∈1NF 。

2.3.3 第二范式(2NF)

1. 数据冗余

每当一名学生学习一门课程时,该课程的名称和学分两个属性值就重复存储一次。

2. 更新异常

如果要调整某门课程的学分,则该课程对应的每个元组的值都必须更新,这不仅增加了更新的代价,更严重的是存在潜在的数据不一致性,有可能会出现同一门课程有两种学分现象。

3. 插入异常

如果学校计划增开新课,则应该把新课的课程号、课程名称及学分插入到表中,但是,由于当前没有任何学生学习该门课程,导致缺少关键字的一部分(学号)将不能执行插入操作,只能在有学生学习了这门课程之后,才能把该课程信息存入表中。

4. 删除异常

与插入异常正相反,如果学生已经毕业,要从当前数据库中删除学习记录,某些门课程刚好没有在校学生学习,那么这些课程的信息将无法保留,这是极不合理的现象。

定义:如果关系模式R(U)的所有非主属性完全函数都依赖于任意一个候选关键字,则称关系模式R是第二范式的,记为R∈2NF。

2.3.4 第三范式(3NF)

定义:在关系模式R(U)中,对于每一个非主属性,都不存在对于任意一个候选关键字的传递依赖,则称关系R是第三范式的,记为R∈3NF。

最后,从数据库设计实践的角度给出几条经验原则:

●部分函数依赖和传递函数依赖的存在是产生数据冗余、更新异常的重要原因。因此,

在关系规范化中应尽可能消除属性间的这些依赖关系。

●非第三范式的1NF、2NF以至非规范化的模式,由于它们性能上的弱点,一般不

宜作为数据库模式。

●由于第三范式的关系模式中不存在非主属性对关键字的部分依赖和传递依赖关系,

因而消除了很大一部分冗余和更新异常,具有较好的性能。所以,一般要求数据库

设计达到3NF。

2.4 关系完整性

2.4.1 实体完整性

实体完整性规则:若属性K是基本关系R的主属性,则属性K不能取空值。

实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主键整体不能取空值。

对于实体完整性规则说明如下:

●实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体

集。例如,学生关系对应于学生的集合。

●现实世界中的实体是可区分的,即它们具有某种惟一性标识。

●相应地,关系模型中以主键作为惟一性标识。

●主键中的属性即主属性不能取空值。所谓空值就是“不知道”或“无意义”的值。

如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这

与实体是可区分的相矛盾,因此这个规则称为实体完整性。

2.4.2 参照完整性

现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关

系来描述的,这样就自然存在着关系与关系间的引用。

不仅两个或两个以上的关系间可以存在引用关系,同一关系内部属性间也可能存在引用关系。

参照完整性规则就是定义外键与主键之间的引用规则。

参照完整性规则:若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键K 相对应,则对于R中每个元组在F上的值必须为,或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主键值。

参照完整性规则中,R与S可以是同一个关系。

关系数据库的完整性规则是数据库设计的重要内容。许多关系DBMS能够自动地支持关系完整性规则,只要用户在定义表的结构时,指出主键、外键和外键的参照表(来源),DBMS 就能自动实现这两种完整性约束条件。

2.4.3 用户定义的完整性

用户定义的完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。例如,某个属性必须取惟一值、某些属性值之间应满足一定的函数关系、某个属性的取值范围在0~100之间、性别的取值必须为“男”或“女”等。

在实际系统中,这类完整性规则一般在建立表的同时进行定义,关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。

本章小结

●本章首先介绍了数据模型的概念,数据之间的联系,实体及其属性,实体间的联系。在

引入实体-联系模型后,介绍了层次模型、网状模型、关系模型,并且比较详细地讲解了各种模型的结构和特点,为更加深刻地理解数据模型奠定了基础。

●本章重点介绍了关系模型,通过对关系模型常用术语的介绍深刻理解关系数据库。提出

了关系的规范化,通过函数依赖学习了第一范式(1NF),第二范式(2NF),第三范式(3NF)。

通过实体完整性、参照完整性、用户定义的完整性学习了关系完整性。

关系数据库理论

第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的规范化程序最

数据库设计理论

数据库的设计理论 第一节,关系模式的设计问题 一概念: 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 删除异常。

关系数据库设计

目录 一 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.数据完整性的独立性?专用于某个关系型数据库的完整性约束必须可以用关系数据库子语言定 义,而且可以存储在数据目录中,而非程序中。

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

第四章关系数据库设计理论练习题 一、选择题 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、关系运算理论;

关系数据库重点

第2章关系数据库 教学课时:6课时 本章学习目标: 1.掌握数据模型的基本概念 2.掌握实体-联系模型 3.掌握关系模型的概念和性质 4.掌握关系的完整性规则 5.掌握关系数据库的规范化理论、范式的基本概念和分解方法 教学重点: 1.关系数据模型 2.关系的规范化 3.关系完整性 教学难点: 1.实体—联系模型 2.关系模型的三要素 3.范式 4.实体完整性 5.参照完整性 教学方法:讲授法、讲解法、演示法、讨论法 教学过程及内容: 2.1 数据模型 2.1.1 数据模型的概念 一般地讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此,数据模型通常由数据结构、数据操作和数据的完整性约束三部分组成。 1. 数据结构 数据结构是所研究的对象类型的集合,这些对象是数据库的组成成分。 2. 数据操作 数据操作是指对数据库中各种对象型的实例(如关系模型中的关系的值)所允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。 3. 数据的完整性约束条件 数据的完整性约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 2.1.2 数据之间的联系 数据模型是数据库系统的核心和基础,各种数据库管理系统都是基于某种数据模型的。而具体的数据库管理系统所支持的数据模型不便于非计算机专业人员理解和应

用。 ●概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象。它不是面向 机器实现,而是面向现实世界,是按照用户的观点来对数据和信息建模。 图2.1 数据抽象层次 1. 实体及其属性 1) 实体 客观存在并可相互区分的事物称为实体。 2) 属性 实体所具有的某一特性称为属性。 3) 实体和属性的型与值 实体和属性有型与值之分。 4) 实体集 具有相同实体型的实体的集合称为实体集。 5) 关键字 在实体属性中,用于区别实体集合中不同个体的某个属性或某几个属性的组合,称为关键字。 2. 实体间的联系 实体内部的联系通常是指实体的各属性之间的联系。实体之间的联系通常是指一个实体集内部各实体之间的联系或者不同的实体集的实体之间的联系。 两个实体集之间的联系可以分为三类。 ●一对一联系(1∶1) ●一对多联系(1∶N) ●多对多联系(M∶N) 图2.2表示了两个实体集间的以上3种联系。 实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。 通常情况下,两个以上的实体集之间也存在着一对一、一对多或多对多联系。 (a)一对一联系 (b)一对多联系 (c)多对多联系 实体集A 实体集B 实体集A 实体集B 实体集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图画出概念模型。

关系数据库中

1关系数据库中,主键的正确描述是(D )。 (A) 创建唯一的索引,允许空值(B) 允许有多个主键的 (C) 只允许以表中第一字段建立(D) 为标识表中唯一的实体 2以下不适合创建非聚集索引的情况是(A )。 (A) 表中包含大量重复的列值(B) 带WHERE子句的查询 (C) 经常需要进行联接和分组操作的列(D) 表中包含大量非重复的列值 3使用视图的作用有4个,下列哪一个是错误的(A )。 (A) 导入数据(B) 定制操作 (C) 简化操作(D) 安全性 4叙述A:当视图被撤消,不会对基表造成任何影响。叙述B:不能改变作为计算结果的列。关于对以上叙述中,正确的是(C )。 (A) 叙述A错误,叙述B正确(B) 叙述A正确,叙述B错误 (C) 都正确(D) 都是错误的 5语句:select 10%7 的执行结果是(D )。 (A) 7 (B) 1 (C) 70 (D) 3 6下列关于关联的叙述正确的是( D)。 (A) 已创建关联的两个表中的关联字段数据 可能完全不同(B) 可在两个表的不同数据类型的同名字段 间创建关联 (C) 可在两个表的不同数据类型的字段间创 建关联(D) 可在两个表的相同数据类型的不同名称 的字段间创建关联 7用UNION合并两个SELECT查询的结果时,下列叙述中错误的是()。 (A) 两个SELECT语句必须输出同样的列数(B) 将来自不同查询的数据组合起来 (C) 两个表各相应列的数据类型必须相同(D) 被组合的每个查询都可以使用ORDER B Y子句 8查询所有目前年龄在24岁以上(不含24岁)的学生信息(学号、姓名、年龄),正确的命令是()。 (A) SELECT 学号,姓名,年龄=YEAR(GETDA TE())-YEAR(出生日期) FROM 学生 WHE RE YEAR(GETDATE())-YEAR(出生日 期)>24 (B) SELECT 学号,姓名,YEAR(GETDATE())- YEAR(出生日期) 年龄 FROM 学生 WHE RE YEAR(GETDATE())-YEAR(出生日 期)>24

第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分解为三个关系

数据库中表之间的关系

数据库中表之间的关系 表关系(一对一,一对多,多对多) 收藏 可以在数据库图表中的表之间创建关系,以显示一个表中的列与另一个表中的列是如何相链接的。 在一个关系型数据库中,利用关系可以避免多余的数据。例如,如果设计一个可以跟踪图书信息的数据库,您需要创建一个名为 titles 的表,它用来存储有关每本书的信息,例如书名、出版日期和出版社。您也可能保存有关出版社的信息,诸如出版社的电话、地址和邮政编码。如果您打算在 titles 表中保存所有这些信息,那么对于某出版社出版的每本书都会重复该出版社的电话号码。 更好的方法是将有关出版社的信息在单独的表,publishers,中只保存一次。然后可以在 titles 表中放置一个引用出版社表中某项的指针。 为了确保您的数据同步,可以实施 titles 和 publishers 之间的参照完整性。参照完整性关系可以帮助确保一个表中的信息与另一个表中的信息相匹配。例如,titles 表中的每个书名必须与 publishers 表中的一个特定出版社相关。如果在数据库中没有一个出版社的信息,那么该出版社的书名也不能添加到这个数据库中。 为了更好地理解表关系,请参阅: 定义表关系 实施参照完整性 定义表关系 关系的确立需要通过匹配键列中的数据(通常是两表中同名的列)。在大多数情况下,该关系会将一个表中的主键(它为每行提供了唯一标识)与另一个表的外部键中的某项相匹配。例如,通过创建 titles 表中的 title_id(主键)与 sales 表中的 title_id 列(外部键)之间的关系,则销售额就与售出的特定书名相关联了。 表之间有三种关系。所创建关系的类型取决于相关列是如何定义的。 一对多关系 多对多关系

关系数据库设计理论

第6章关系数据库设计理论 本章主要讲解在关系数据库的设计过程中,如何减少数据冗余,避免出现异常,该如何对数据库模式进行中心设计。 1.深入理解函数依赖和键码的概念。学会计算属性的封闭集。 2.模式设计是本章的重点。了解数据冗余和更新异常产生的根源;理解关系模式规范化的途径;准确理解第一范式、第二范式、第三范式和BC范式的含义、联系与区别; 深入理解模式分解的原则;熟练掌握模式分解的方法,能正确而熟练的将一个关系模式分解成属于第三范式或BC范式的模式。 3.了解多值依赖和第四范式的概念,掌握把关系模式分解成属于第四范式的模式的方法。 本章主要的知识点包括: 知识点1 函数依赖 知识点2 模式设计 知识点3 多值依赖 学习要点1、函数依赖 1.1函数依赖的定义 如果关系R的两个元组在属性A1,A2,… An上一致(也就是,两个元组在这些属性所对应的各个分量具有相同的值),则它们在另一个属性B上也一致。那么,我们就说在关系R中属性B函数依赖于属性A1A2…An。记做A1A2…An ,也可以说“A1,A2,…,An函数决定B”。A1A2…An称为决定因素。 举例: 在这个关系中,学号确定后,学生的姓名及所在的系就都确定了。属性中的这种依赖关系就是函数依赖。在本例中存在下列函数依赖。 ?Sno SN ame ?Sno S dept ?S dept Mname ?Sno C name Grade 1.2 关系的键码如一个或多个属性的集合{A1,…,An}满足如下条件,称该集合为关系R的键码: 1. 这些属性函数决定该关系的所有其它属性。 2. {A1,…,An}的任何真子集都不能函数决定R的所有其它属性,键码必须是最小的。 1.3 超键码包含键码的属性集称为“超键码” 。

关系数据库重点

第 2 章关系数据库 教学课时:6 课时本章学习目标: 1.掌握数据模型的基本概念 2.掌握实体- 联系模型 3.掌握关系模型的概念和性质 4.掌握关系的完整性规则 5.掌握关系数据库的规范化理论、范式的基本概念和分解方法教学重点: 1.关系数据模型 2.关系的规范化 3. 关系完整性教学难点: 1.实体—联系模型 2.关系模型的三要素 3. 范式 4. 实体完整性 5. 参照完整性 教学方法:讲授法、讲解法、演示法、讨论法 教学过程及内容: 2.1 数据模型 2.1.1 数据模型的概念 一般地讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此,数据模型通常由数据结构、数据操作和数据的完整性约束三部分组成。 1. 数据结构数据结构是所研究的对象类型的集合,这些对象是数据库的组成成分。 2. 数据操作 数据操作是指对数据库中各种对象型的实例(如关系模型中的关系的值)所允许执行的 操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。 3.数据的完整性约束条件 数据的完整性约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 2.1.2 数据之间的联系 数据模型是数据库系统的核心和基础,各种数据库管理系统都是基于某种数据模型的。而具体 的数据库管理系统所支持的数据模型不便于非计算机专业人员理解和应

用。 概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象。它不是面向 机器实现,而是面向现实世界,是按照用户的观点来对数据和信息建模。 图2.1数据抽象层次 1.实体及其属性 1)实体 客观存在并可相互区分的事物称为实体。 2)属性 实体所具有的某一特性称为属性。 3)实体和属性的型与值实体和属性有型与值之分。 4)实体集 具有相同实体型的实体的集合称为实体集。 5)关键字 在实体属性中,用于区别实体集合中不同个体的某个属性或某几个属性的组合,称为关键字。 2.实体间的联系 实体内部的联系通常是指实体的各属性之间的联系。实体之间的联系通常是指一个实体 集内部各实体之间的联系或者不同的实体集的实体之间的联系。 两个实体集之间的联系可以分为三类。 一对一联系(1 : 1) 一对多联系(1 : N) 多对多联系(M : N) 图2.2表示了两个实体集间的以上3种联系。 实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。 通常情况下,两个以上的实体集之间也存在着一对一、一对多或多对多联系。 实体集A 实体集B 实体集A 实体集B X

《数据库原理》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、叙述关系模型的三类完整性,并举例说明。 答:

关系数据库理论

关系数据库理论

————————————————————————————————作者:————————————————————————————————日期:

第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.CDD.DE

4.设学生关系S(SNO,SNAME,SSEX,SAGE,SDPART)的主键为SNO,学生选课关系SC(SNO,CNO,SCORE)的主键为SNO和CNO,则关系R(SNO,CNO,SSEX,SA GE,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的规范化程序最高达到( )。 A.1NFB.2NF C.3NFD. BCNF

第二章 关系数据库基本原理

第二章关系数据库基本原理 一、选择题 1.关系数据表的关键字可由()字段组成。 A、一个 B、两个 C、多个 D、一个或多个 2.下列关于关系数据库叙述错误的是()。 A、关系数据库的结构一般保持不变,但也可根据需要进行修改 B、一个数据表组成一个关系数据库,多种不同的数据则需要创建多个数据库 C、关系数据表中的所有记录的关键字字段的值互不相同 D、关系数据表中的外部关键字不能用于区别该表中的记录 3.参照完整性规则:表的()必须是另一个表的主键的有效值,或者是空值。 A、候选键 B、外键 C、主键 D、主属性 4.关系数据库规范化是为了解决关系数据库中的()问题而引入的。 A、插入、删除和数据冗余 B、提高查询速度 C、减少数据操作的复杂性 D、保证数据的安全性和完整性 5.关系数据库是若干()的集合。 A、表(关系) B、视图 C、列 D、行 6.在关系模式中,实现“关系中不允许出现相同的元组”的约束是()约束。 A、候选键 B、主键 C、键 D、超键 7.约束“年龄限制在18~30岁之间”属于DBMS的()功能。 A、安全性 B、完整性 C、并发控制 D、恢复 8.反映现实世界中实体及实体间联系的信息模型是()。 A、关系模型 B、层次模型 C、网状模型 D、E-R模型 9.关系数据模型的3个组成部分中,不包括()。 A、完整性规则 B、数据结构 C、数据操作 D、并发控制 10.如何构造出一个合适的数据逻辑结构是()主要解决的问题。 A、关系数据库优化 B、数据字典 C、关系数据库规范化理论 D、关系数据库查询 11.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的 联系类型是()。 A、多对多 B、一对一 C、多对一 D、一对多 12.关系模式的任何属性()。 A、不可再分 B、可以再分 C、命名在关系模式上可以不唯一 D、以上都不是 13.一个m:n联系转换为一个关系模式。关系的关键字为()。 A、某个实体的关键字 B、各实体关键字的组合 C、n端实体的关键字 D、任意一个实体的关键字 14.候选关键字的属性可以有()。 A、多个 B、0个 C、1个 D、1个或多个 15.关系模型中有三类完整性约束:实体完整性、参照完整性和域完整性。定义外部关键字 实体的是哪一类完整性()? A、实体完整性 B、域完整性 C、参照完整性 D、实体完整性、参照完整性和域完整性 16.设已知F={C→A,CG→D,CG→B,CE→A,ACD→B},从中去掉哪些函数依赖关系后得到 的新的函数依赖集合F1与F是等价的()。

数据库原理及应用(课后练习)---第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.关系模式设计不规范会带来一系列的问题 数据冗余 更新异常 插入异常 删除异常 因此需要一个标准的模式来解决这些问题,引入模式分解来解决存在问题。 2.无损连接的概念比较好懂,就是要保证模式分解后仍然可以根据分解后的关系回退回分解前。这可以保证分解过程没有丢失信息,不会破坏和更改已经存在的。 而检验无损连接的方法分为两种: ①当R分解为两个关系模式R1和R2时,有一种简便的方法可以测试无损连接性 p={R1,R2} p是无损连接的分解当且仅当下面之一满足 (R1 ∩R2)→(R1-R2) (R1 ∩R2)→(R2-R1) 其中R1 ∩R2指模式的交,返回公共属性 R2-R1表示模式的差集,返回属于R2但不属于R1的属性集 也可以理解为R1∩R2的结果是R的超码,即该结果可以推出全部R属性。 ②当R分解为多个关系模式时,可以使用chase算法:

举个栗子 R(A,B,C,D,E) R1(A,D), R2(A,B), R3(B,E), R4(C,D,E), R5(A,E) F={A→C, B→C, C→D, DE→C, CE→A} 判断R分解为p={R1,R2,R3,R4,R5}是否是无损连接的分解?第一步,构造初始表。

第二步,处理表 A→C:将b23,b53改为b13 B→C:将b33改为b13 C→D:将b24,b34,b54改为a4 DE→C:将第3行和第5行的C改为a3 CE→A:将第3行和第4行的A改为a1 处理后BE行将全变为a,证明为无损连接。 3.函数依赖(FD)的表现形式是x→y,可以根据函数的概念理解,当x属性的值相同时,可以断定y也一定相同。在实际关系模式中,x与y会存在逻辑上的相关性,如一个学号会对应一个姓名。要理解函数依赖是关系模式的内涵,保持函数依赖才能保持关系模式中存在的关系。 举个栗子: R(city, street, zip), F={(city,street)→zip, zip→city} 分解为p={R1(street,zip),R2(city,zip)} 在R1中插入(’a’,’100081’)和(’a’,’100082’)

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

《数据库原理及应用》期末复习资料 一、单项选择题 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.自然连接

相关文档
最新文档