数据库系统原理与实践题库及答案
1.简要说明数据、数据库、数据库管理系统和数据库系统的概念。
答:数据:数据库中存储的基本对象是数据(Data),从计算机的角度来看,数据是指能够被计算机存储和处理的符号。数据的表现形式多种多样,不仅有数字、文字,还可以是图
形、图像和声音等。
数据库:数据库是指长期存储在计算内的、有组织的、可共享的数据集合。
数据库管理系统:数据库管理系统(Database Management System,DBMS)是专门用来管理数据库的计算机软件,以实现对数据库的统一管理和控制。数据库管理系统是计算机系统的重要基础软件。
数据库系统:数据库系统(Database System,DBS)是指引入数据库技术后的计算机系统。一般由数据库、数据库管理系统(及相关实用工具) 、应用系统和数据库管理员构成。
2.数据管理技术的发展主要经历了哪几个阶段?
答:在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统和数据库系统 3 个阶段。
3.与文件系统相比,数据库系统有哪些优点?
答:从文件系统到数据库系统,标志着数据管理技术的飞跃。与人工管理和文件系统相比,
数据库系统具有以下优点:
(1)数据结构化
数据库系统实现了整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与
文件系统的本质区别。 在文件系统中,每个文件内部是有结构的,但文件与文件之间是毫无结构化的。在数据库系统中,不仅数据内部实现了结构化,整体也是结构化的,数据之间具有联系,从而实现了数据的真正结构化。
(2)数据的共享性高、冗余度低,易扩充
数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应
用共享使用。数据共享有利于减少数据冗余,节约存储空间;可以避免数据之间的不相容性
与不一致性,且使系统易于扩充。
(3)数据独立性高
数据库系统采用三级模式结构,三级模式之间形成两级映像,保证了数据具有较高的逻辑独立性和物理独立性。
(4)数据由 DBMS 统一管理和控制
数据库系统关于数据控制的功能几乎都由 DBMS 提供,主要包括: 数据的安全性保护、数据的完整性检查、并发控制和数据库恢复。
4.什么是数据库系统的三级模式结构?数据库系统的三级模式结构如何形成两级映像?
答:数据库系统的三级模式结构是指数据库系统由外模式、模式和内模式三级构成。
(1)外模式又称用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一具体应用有关的数据的逻辑表示。一个数据库可以有多个外模式。
(2)模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体应用程序无关。一个数据库只有一个模式。
(3)内模式也称存储模式,它是数据库中数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
三级模式之间提供两级映像,以实现这 3 个层次的联系与转换。
(1)外模式/模式映像。外模式/模式映像定义了该外模式与模式之间的对应关系,对于
每一个外模式,都有一个对应的外模式/模式映像。
(2)模式/内模式映像。由于数据库只有一个内模式,所以模式/内模式映像是唯一的。
它定义了数据库的全局逻辑结构与存储结构之间的对应关系。
5.什么是数据独立性?为什么说数据库系统中的数据具有较高的数据独立性?
数据独立性包括数据的物理独立性和数据的逻辑独立性。
(1)物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变时,应用程序不用改变。
(2)逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序可以不变。
数据库系统采用三级模式结构,在三级模式之间提供两级映像功能。当模式改变时,由数据库管理员对各个外模式/模式映像做相应的改变,可使外模式保持不变,由于应用程序是依据数据的外模式编写的,可以不必修改,从而实现了程序与数据的逻辑独立性;当数据库的存储结构改变时,只需要通过改变模式/内模式映像保持模式不变,应用程序不必修改,从而实现程序与数据的物理独立性。
6.简述数据库系统的组成。
答:数据库系统是引入数据库技术的计算机系统,一般由数据库、数据库管理系统(及相应
的实用工具) 、应用程序和数据库管理员组成。数据库是按照一定的组织形式保存在某种存储介质上的数据集合;数据库管理系统是管理数据库的专门软件;应用程序是指以数据库中的数据为基础的程序;数据库管理员负责整个数据库系统的正常运行。
7.DBA 的主要职责是什么?
答:负责整个系统的正常运行,负责保证数据库安全可靠地运行。
第二章
1、什么是概念模型?简述概念模型的作用。
答:
概念模型,也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。
概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户进行交流的语言
2、请简述数据模型的三要素。
答:
三要素是数据结构、数据操作、数据约束。
数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,数据结构指对象和对象间联系的表达和实现,是对系统静态特征的描述。
数据操作是对数据库中对象的实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操作是对系统动态特性的描述。
数据完整性约束是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。
3、目前数据库领域中,常见的数据模型有哪 些?请简述各模型的优缺点。
数据库领域中最常用的逻辑模型有:层次模型(树状图)、网状模型(网,图)、关系模型。
答:
层次模型:
优点:
1.结构清晰,便于观看实体间的联系
2.操作简单
3.查询效率高
缺点:
1.结构灵活性低,当需要更新或修改一个实体时,会影响到其他的数据
2.加大了DBMS的管理负担
网状模型:
优点:
1.允许单个节点存在多于一个父亲节点
2.可以存在俩个或多个节点没有父节点
3.真实反映现实世界
缺点:
1.联系复杂,难以实现,数据库维护重建难度大
关系模型:
优点:
1.结构简单明了
2.独立性比较强
3.操作方便
4.有坚实的数学理论做基础
缺点:
模型比查询效率低,加大了系统的查询负担
第三章
1、试述关系模型的3个组成部分
答:
关系型的三个组成部分分别是:
1.关系数据模型的数据结构
2.关系数据模型的操作集合
3.关系数据模型的完整性约束
2、试述关系操作的特点和关系操作语言的分类。
答:
关系数据语言可以分为三类:
1) 关系代数语言,例如 ISBL 。
2) 关系演算语言:元组关系演算语言,例如 APLHA ,QUEL ;域关系演算语言,例如:QBE 。
3) 具有关系代数和关系演算双重特点的语言,例如 SQL。
这些关系数据语言的共同特点是:具有完备的表达能力;是非过程化的集合操作语言;
功能强;能够嵌入高级语言中使用。
3.定义并理解下列术语,说明它们之间的联系与区别。
答:
(1)域:域是一组具有相同数据类型的值的集合。
笛卡尔积:给定一组域 D1,D2,⋯ ,Dn,这些域可以有相同的。这组域的笛卡
尔积为D1 × D2× , × Dn={( d1,d2, , ,dn )|di ∈Di,i=1,2, , ,n}
其中每一个元素 (d1,d2, , ,dn )叫做一个 n 元组或简称元组。 元素中的每一个值 di 叫做一个分量。
关系:在域 D1, D2,, , Dn上笛卡尔积 D1× D2× , × Dn的子集称为关系,表示为 R( D1,D2,, , Dn)。
元组:关系中的每一个元素是关系中的元组。
属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。
(2)候选码:若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码。
主码:若一个关系有多个候选码,则选定其中一个为主码。
外部码: 设 F 是基本关系 R 的一个或一组属性, 但不是关系 R 的码, 如果 F 与基本关系 S 的主码 Ks 相对应,则称 F 是基本关系 R 的外部码,简称外码。基本关系 R称为参 照关系,基本关系 S称为被参照关系或目标关系。关系 R 和 S 可以是相同的关系。
(3)关系模式:关系的描述称为关系模式。它可以形式化地表示为 R( U,D,dom,F), 其中 R 为关系名, U 为组成该关系的属性名集合, D 为属性组 U 中属性所来自得域, Dom为 属性向域的映像集合, F 为属性间数据的依赖关系集合。
关系数据库:关系数据库有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述, 它包括若干域的定义以及在这些域上定义的若干关系模式。 关系数
据库的值是这些关系模式在某一时刻对应的关系的集合,通常称为关系数据库。
4、简述关系模型的实体完整性规则。
答:
关系模型的完整性规则是对关系的某种约束条件。 关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。
实体完整性规则:若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值。
5、试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?
答:
实体完整性规则:若属性 A 是基本关系 R 的主属性,则属性 A不能取空值。
参照完整性规则:若属性(或属性组) F 是基本关系 R 的外码,它与基本关系S的主码Ks 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为: 1)或者取空值; 2)或者等于S中某个元组的主码值。
用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。
在参照完整性中, 外部码属性的值可以为空, 它表示该属性的值尚未确定,但前提条件 是该外部码属性不是其所在关系的主属性。
6. 试述等值连接与自然连接的区别和联系。
答:
连接运算中有两种最为常用的连接,一种是等值连接,另一种是自然连接。 θ 为“ =” 的连接运算,称为等值连接。它是从关系 R 与 S的笛卡尔积中选取 A、 B 属性值相等的那些元组。
自然连接是一种特殊的等值连接, 它要求两个关系中进行比较的分量必须是相同的属性 组,并且在结果中把重复的属性列去掉。
7、关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算?
答:
并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他三种运算,即交、链接和除,均可以用这5种运算来表达。
(1)交(∩)
R∩S ≡ R-(R-S) ≡ S-(S-R)
(2)自然连接(⋈)
R⋈S ≡ π(R∪S)(σpredicate(R x S))
(3)θ连接(⋈AθB,也叫等值连接)
R⋈AθBS ≡ σ(R.AθS.B)(R×S)
(4)除(÷)
设R的属性集为{X, Y},S的属性集为{Y}
R÷S ≡ π(X)(R) - π(X)((T×S)-R)
第四章:
1.解释下列术语
A. 基本表:实际存放数据的表
B.视图: 视图是从一个或几个基本表(或视图)导出的表,它与基本表不同,数据库中只存放视
图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.
C.行列子集视图:若一个视图是从单个表中导出,并且只是去掉了基本表的某些行和某些列,但保留了主码,则这类视图称为行列子集视图。
D.派生表:如果子查询出现在 FROM 子句中,相当于该子查询的结果作为一个临时
的表,也称派生表。
E.嵌套查询:在 SQL 语言中,一个 SELECT-FROM-WHERE 语句称为一个查询块。将一个查询块嵌套在另一个查询块的 WHERE 子句或 WHERE 短语的条件中的查询称为嵌套查询
F.相关嵌套查询:如果嵌套查询中子查询的条件与父查询相关,称为相关子查询
G.分组查询:使用GROUP BY 子句将查询结果按照分组表达式中的值进行分组,分组表达式的值
相同的记录为同一组,通常会在分组中进行统计运算,这类的查询叫分组查询。
H.索引:在数据库中,索引是对数据库表中一列或多列的值进行排序的一种数据结构,建立索引是加快查询速度的有效手段。
I.聚簇索引:在聚簇索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一 个聚簇索引。
J.视图消解:从数据字典中取出视图的定义,把定义中的子查询和用户查询结合起来,转换成等价的对基本表的查询,然后再执行修正了的查询。这一转换过程称为视图的消解。
K