-第一章
1.1 名词解释
数据库(DB) 数据库系统(DBS) 数据库管理系统(DBMS) 实体 实体集 属性 关键字 数据模型 概念数据模型 关系模型 模式 外模式 内模式
数据独立性 逻辑数据独立性 物理数据独立性 一对一联系 一对多联系 多对多联系
数据库(DB):在计算机的存储设备上合理存放、相关联、有结构的数据集合。
数据库系统(DBS):在计算机系统中引进数据库和数据库管理系统后的组成。或者是实现有组织地、动态地存储大量相关的结构化数据,方便用户使用数据库的计算机软件、硬件资源组成的系统。
数据库管理系统(DBMS):一个操纵和管理数据库的大型软件,它由一组计算机程序构成。它是位于用户与操作系统之间的一层数据管理软件。 实体:客观存在并可相互区别的个体。 实体集:具有相同实体特性实体的集合。 属性:表示实体的特性。
关键字:能够唯一标识文件中的某一个记录的最小字段集。 数据模型:现实世界数据与信息的模拟和抽象。
概念数据模型:简称概念模型,是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,是面向数据库用户的现实世界模型,主要用来描述现实世界的概念化结构。 关系模型:是最重要的一种数据模型,也是目前主要采用的数据模型,用二维表格表示现实世界实体集及实体集间的联系。
模式:是由数据库设计者综合所有用户数据,按照统一的观点构造的对数据库全局逻辑结构的描述。
外模式:介于模式与应用之间,是用户与数据库之间的接口,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。
内模式:也称存储模式,是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
数据独立性:应用程序和数据结构之间相互独立,不受影响。
逻辑数据独立性:表示一旦模式发生变化,无需改变外模式或应用程序的能力。 物理数据独立性:表示不会因为内模式发生改变而导致概念模式发生改变的能力。
一对一联系:设有两个实体集A、B,如果对于实体集A中的每一个实体,B中至多有一个实体与之有联系,反之亦然,则称A、B有一对一联系(1: 1联系)。
一对多联系:设有两个实体集A、B,若A中每个实体与B中任意个实体(包括零个)相联系,而B中每个实体至多和A中一个实体有联系,则称A和B是一对多联系(1:n联系)。 多对多联系:设有两个实体集A、B,若两个实体集A、B中的每一个实体都和另一个实体集中任意个实体(包括零个)有联系,则称A、B是多对多联系(m:n联系)。 1.2判断下列说法是否正确
⑴数据库系统的一个主要特点是数据无冗余。 ⑵数据库管理系统和数据库构成了数据库系统。 ⑶数据结构化是数据库和文件系统的根本区别。 ⑷若干个属性集合就能描述一个对象。
1
⑸数据库系统中数据具有完全独立性。 ⑹ DBA主要职责是管理数据库中的数据。 ⑺数据库避免了一切数据重复。 ⑻数据操作语言是一个高级语言。 ⑼非过程化语言比过程化语言好。 ⑽模式是数据库全局逻辑结构的描述。
⑾三级模式结构是数据库唯一的一种分级模式结构。
⑿层次数据模型和网状数据模型都可用关系数据模型表示。
⒀关系模型不仅可以描述实体,还可以描述实体及实体集之间的联系。 ⒁关系数据模型与网状数据模型相比具有查询效率高的优点。 ⒂网状数据模型可以直接表示M:N的联系。 ⒃概念模型独立于硬件设备和DBMS。
⒄视图对重构数据库提供了一定程度的物理独立性。
⒅实体是信息世界中的术语,与之相对应的数据库术语为字段。 ⒆数据库系统的核心工作就是完成用户级数据库、概念级数据库和物理级数据库之间的映射。
⒇一个网状数据结构模型可以变换为一个等价的层次数据结构模型,这种变换以存储空间为代价。
1-5:×,×,√,×,×, 6-10:×,×,√,×,√, 11-15:×,√,√,×,× 16-20:√,×,×,√,√
1.3简答下列各题
⑴数据管理技术的发展过程。
计算机技术的发展使得数据管理技术也不断向前发展,至今,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
⑵数据库系统的三个发展阶段是什么? 1)层次型和网状型:
代表产品是1969年IBM公司研制的层次模型数据库管理系统IMS。 2)关系型数据型库:
目前大部分数据库采用的是关系型数据库。1970年IBM公司的研究员E.F.Codd提出了关系模型。典型的关系DBMS产品有Oracle、Sybase、SQL Server、DB2、Access、VFP等等。
3)第三代数据库将为更加丰富的数据模型和更强大的数据管理功能为特征,以提供传统数据库系统难以支持的新应用。它必须支持面向对象,具有开放性,能够在多个平台上使用。
⑶文件系统与数据库系统有何区别和联系? 文件系统和数据库系统之间的区别:
1) 文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据; 2) 文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离,数据具有较高的独立性;
3) 文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据;
4) 文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数
2
据共享,数据结构化,冗余度小。
文件系统和数据库系统之间的联系: 1) 均为数据组织的管理技术;
2) 均由数据管理软件管理数据,程序与数据之间用存取方法进行转换; 3) 数据库系统是在文件系统的基础上发展而来的。 ⑷数据库系统的特点。
1)采用一定的数据模型实现数据结构化
2)数据共享、冗余度小、避免了数据的不一致 3)具有较高的数据独立性
4)数据由DBMS统一管理和控制
⑸何谓数据的物理独立性与数据的逻辑独立性?
逻辑独立性表示一旦模式发生变化,无需改变外模式或应用程序的能力。 物理独立性表示不会因为内模式发生改变而导致概念模式发生改变的能力。 ⑹数据模型的三要素。
1)数据结构;2)数据操作;3)数据完整性。
⑺举例说明实体集之间具有1:1、1:n、m:n的联系。
例如,有四个实体集:学生、学校、教师、校长,校长和学校为1:1联系,学生和学校为1:n联系,学生和老师为m:n联系。
⑻关系数据模型的特点是什么?
关系数据模型的主要特征是用二维表格表示现实世界实体集及实体集间的联系。具有坚实的理论基础、表达能力强、简单和数据独立性高等优点,缺点是存取效率比较低。
⑼何谓空值? 所谓空值就是“不知道”或“无意义”的值。没有给某个属性赋值,则称其值为空(NULL)。 ⑽层次数据模型、网状数据模型和关系数据模型的优点和缺点。
1)层次模型具有查询效率较高、结构简单、层次分明,便于在计算机内实现的优点,在层次数据结构中,从根结点到树中任意结点均存在一条唯一的层次路径,为有效地进行数据操纵也提供了条件,并且层次数据模型提供了良好的完整性支持。
但层次模型也有缺点,一是层次数据模型缺乏直接表达现实世界中非层次型结构的复杂联系,二是层次顺序的严格限制,使得对插入或删除操作也带来了较多的限制,并且查询子女结点必须通过双亲结点,所以使得应用程序的编写也比较复杂。
2)网状模型的主要优点是能直接描述现实世界,记录之间的联系也是通过指针来实现的,所以查询效率高。缺点是结构和编程复杂,难掌握,不易使用。
3)关系模型有坚实的理论基础。二维表不仅能表示实体集,而且能方便地表示实体集间的联系,所以说它有很强的表达能力,这是层次模型和网状模型所不及的。关系模型具有简单、易学易用的优点。数据独立性高。
关系模型缺点是查询效率常常不如非关系数据模型。 ⑾举例说明E-R图的构成规则。
方 框:表示一实体集,在框内写上实体集的名字
菱形框:表示联系,菱形框内标明联系名,与其相关的实体集之间用箭头表示,一个箭头代表为1,两个箭头代表为多。
椭圆框:表示属性,在框内写上属性的名字,并用无向边连向与其相关的实体集或联系。
在E-R图中,有时为了突出各实体集之间的联系,可以先画出实体集及其属性,然后再重点画出实体之间的联系。如图1,图2所示。
3
图1 学生实体及其属性
图2 实体之间联系
⑿什么是外部模式?概念模式?内部模式?它们之间有何联系?这种分级结构的优点是什么?
外部模式又称子模式,介于模式与应用之间,是用户与数据库之间的接口,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。
概念模式简称模式,是由数据库设计者综合所有用户数据,按照统一的观点构造的对数据库全局逻辑结构的描述。
内部模式也称存储模式,是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
一个数据库结构从逻辑上可以划分为三个层次:外部模式(External Schema),概念模式(Conceptual Schema)和内部模式(Internal Schema),称为数据库系统的三级模式结构。
数据库系统的三级模式是对数据进行三个级别的抽象。它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在机器中的具体表示方式和存储方式。数据库的三级结构是依靠映像来联系和互相转换的。正是这两层映像保证了数据库系统中的数据具有较高的数据独立性。
⒀什么是数据独立性?在数据库系统体系结构中是如何体现的? 1)数据独立性:数据库系统在某一层次模式上的改变不会使它的上一层模式也发生改变的过程。数据独立性包括数据的逻辑独立性和物理独立性两种。
2) 一个数据库结构从逻辑上可以划分为三个层次:外部模式(External Schema),概念模式(Conceptual Schema)和内部模式(Internal Schema),称为数据库系统的三级模式结构。数据库的三级结构是依靠外模式/模式映像和模式/内模式映像来联系和互相转换的。正是这两层映像保证了数据库系统中的数据具有较高的数据独立性,其中外模式/模式映像保证逻辑独立性,模式/内模式映像保证物理独立性。
⒁数据库系统的软件包括哪些主要成份?
4
基本的系统软件是操作系统,其它任何软件都必须在它的支持下工作。除操作系统之外,还必须配有数据库管理系统,没有数据库管理系统也就不能称其为是数据库系统。同时,为了开发数据库应用系统,还需要有各种高级语言及其编译系统。
⒂什么是数据字典?它在数据库中的作用是什么?
数据字典(Data Dictionary)是描述各级模式的信息,主要包括所有数据的结构名、意义、描述定义、存储格式、完整性约束、使用权限等信息。由于数据字典包含了数据库系统中的大量描述信息(而不是用户数据),因此也称它为“描述信息库”。
数据字典是DBMS存取和管理数据的基本依据,主要由系统管理和使用 ⒃ DBA的主要职责是什么?
①参与数据库系统的设计与建立。 ②对系统的运行实行监控。
③定义数据的安全性要求和完整性约束条件。
④负责数据库性能的改进和数据库的重组及重构工作。 ⒄用户访问数据库的过程。 1)接受应用程序的数据请求
2)DBMS对用户的操作请求进行分析
3)数据库管理系统要向操作系统发出操作请求
4)操作系统接到命令后,对数据库中的数据进行处理,将结果送到系统缓冲区,并发出读完标志。
5)DBMS接到回答信号后,将缓冲区的数据经过模式映射,变成用户的逻辑记录送到用户工作区,同时给用户回答成功与否的信息。
⒅关系数据库完整性约束有哪些?举例说明。
1)实体完整性约束:实体完整性约束是指任一关系中标识属性(关键字)的值,不能为NULL,否则,无法识别关系中的元组。
2)参照完整性约束:参照完整性是不同关系间的一种约束,当存在关系间的引用时,要求不能引用不存在的元组。若属性组F是关系R(U)的外关键字,并是关系S(U)的关键字(即F不是R(U)的关键字,而是S(U)的关键字,称F是R(U)的外关键字),则对于R(U)中的每个元组在属性组F上的值必须为:空值(NULL)或者等于S(U)中某个元组的关键字值。
3)用户定义完整性约束。如值的类型、宽度等。 ⒆有控制的冗余与无控制的冗余有什么区别?
有控制的冗余是指数据库设计者在设计中为了提高操作效率有意保留的冗余数据,无控制冗余是在数据库设计中由于属性间的依赖而存在的关联数据,两者的区别是无控制冗余不是数据库设计者所要保留的冗余数据,因为它会带来很多问题,使得存储效率比较低,而有控制冗余是数据库设计者有意保留的数据,主要是为了改善对数据库的查询效率。
⒇简述数据库、数据库管理系统和数据库系统之间的关系
数据库是指在计算机的存储设备上合理存放、相关联、有结构的数据集合。这个数据的集合由数据库管理系统进行建立和维护,用户访问数据库中的各种请求都是通过数据库管理系统完成的。数据库系统是在计算机系统中引进数据库和数据库管理系统后的组成,没有数据库和数据库管理系统不能够构成数据库系统。 1.4 选择题
⑴在( )中一个结点可以有多个双亲,结点之间可以有多种联系。
A 网状模型 B 关系模型 C 层次模型 D 以上都有 ⑵数据库管理系统(DBMS)是( )。
5