资源描述
数据库原理及应用
(第三版)
钱雪忠 等主编
北京邮电大学出版社
2010.05
1
第1章 绪论
一、选择题
1、A
2、A
3、A
4、A
5、B
6、C
7、C
8、A
9、A
10、C
1、( )是位于用户与操作系统之间的一层数据管理软件。数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMS B.DB C.DBS D.DBA
2、文字、图形、图像、声音、学生的档案记录、货物的运输情况等,这些都是( )
A.DATA B.DBS C.DB D.其他
3、目前( )数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统。
A.关系 B.面向对象 C.分布 D.对象-关系
4、( )是刻画一个数据模型性质最重要的方面。因此在数据库系统中,人们通常按它的类型来命名数据模型。
A.数据结构 B.数据操纵 C.完整性约束 D.数据联系
5、( )属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次。
A.数据模型 B.概念模型 C.非关系模型 D.关系模型
6、当数据库的( )改变了,由数据库管理员对( )映象作相应改变,可以使( )保持不变,从而保证了数据的物理独立性。
(1)模式 (2) 存储结构 (3)外模式/模式 (4)用户模式 (5)模式/内模式
A.(1)和(3)和(4) B.(1)和(5)和(3)
C.(2)和(5)和(1) D.(1)和(2)和(4)
7、数据库的三级体系结构即子模式、模式与内模式是对( )的三个抽象级别。
A.信息世界 B.数据库系统 C.数据 D.数据库管理系统
8、英文缩写DBA代表( )
A.数据库管理员 B.数据库管理系统 C.数据定义语言 D.数据操纵语言
9、模式和内模式( )。
A.只能各有一个 B.最多只能有一个 C.至少两个 D.可以有多个
10、在数据库中存储的是( )。
A.数据 B.信息 C.数据和数据之间的联系 D.数据模型的定义
二、填空题
1、数据库就是长期储存在计算机内_有组织的__、_可共享__的数据集合。
2、数据管理技术已经历了人工管理阶段、_文件系统阶段_和_数据库系统阶段_三个发展阶段。
3、数据模型通常都是由_数据结构_、_数据操作_和_数据完整性约束_三个要素组成。
4、数据库系统的主要特点:_数据整体结构化_、数据冗余度小、具有较高的数据程序独立性、具有统一的数据控制功能等。
5、用二维表结构表示实体以及实体间联系的数据模型称为__关系__数据模型。
6、在数据库的三级模式体系结构中,外模式与模式之间的映象,实现了数据库的__ _____数据逻辑__独立性。
7、数据库系统是以_数据库或数据库中的数据___为中心的系统。
8、E-R图表示的概念模型比_DBMS支持的数据模型_更一般、更抽象、更接近现实世界。
9、外模式,亦称为子模式或用户模式,是_局部用户__能够看到和使用的局部数据的逻辑结构和特征的描述。
10、数据库系统的软件主要包括支持_DBMS_运行的操作系统以及__DBMS_本身。
三、简答题
1、简述计算机数据管理技术发展的三个阶段。
解:
数据管理技术已经历了人工管理、文件系统及数据库系统三个发展阶段。这三个阶段的特点及其比较如下表1.1所示。
表1.1 数据管理三个阶段的比较
比较项目
人工管理阶段
文件系统阶段
数据库系统阶段
应用背景
科学计算
科学计算、管理
大规模管理
背
硬件背景
无直接存取存储设备
磁盘、磁鼓
大容量磁盘
景
软件背景
没有操作系统
有文件系统
有数据库管理系统
处理方式
批处理
联机实时处理、批处理
联机实时处理、分布处理、批处理
数据的管理者
用户(程序员)
文件系统
数据库管理系统
数据面向的对象
某一应用程序
某一应用
现实世界
特
数据的共享程度
无共享,冗余度极大
共享性差,冗余度大
共享性高,冗余度小
数据的独立性
不独立,完全依赖于程序
独立性差
具有高度的物理独立性和一定的逻辑独立性
点
数据的结构化
无结构
记录内有结构、整体无结构
整体结构化,用数据模型描述
数据控制能力
应用程序自己控制
应用程序自己控制
由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力
(1)人工管理阶段:20世纪50年代中期以前,计算机主要用于科学计算。硬件设施方面:外存只有纸带、卡片、磁带,没有磁盘等直接存取设备;软件方面:没有操作系统和管理数据的软件;数据处理方式是批处理。人工管理数据具有以下几个特点:1)数据不保存;2)应用程序管理数据;3)数据不共享;4)数据不具有独立性。
(2)文件系统阶段:20世纪50年代后期到60年代中期,这时计算机已大量用于数据的管理。硬件方面:有了磁盘、磁鼓等直接存取存储设备;软件方面:操作系统中已经有了专门的管理软件,一般称为文件系统;处理方式有批处理、联机实时处理。特点如下:1)数据长期保存;2)文件系统管理数据;3)数据共享性差,冗余度大;4)数据独立性差;
(3)数据库系统阶段:20世纪60年代后期以来,计算机用于管理的规模更为庞大,数据量急剧增长,硬件已有大容量磁盘,硬件价格下降;软件则价格上升,使得编制、维护软件及应用程序成本相对增加;处理方式上,联机实时处理要求更多,分布处理也在考虑之中。介于这种情况,文件系统的数据管理满足不了应用的需求,为解决共享数据的需求,随之从文件系统中分离出了专门软件系统——数据库管理系统,用来统一管理数据。
数据库系统阶段具有如下优于文件系统的特点:1)数据结构化;2)数据的共享性高,冗余度低,易扩充;3)数据独立性高;4)数据由DBMS统一管理和控制。
2、常用的三种数据模型的数据结构各有什么特点?
解:
常用的三种数据模型是层次模型、网状模型和关系模型。它们的数据结构及特点分别介绍如下:
1)层次模型的数据结构——树型结构
在数据库中,对满足以下两个条件的基本层次联系的集合称为层次模型。
(1)有且仅有一个节点无双亲,这个节点称为“根节点”。
(2)其他节点有且仅有一个双亲。
所谓基本层次联系是指两个记录类型以及它们之间的一对多的联系。
在层次模型中,每个结点表示一个记录类型,记录之间的联系用结点之间的连线表示,这种联系是父子之间的一对多的联系。这就使得数据库系统只能处理一对多的实体联系。
每个记录类型可包含若干个字段,这里,记录类型描述的是实体,字段描述的是实体的属性。各个记录类型及其字段都必须命名,并且名称要求唯一。每个记录类型可以定义一个排序字段,也称为码字段,如果定义该排序字段的值是唯一的,则它能唯一标识一个记录值。若用图来表示,层次模型是一棵倒立的树。节点层次(Level)从根开始定义,根为第一层,根的子女称为第二层,根称为其子女的双亲,同一双亲的子女称为兄弟。
2)网状模型的数据结构——网状结构图
在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:
(1)允许一个以上的结点无双亲;
(2)一个结点可以有多于一个的双亲。
网状模型是一种比层次模型更具有普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联系。因此网状模型可以更直接地去描述现实世界。而层次模型实际上是网状模型的一个特例。与层次模型一样,网状模型中的每个结点表示一个记录类型,每个记录类型可包含若干个字段,结点间的连线表示记录类型之间的一对多的父子联系。
从定义可看出,层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不唯一的。
3)关系模型——二维表
关系模型与层次模型和网状模型不同,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。每一行称为一个元组,每一列称为一个属性(或字段)。下面是关系模型中的涉及到的相关的术语:
关系:一个关系对应一张二维表,如一张教师登记表。
元组:二维表中的一行称为一个元组。
属性:二维表中的一列称为一个属性,对应每一个属性的名字称为属性名。
主码:如果二维表中的某个属性或是属性组可以唯一确定一个元组,则称为主码,也称为关系键。
域:属性的取值范围称为域,如人的年龄一般在1-120岁之间,大学生的年龄属性的域是14-38,性别的域是男和女等。
分量:元组中的一个属性值。例如,教师号对应的值001、002、003都是分量。
关系模式:表现为关系名和属性的集合,是对关系的具体描述。一般表示为:
关系名(属性1,属性2,…,属性N)。如教师关系模式为:教师(教师号,姓名,年龄,职称)
在关系模型中,实体以及实体间的联系都是用关系来表示。
关系模型要求关系必须是规范化的,即要求关系必须满足一定规范条件,这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有子表或子列。
3、试述数据库系统的特点。
解:
数据库系统阶段具有如下优于文件系统的主要特点:1)数据结构化;2)数据的共享性高,冗余度低,易扩充;3)数据独立性高;4)数据由DBMS统一管理和控制。
1)数据结构化:数据库系统实现整体数据的结构化,是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。在数据库系统中,数据不再针对某一应用,而是面向全组织,是整体结构化的。不仅数据是结构化的,而且存取数据的方式也是很灵活的,可以存取数据库中的某一个数据项(或字段)、一组数据项、一个记录或是一组记录。
2)数据的共享性高,冗余度低,易扩充:数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大的减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据系统弹性大,易于扩充,可以适应各种用户的要求。可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。
3)数据独立性高:数据独立性包括了数据的物理独立性和数据的逻辑独立性两方面。
物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时,应用程序不用改变。
逻辑独立性是指用户的应用程序与数据库的整体逻辑结构是相互独立的,也就是说,数据的整体逻辑结构改变了,用户程序也可以不需修改的。数据独立性是由DBMS的三级模式结构与二级映象功能来保证的。
4)数据由DBMS统一管理和控制:DBMS为保证共享数据的安全、正确、可靠等提供以下几方面的数据控制功能:(1)数据的安全性控制;(2)数据的完整性约束;(3)并发控制;(4)数据库恢复。
4、试述数据模型的概念、数据模型的作用和数据模型的三要素。
解:
1)数据模型的概念:数据模型是模型中的一种,是现实世界数据特征的抽象,它描述了系统的三个方面:静态特性、动态特性和完整性约束条件。
2)数据模型的作用:数据模型应满足三方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。
不同的数据模型实际上是提供给我们模型化数据和信息的不同工具。根据模型应用的不同目的,可以将这些模型粗分为两类,他们分属于两个不同的层次。
第一类模型是概念模型,也称信息模型,它是按用户的观点来对数据和信息建模的,主要用于数据库设计。
另一类模型是数据模型,主要包括层次模型、网状模型、关系模型、面向对象模型等,它是按计算机系统对数据建模,主要用于在DBMS中对数据的存储、操纵、控制等的实现。
为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换(或数据化)为机器世界。也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个DBMS支持的数据模型,而是概念级的模型;然后再把概念模型转换为计算机上某一DBMS支持的数据模型。
数据模型是数据库系统的核心和基础,各种机器上实现的DBMS软件都是基于某种数据模型的。可以说没有数据模型就没有数据库及其系统,其重要性不言而喻。
3)数据模型的三要素:
数据模型一般由数据结构、数据操作和数据完整性约束三部分组成(俗称三要素),是严格定义的一组概念的集合。
(1)数据结构:数据结构用于描述系统的静态特性,是所研究的对象类型的集合。数据模型按其数据结构分为层次模型、网状模型、关系模型和面向对象模型。其所研究的对象是数据库的组成部分,它们包括两类,一类是与数据类型、内容、性质有关的对象,例如网状模型中的数据项、记录,关系模型中的域、属性、实体关系等;一类是与数据之间联系有关的对象,例如网状模型中的系型、关系模型中反映联系的关系等。
数据模型的三要素示意图
(2)数据操作:数据操作用于描述系统的动态特性,是指对数据库中各种对象及对象的实例允许执行的操作的集合,包括对象的创建、修改和删除,对对象实例的检索和更新(例如插入、删除和修改)两大类操作及其它有关的操作等。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言等。
(3)数据完整性约束:数据的完整性约束是一组完整性约束规则的集合。完整性约束规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
数据模型的三要素紧密依赖相互作用形成一个整体(如图示意),如此才能全面正确地抽象、描述来反映现实世界数据的特征。
5、试述概念模型的作用。
解:
数据模型应满足三方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。
概念模型,也称信息模型,它是按用户的观点来对数据和信息建模的,主要用于数据库设计。
为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换(或数据化)为机器世界。也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个DBMS支持的数据模型,而是概念级的模型。
概念模型提供给我们从现实世界到信息世界模型化数据和信息手段与工具。若没有概念模型现实世界的问题很难转化到机器世界的数据库系统中来处理。
6、定义并理解概念模型中的以下术语:
实体、实体型、实体集、属性、码、实体联系图(E-R图)、三种联系类型
解:
(1)实体:实体是指客观存在并可以相互区别的事物。实体可以是具体的人、事、物。例如,一个学生,一位老师,一门课程,一个部门;也可以是抽象的概念或联系,把它看作为实体。例如,学生的选课,老师的授课等等都是实体。
(2)实体型:具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合组成的形式,称为实体型。例如,教师(教师号,姓名,职称,年龄)就是一个教师实体型。
(3)实体集:实体集是指同型实体的集合。例如,全体教师就是一个实体集。即教师实体集={'张三','李四',……}
(4)属性:属性是指实体所具有的某一特性。例如教师实体可以由教师号、姓名、年龄、职称等属性组成。
(5)码:码是指唯一标识实体的属性集。例如教师号在教师实体中就是码。
(6)联系:联系是指实体型与实体型之间、实体集内实体与实体之间以及组成实体的各属性间的关系。两个实体型之间的联系有以下三种:
1)一对一联系:如果实体集A中的每一个实体,至多有一个实体集B的实体与之对应。反之,实体集B中的每一个实体,也至多有一个实体集A的实体与之对应,则称实体集A与实体集B具有一对一联系,记作1:1。
例如,在学校里,一个系只有一个系主任,而一个系主任只在某一个系中任职,则系型与系主任型之间(或说系与系主任之间)具有一对一联系。
2)一对多联系:如果实体集A中的每一个实体,实体集B中的N个实体与之相对应,反之,如果实体集B中的每一个实体,实体集A中至多只有一个实体与之相对应,则称实体集A与实体集B具有一对多联系,记作1:N。
例如,一个系中有若干名教师,而每个教师只在一个系中任教,则系与教师之间具有一对多联系。
3)多对多联系:如果实体集A中的每一个实体,实体集B中有n个实体与之相对应,反之,如果实体集B中的每一个实体,实体集A也有m(m≥0)个实体与之相对应,则称实体集A与实体集B具有多对多的联系,记作m:n。
例如,一门课程同时有若干个教师讲授,而一个教师可以同时讲授多门课程,则课程与教师之间具有多对多联系。
单个或多个实体型之间也有类似于两个实体型之间的三种联系类型。具体略。
(7)实体联系图(E-R图)
实体联系图(E-R图)又称实体-联系方法。该方法用直观图形来描述现实世界抽象出的信息。E-R图提供了表示实体型、属性和联系的方法。
E-R图是体现实体型、属性和联系的之间关系的图形表示形式。具体表示方法为:
实体型:用矩形表示,矩形框内写明实体名。
属性:用椭圆表示,椭圆形内写明属性名。并用无向边将其与相应的实体连接起来。
联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。
举例说明略。
7、学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教师,每个教师只教一门课,每门课可由多个教师教;每个班有若干学生,每个学生选修若干课程,每门课程可由若干学生选修。请用E-R图画出该学校的概念模型,注明联系类型。
解:
8、每种工厂生产的产品由不同的零件组成,有的零件可用于不同的产品。这些零件由不同的原材料制成,不同的零件所用的材料可以相同。一个仓库存放多种产品,一种产品存放在一个仓库中。零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中(不跨仓库存放)。请用E-R图画出此关于产品,零件,材料,仓库的概念模型,注明联系类型。
解:
9、分别给出一个层次、网状和关系模型的实例。
解:
1)层次模型的实例
图1.17给出了一个系的层次模型。
图1.17 一个层次模型的示例
图1.18是图1.17的具体化,成为一个教师-学生层次数据库。该层次数据库有四个记录型。记录型系是根结点,由系编号、系名、办公地三个字段组成。它有两个子女结点教研室和学生。记录型教研室是系的子女结点,同时又是教师的双亲结点,它是教研室编号、教研室名两个字段组成。记录类型学生由学号、姓名、年龄三个字段组成。记录教师由教师号、姓名、研究方向三个字段组成。学生与教师是叶结点,它们没有子女结点。由系到教研室、教研室到教师、系到学生均是一对多的联系。
图1.18 教师-学生数据库模型
图1.19是图1.18数据库模型的一个值。
图1.19 教师-学生数据库的一个值
2)网状模型的实例
下面以教师授课为例,教师授课数据库可包含三个记录:教师、课程和授课。
每个教师可以讲授多门课程,显然对教师记录中的一个值,授课记录中可以有多个值与之联系,而授课记录中的一个值,只能与教师记录中的一个值联系。教师与授课之间联系是一对多的联系联系名为T-TC。同样,课程与授课之间的联系也是一对多的联系,联系名为C-TC。图1.24为教师授课数据库的网状数据库模式。
图1.24 教师、课程、授课的网状数据库模式
教师授课数据库的实例如图1.25所示。
图1.25 教师/授课/课程的网状数据库实例
3)关系模型的实例
学号
SNO
课程号
CNO
成绩
SCORE
200401
C1
85
200401
C2
92
200401
C3
84
200402
C2
94
200403
C3
83
SC选课表
10、试述层次、网状和关系数据库的优缺点。
解:
1)层次模型的优缺点
层次模型的优点:
(1)层次模型本身比较简单。
(2)对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能较优。
(3)层次模型提供了良好的完整性支持。
层次模型的缺点主要有:
(1)现实世界中很多联系是非层次性的,如多对多联系,一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据或创建非自然的数据组织来解决。
(2)对插入和删除操作的限制太多,影响太大。
(3)查询子女结点必须通过双亲结点,缺乏快速定位机制。
(4)由于结构严密,层次命令趋于程序化。
2)网状模型的优缺点
网状模型的优点主要有:
(1)能够更为直接地描述现实世界,如一个结点可以有多个双亲。
(2)具有良好的性能,存取效率较高。
网状模型的缺点主要有:
(1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
(2)其DDL、DML语言复杂,用户不容易使用。
由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写程序的负担。
3)关系模型的优缺点
关系模型具有下列优点:
(1)关系模型与非关系模型不同,它有较强的数学理论基础。
(2)数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系。
(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发和建立的工作。
关系模型具有查询效率不如非关系模型效率高的缺点。因此,为了提高性能,必须对用户的查询进行优化,增加了开发数据库管理系统的负担。
11、定义并理解关系模型中的以下术语:
关系、元组、属性、主码、域、分量、关系模式
解:
关系:一个关系对应一张二维表,如一张教师登记表称为教师关系。
元组:二维表中的一行称为一个元组。
属性:二维表中的一列称为一个属性,对应每一个属性的名字称为属性名。
主码:如果二维表中的某个属性或是属性组可以唯一确定一个元组,则称为主码,也称为关系键,如教师号,可以唯一确定一个教师,也就成为教师关系的主码。
域:属性的取值范围称为域,如人的年龄一般在1-120岁之间,大学生的年龄属性的域是14-38,性别的域是男和女等等。
分量:元组中的一个属性值。例如,教师号对应的值001、002、003都是分量。
关系模式:表现为关系名和属性的集合,是对关系的具体描述。一般表示为:
关系名(属性1,属性2,…,属性N)
例如教师关系可描述为:教师(教师号,姓名,年龄,职称)
12、数据库系统的三级模式结构是什么?为什么要采用这样的结构?
解:
1)从数据库管理系统内部系统结构看,数据库系统通常采用三级模式结构。
数据库系统的三级模式结构是指外模式、模式和内模式。如图1.28所示。
图1.28 数据库系统的三级模式结构
(1)外模式(External Schema):外模式也称子模式(SubSchema)或用户模式,是三级模式的最外层,它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述。数据库管理系统(DBMS)提供子模式描述语言(子模式DDL)来定义子模式。
(2)模式(Schema):模式又称概念模式,也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据视图的全部。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序,与所使用的应用开发工具及高级程序设计语言等无关。
概念模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。DBMS提供模式描述语言(模式DDL)来定义模式。
(3)内模式(Internal Schema):内模式也称为存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。DBMS提供内模式描述语言(内模式DDL)来严格地定义内模式。
为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:外模式/模式映象,模式/内模式映象。
2)数据库管理系统内部采用这样的结构是因为:
这种结构能较好地保证数据库系统的数据具有较高的逻辑独立性和物理独立性。数据库的二级映象保证了数据库外模式的稳定性,从而根本上保证了应用程序的稳定性,使得数据库系统具有较高的数据与程序的独立性。数据库的三级模式与二级映象使得数据的定义和描述可以从应用程序中分离出去。又由于数据的存取由DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
13、数据独立性包括哪两个方面,含义分别是什么?
解:
数据独立性分为数据逻辑独立性与数据物理独立性两个方面。
1)数据逻辑独立性
当模式改变时,由数据库管理员对各个外模式/模式映象作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称为数据逻辑独立性。
2)数据物理独立性
当数据库的存储结构等内模式改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称为数据物理独立性。
14、数据库管理系统有哪些主要功能?
解:
数据库管理系统是数据库系统的核心组成部分,是对数据进行管理的大型系统软件,用户在数据库系统中的一些操作,例如:数据定义、数据操纵、数据查询和数据控制,这些操作都是由数据库管理系统来实现的。
数据库管理系统主要包括以下几个功能:
(1)数据定义:DBMS提供数据定义语言(Data Definition Language,简称DDL),用户通过它可以方便地对数据库中的数据对象(包括表、视图、索引、存储过程等)进行定义。定义相关的数据库系统的结构和有关的约束条件。
(2)数据操纵:DBMS提供数据操纵语言(Data Manipulation Language,简称DML),通过DML操纵数据实现对数据库的一些基本操作,如查询,插入,删除和修改等等。其中,国际标准数据库操作语言——SQL语言,就是DML的一种。
(3)数据库的运行管理:这一功能是数据库管理系统的核心所在。DBMS通过对数据库在建立、运用和维护时提供统一管理和控制,以保证数据安全、正确、有效的正常运行。DBMS主要通过数据的安全性控制、完整性控制、多用户应用环境的并发性控制和数据库数据的系统备份与恢复四个方面来实现对数据库的统一控制功能的。
(4)数据库的建立和维护功能:数据库的建立和维护功能包括数据库初始数据的输入、转换功能、数据库的转储、恢复功能、重组织功能和性能监视、分析功能等。
15、数据库系统通常由哪几部分组成?
解:
数据库系统是指计算机系统中引入数据库后的整个人机系统。为此,数据库系统应由计算机硬件、数据库、计算机软件及各类人员组成。
1)硬件平台:要有足够大的内存支持OS与DBMS的运行;要有足够大而快速的磁盘等直接存储设备存放数据库,有足够的磁盘空间做数据备份。要求系统有较高的通道能力,以支持数据较高的传送率。
2)数据库:数据库是存放数据的地方,是存储在计算机内有组织的大量可共享的数据集合。数据库这里主要是指物理存储设备中有效组织的数据集合。
3)软件:数据库系统的软件主要包括:
(1)支持DBMS运行的操作系统;
(2)DBMS:DBMS可以通过操作系统对数据库的数据进行存取、管理和维护;
(3)具有与数据库接口的高级语言及其编译系统;
(4)以DBMS为核心的应用开发工具,为特定应用环境开发的数据库应用系统。
4)用户:用户主要有以下几种:用于进行管理和维护数据库系统的人员——数据库管理员;用于数据库应用系统分析设计的人员——系统分析员和数据库设计人员;用于具体开发数据库系统的人员——数据库应用程序员;用于使用数据库系统的人员——最终用户。
这里的最终用户,又可以分为三类:偶然用户、简单用户、复杂用户等。
16、设学生含有学号、姓名、性别、系别、选修课程、平均成绩(是经计算得到的)等信息,若把选修课程、平均成绩也作为学生的属性,请用E-R图表示学生信息。
17、请用扩展E-R图来表示客户的相关信息。客户含有姓名(由姓和名两部分组成)、客户号、电话(客户一般有多个电话)、出生日期、年龄、地址(含省、市、街道名、街道号、楼道号、房号与邮政编码)。
18、请用扩展E-R图中的实体角色的表示方法来分别表示:学生与学生间的班长关系与课程之间的先修关系等。
19、请用扩展E-R图的表示方法来表示公司生产特有产品的关系,其中公司含有公司名、地址、联系电话等信息,产品含有产品名与价格等信息。
20、请用扩展E-R图的表示方法来表示如下信息:人有姓名、所在城市等信息;人可分成客户(含购买金额)和雇员(有雇员号、薪水信息等)两类;雇员可再分为办公人员(有累计办公天数信息)、车间职员(有累计产生产品数量信息)、销售人员(有累计销售数量与销售金额信息)等三类。
21、请用扩展E-R图的聚集表示方法来表示如下信息:制造商有名称与地址信息、批发商有名称与地址信息、产品有产品名与价格信息。制造商与批发商联营产品的销售有个具体的时间,共同联营的产品才共同负责发送。
22、设要为医院的核心主题建立概念模型E-R图,包括病人、医生及病人的病历。其中医生有姓名与专长信息;病人有姓名、身份证号、保险号等信息;病历有门诊日期、诊断病症、治疗方法及治疗结果等信息。病人找医生治疗有个具体的时间。
保险号
医生
专长
姓名
病人
身份证号
m
治疗方法
诊治
n
姓名
治疗时间
门诊日期
治疗结果
第2章 关系数据库
一、单项选择题
1、A
2、C
3、B
4、C
5、A
6、B
7、B
8、B
9、C
10、C
1、设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数为( )
A. r+s B. r-s C. r×s D. max(r,s)
2、在基本的关系中,下列说法正确的是( )
A. 行列顺序有关 B. 属性名允许重名
C. 任意两个元组不允许重复 D. 列是非同质的
3、有关系R和S,R∩S的运算等价于( )
A.S-(R-S) B.R-(R-S) C.(R-S)∪S D.R∪(R-S)
4、设关系R(A,B,C)和S(A,D),与自然连接R ∞ S等价的关系代数表达式是( )
1=1
A. σR.A=S.A(R×S) B. R S
C. ∏B,C,S.A,D(σR.A=S.A(R×S)) D. ∏R.A,B,C(R×S)
5、五种基本关系代数运算是( )
A. ∪、-、×、π和σ B. ∪、-、、∏和σ
C. ∪、∩、×、π和σ D. ∪、∩、、π和σ
6、关系代数中的θ联接操作由( )操作组合而成。
A.σ和π B.σ和× C.π、σ和× D.π和×
7、在关系数据模型中,把( )称为关系模式。
A.记录 B.记录类型 C.元组 D.元组集
8、对一个关系做投影操作后,新关系的基数个数( )原来关系的基数个数。
A.小于 B.小于或等于 C.等于 D.大于
9、有关系:R(A,B,C)主键=A,S(D,A)主键=D,外键=A,参照R的属性A,系R和S的元组如下:指出关系S中违反关系完整性规则的元组是( )。
R: A B C S: D A
1 2 3 1 2
2 1 3 2 null
3 3
4 1
A. (1,2) B. (2,null) C. (3,3) D. (4,1)
10、关系运算中花费时间可能最长的运算是( )。
A.投影 B.选择 C.广义笛卡儿积 D.并
二、填 空
1、关系中主码的取值必须惟一且非空,这条规则是_实体_完整性规则。
2、关系代数中专门的关系运算包括:选择、投影、连接和除法,主要实现_查询_类操作。
3、关系数据库的关系演算语言是以_谓词演算_为基础的DML语言。
4、关系数据库中,关系称为_表__,元组亦称为__行__,属性亦称为_列__。
5、数据库描述语言的作用是_定义数据库_。
6、一个关系模式可以形式化地表示为_R(U,D,dom,F)_。
7、关系数据库操作的特点是__一次一集合_式操作。
8.数据库的所有关系模式的集合构成_关系数据库模型_,所有的关系集合构成_关系数据库_。
9、在关系数据模型中,两个关系R1与R2之间存在1:m的联系,可以通过在一个关系R2中的_外键或外码或外部关键字_在相关联的另一个关系R1中检索相对应的记录。
10、将两个关系中满足一定条件的元组连接到一起构成新表的操作称为_θ-连接_操作。
三、简单、计算或查询
1、试述关系模型的三要素内容。
解:
1)关系模型的数据结构——关系
关系模型的数据结构:非常单一,在用户看来,关系模型中数据的逻辑结构是一张二维表。但关系模型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种联系。
2)关系模型的关系操作:关系模型给出了关系操作的能力,它利用基于数学的方法来表达关系操作,关系模型给出的关系操作往往不针对具体的RDBMS语言来表述。
关系模型中常用的关系操作包括:选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(difference)等查询(query)操作和添加(insert)、删除(delete)、修改(update)等更新操作两大部分。查询的表达能力是其中最主要的部分。
早期的关系操作能力通常用代数方式或逻辑方式来表示,分别称为关系代数和关系演算。关系代数是用对关系的运算(即元组的集合运行)来表达查询要求的方式。关系演算是用谓词来表达查询要求的方式。关系演算又可按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算。关系代数、元组关系演算和域关系演算三种语言在表达功能上是等价的。
另外还有一种介于关系代数和关系演算之间的语言SQL(St
展开阅读全文