《数据库原理及应用》之FAQ 2

第二章

49. 什么是数据模型?
数据模型:模型是对现实世界的抽象。在数据库技术中,表示实体类型及实体类型间联系的模型称为“数据模型”。 它可分为两种类型:概念数据模型和结构数据模型。

《数据库原理及应用》之FAQ1

《数据库原理及应用》之FAQ2

《数据库原理及应用》之FAQ3

《数据库原理及应用》之FAQ4

《数据库原理及应用》之FAQ5

《数据库原理及应用》之FAQ6

《数据库原理及应用》之FAQ7

《数据库原理及应用》之faq-8-9-10

50. 什么是概念数据模型?
概念数据模型:是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。

51. 什么是结构数据模型?
结构数据模型:是直接面向数据库的逻辑结构,是现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。它主要有:层次、网状、关系三种模型。

52. 试分别阐述层次模型、网状模型、关系模型的含义?
层次模型:用树型结构表示实体类型及实体间联系的数据模型。
网状模型:用有向图结构表示实体类型及实体间联系的数据模型。
关系模型:是目前最流行的数据库模型。其主要特征是用二维表格结构表达实体集,用外�表示实体间联系。 关系模型是由若干个关系模式组成的集合。

53. 数据描述的两种形式:
数据描述有物理描述和逻辑描述两种形式。
物理数据描述指数据在存储设备上的存储方式,物理数据是实际存放在存储设备上的数据。
逻辑数据描述指程序员或用户用以操作的数据形式,是抽象的概念化数据。
数据管理软件的功能之一,就是要把逻辑数据转换成物理数据,以及把物理数据转换成逻辑数据。

54. 结构数据模型的三个组成部分分别是什么?
数据结构、数据操作、数据完整性约束是结构数据模型的三个组成部分。
数据结构:是指对实体类型和实体间联系的表达和实现
数据操作:是指对数据库的检索和更新(插、删、改)两类操作的实现
数据完整性约束:给出数据及其联系应具有的制约和依赖规则。

55. 格式化数据模型的发展过程是什么?
第1代:层次模型、网状模型
第2代:关系模型
第2.5代:对象-关系模型
第3代:面向对象数据模型

56. 叙述模型、模式和具体值三者之间的联系和区别。
(1) 数据模型是用来表示信息世界中的实体及其联系在数据世界中的抽象描述,它描述的是数据的逻辑结构。
(2) 模式的主体就是数据库的数据模型。数据模型与模式都属于型的范畴。
(3) 所谓型,是指只包含属性的名称,不包含属性的值;而所谓值,是型的具体实例值,即赋了值的型。在VFP中型就是数据库表的结构,而值就是数据库表中存储的记录。

57. 简述数据模型的抽象过程
(1) 数据模型经历了两级抽象和转换的过程。
(2) 在第一级过程中,将现实世界中的客观对象抽象成信息世界中的概念模型。
(3) 在第二级过程中,将信息世界中的概念模型再转换成机器世界中的数据模型。

58. 层次模型、网状模型和关系模型等三种基本数据模型是根据什么来划分的?
(1) 数据模型是现实世界中各种实体之间存在着联系的客观反映,是用记录描述实体信息的基本结构,它要求实体和记录一一对应。同一记录类型描述同一类实体,且必须是同质的。
(2) 目前应用在数据库技术中的模型有关系、网状和层次模型,它们是依据描述实体与实体之间联系的不同方式来划分的。
(3) 用二维表格来表示实体和实体之间联系的模型叫做关系模型,用图结构来表示实体和实体之间联系的模型叫做网状模型,用树结构来表示实体和实体之间联系的模型叫做层次换型。

59. 简述关系数据模型的特点。
(1) 描述的一致性,不仅用关系描述实体本身,而且也用关系描述实体间的联系。
(2) 可直接表示多对多联系。
(3) 关系必须是规范化的关系,这导致关系模型结构简单、操作简便。
(4) 关系模型建立在数学概念地基础上,有较强的理论基础。

60. ER模型的特点是什么?
ER模型的主要特点:
优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。
缺点:只能说明实体间语义的联系,不能进一步说明详细的数据结构。

61. 关系模型的主要特点是什么?
用关�字而不是用指针导航数据,表格简单,用户易懂,编程时并不涉及存储结构、访问技术等细节。

62. 层次模型的特点是什么?
用树型结构表示实体类型及实体间联系的数据模型称为层次模型。
层次模型的特点是:记录之间的联系通过指针实现,查询效率较高。
缺点是:(1)只能表示1:N联系
(2)由于树型结构层次顺序的严格复杂,引起数据的查询和更新操作也很复杂,因此编写应用程序也很复杂。

63. 网状模型的特点是什么?:
用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。
网状模型的特点是:记录之间联系通过指针实现,M:N联系也容易实现,查询效率较高。
缺点是:编写应用程序比较复杂,程序员必须熟悉数据库的逻辑结构。

64. 什么是关系?
关系是从域的笛卡儿积中提取出的符合实际意义的子集,是一张二维表,每个关系有一个关系名。

65. 什么是关系模式?
关系模式是对关系结构的描述,描述关系由哪些属性构成、这些属性来自哪些域、属性向域的映像关系以及关系的完整性约束条件,格式为:关系名(属性名1,属性名2,……,属性名n)。一个关系模式对应一个关系文件的结构。

66. 试比较关系和关系模式
(1) 关系模式指的是关系的型(结构),而关系一般指的是模式对应的值。
(2) 关系模式是静态的,而关系是动态的。
(3) 可将关系模式和关系统称为关系。

67. 什么是域?
域也称值域,是一组具有相同数据类型的值的集合,在关系中用来表示属性的取值范围。

68. 什么是基数?
基数是域中所包含的值的个数。

69. 什么是属性?
属性是实体所具有的某一特性,包括属性的型和属性的值,一个实体用若干个属性来描述
70. 什么是元组?
表中的行称为元组,一行为一个元组,对应存储文件中的一个记录值。

71. 什么是关键字?
关键字是关系中唯一标识关系中的元组的一个或一组属性,使得在不同的元组中,相应的(组合)属性值不同。

72. 什么是超键?
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键。

73. 什么是候选键?
候选键(candidate key):不含有多余属性的超键称为候选键。(候选键可以有多个)

74. 什么是主键?
主键(primary key):用户选作元组标识的一个候选键称为主键。(主键是候选键中一个)

75. 什么是外关键字?
外关键字:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键, 如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。

76. 叙述关系的性质。
(1) 列是同质的:同一属性名下的诸属性值是同类型数据,且必须来自同一个域。
(2) 属性必须有不同的属性名,不同的属性可来自同一个域。
(3) 属性的顺序是非排序的:列的次序无所谓,可以随意交换。
(4) 元组是唯一的:任意两个元组不能完全相同。
(5) 元组的顺序无关紧要:元组的次序可以任意交换。
(6) 所有的属性值都是原子的:每一个分量必须是不可分的数据项。

77. 为什么只限用规范化关系?
(1) 这种选择对说要表示的内容并无实际限制;
(2) 从数学观点看,一个规范化关系比一个非规范化关系有更简单的数据结构,这将导致一系列其他问题的简化。

78. 试述主键和外部键的完整性约束条件,并说明其原因。
(1) 主键的完整性约束条件即实体完整性,指的是主键的值不能为空或部分为空。
(2) 如果一个主关系键的属性值为空或部分为空,则违反了关系键的定义条件,失去标识元组乃至标识实体的作用,这是与现实世界中的实体是可以区分的事实相矛盾的。
(3) 外部键的完整性约束条件即参照完整性,指的是关系中的外键必须与参照关系的键相符,那么在参照关系中有值,或者本身取空值。
(4) 外部关系键与主关系键的对应提供了一种实现两个关系联系的方法。因为两个关系相联系,如果参照关系中没有参照值,将无法进行参照;而外键取空值就是不用参照,这是允许的。
79. 关系模式、关系子模式和存储模式:
关系模型基本上遵循数据库的三级体系结构。概念模式是关系模式的集合,外模式是关系子模式的集合,内模式是存储模式的集合。
(1) 关系模式:关系模式实际上是记录类型。它的定义包括:模式名,属性名,值域名以及模式的主键。
(2) 关系子模式:是用户所用到的那部分数据的描述。除了指出用户的数据外,还应指出模式与子模式之间的对应性。
(3) 存储模式:关系存储时的基本组织方式是文件,元组是文件中的记录。存储一个关系可以用散列方法或索引方法实现。如果关系中元组数目较少,也可以用堆文件方式实现。

80. 关系模型的三类完整性规则:
(1) 实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。
(2) 参照完整性规则:这条规则要求“不引用不存在的实体”。
(3) 用户定义的完整性规则:它反映某一具体应用涉及的数据必须满足的语义要求。

81. 参照完整性规则的形式定义:
如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空,或者等于R1关系中某个主键值。
此规则使用时还要注意三点:
(1) 外键和相应的主键可以不同名,只要定义在相同值域上即可。
(2) R1和R2也可以是同一个关系模式,表示了属性之间的联系。
(3) 外键值是否允许空,应视具体问题而定。
上述形式定义中,关系模式R1称为“参照关系”模式,R2称为“依赖关系”模式。

82. 什么是关系代数?
是施加于关系上的一组集合代数运算,每个运算都以一个或多个关系作为运算对象,并生成另外一个关系作为该关系运算的结果。

83. 传统的关系运算有哪些?分别什么含义?
(1) 关系的并:关系R和关系S的所有元组合并,再删去重复的元组,组成一个新关系,称为R和s的并,记为R∪S。
(2) 关系的差:关系R和关系S的差是由属于R而不属于S的所有元组组成的集合,即关系R中删去与S关系中相同的元组,组成一个新关系,记为R-S。
(3) 关系的交:关系R和关系S的交是由既属于R又属于S的元组组成的集合,即在两个关系R与S中取相同的元组,组成一个新关系,记为R∩S。

84. 什么是选择运算?
选择运算是在指定的关系中,按给定的条件选取其中的若干个元组,组成一个新的关系的运算。这是从行的角度(水平方向)进行抽取元组的运算。新旧关系的关系模式一样,是原关系的一个子集。

85. 什么是投影运算?
是在关系中选取相应的属性列并删去重复行,组成一个新关系,它是对给定关系在垂直方向上进行的选取。如果新关系中包含重复元组,则要删除重复元组。

86. 什么是联接运算?
联接是将两个关系的属性名通过笛卡儿积拼接成一个更宽的关系,生成的新关系中包含满足连接条件的元组。运算过程是通过联接条件来控制的,联接条件中将出现不同关系中的公共属性名。

87. 什么是自然联接?
自然连接是除去重复属性的多值连接,它是连接运算的一个特例,是最常用的连接运算。

88. 关系查询语言根据其理论基础的不同分为哪两类?
关系代数语言:查询操作是以集合操作为基础运算的DML语言。(非过程性弱)
关系演算语言:查询操作是以谓词演算为基础运算的DML语言。(非过程性强)

89. 关系代数中的操作有哪些?
关系代数中的操作可分为两类:
传统的集合操作:并、差、交、笛卡尔积
扩充的集合操作:对关系进行垂直分割(投影)、水平分割(选择),关系的结合(联接、自然联接),笛卡尔积的逆运算(除法)等。

90. 关系代数中五个基本操作是什么?
并、差、笛卡尔积、投影、选择。

91. 关系代数中四个常用组合操作是什么?
交、连接、自然连接、除法
两种扩充的关系代数操作为:外连接和外部并

92. 关系演算有哪两种?
关系演算可分为元组关系演算和域关系演算。前者以元组为变量,后者以属性(域)为变量。

93. 叙述等值连接与自然连接的区别和联系
(1) 联系:自然连接是除去重复属性的等值连接。
(2) 区别:
自然连接一定是等值连接,但等值连接不一定是自然连接。
等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。
等值连接不把重复的属性除去;而自然连接要把重复的属性除去。

94. 为什么关系中的元组没有先后顺序?
因为关系是一个元组的集合,而元组在集合中的顺序无关紧要。因此不考虑元组间的顺序,即没有行序。

95. 为什么关系中不允许有重复元组?
因为关系是一个元组的集合,而集合中的元素不允许重复出现,因此在关系模型中对关系作了限制, 关系中的元组不能重复,可以用键来标识唯一的元组。

96. 关系与普通的表格、文件有什么区别?
关系是一种规范化了的二维表格,在关系模型中,对关系作了下列规范性限制:
(1) 关系中每一个属性值都是不可分解的。
(2) 关系中不允许出现相同的元组(没有重复元组)。
(3) 由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。
(4) 元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。

97. 笛卡尔积、等值联接、自然联接三者之间有什么区别?
笛卡尔积对两个关系R和S进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。
等值联接则是在笛卡尔积的结果上再进行选择操作,从关系R和S的笛卡儿积中选择对应属性值相等的元组;
自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。 当两个关系没有公共属性时,自然连接就转化为笛卡尔积。

98. 什么是安全运算?
在数据库技术中,不产生无限关系和无穷验证的运算称为安全运算,相应的表达式称为安全表达式,所采取的措施称为安全约束。
在关系演算中约定,运算只对表达式中公式在涉及到的关系的值范围内操作。这样就不会产生无限关系和无穷验证问题,关系演算是安全的。

99. 为什么要对关系代数表达式进行优化?
查询优化是由DBMS对关系代数表达式进行优化组合,以提高DBMS的系统效率。要对关系代数进行优化的原因是:由于关系代数表达式是由关系代数操作组合而成。在关系代数操作中,执行笛卡尔积和联接运算最费时间,并且在执行过程中将产生大量的中间结果,以使系统执行效率较低。在执行前,由DBMS查询处理子系统先对关系代数表达式进行优化,尽可能早地执行选择和投影操作,以得到较小的中间关系,减少运算量和读外存块的次数,节省系统的执行时间,提高执行效率。

100. 简述查询优化的优化策略?
(1) 在关系代数表达式中尽可能早地执行选择操作。
(2) 把笛卡尔积和随后的选择操作合并成F联接运算。
(3) 同时计算一连串的选择和投影操作,以免分开运算造成多次扫描文件,从而能节省操作时间。
(4) 如果在一个表达式中多次出现某个子表达式,应该将该子表达式预先计算出结果保存起来。以免重复计算。
(5) 适当的对关系文件进行预处理。
(6) 在计算表达式之前应先估计一下怎么计算合算。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>