数据库简答题答案.docx
- 文档编号:4080682
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:26
- 大小:47.58KB
数据库简答题答案.docx
《数据库简答题答案.docx》由会员分享,可在线阅读,更多相关《数据库简答题答案.docx(26页珍藏版)》请在冰豆网上搜索。
数据库简答题答案
1.试述数据、数据库、数据库系统、数据库管理系统的概念。
数据:
描述事物的符号记录称为数据。
数据的种类有文字、图形、图象、声音、正文等等。
数据与其语义是不可分的。
数据库:
数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
2.使用数据库系统有什么好处?
使用数据库系统的好处是由数据库管理系统的特点或优点决定的。
使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。
为什么有这些好处,可以结合第5题来回答。
使用数据库系统可以大大提高应用开发的效率。
因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由DBMS来完成。
用一个通俗的比喻,使用了DBMS就如有了一个好参谋好助手,许多具体的技术工作都由这个助手来完成。
开发人员就可以专注于应用逻辑的设计而不必为管理数据的许许多多复杂的细节操心。
还有,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。
数据逻辑结构的改变是DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。
从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。
使用数据库系统可以减轻数据库系统管理人员维护系统的负担。
因为DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。
总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。
3.试述文件系统与数据库系统的区别和联系。
文件系统与数据库系统的区别:
文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。
数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。
读者可以参考《概论》书中表1.1中的有关内容。
文件系统与数据库系统的联系是:
文件系统与数据库系统都是计算机系统中管理数据的软件。
*解析:
文件系统是操作系统的重要组成部分,而DBMS是独立于操作系统的软件。
但是DBMS是在操作系统的基础上实现的。
数据库中数据的组织和存储是通过操作系统中文件系统来实现的。
读者可以参考书中第十一章《数据库管理系统》。
或者说,读者进一步学习数据库管理系统实现的有关课程(第十一章只是DBMS实现技术的概述)后可以对本题有深入的理解和全面的解答。
因为DBMS的实现与操作系统中的文件系统是紧密相关的。
例如,数据库实现的基础是文件,对数据库的任何操作最终要转化为对文件的操作。
所以在DBMS实现中数据库物理组织的基本问题是如何利用或如何选择操作系统提供的基本的文件组织方法。
4.试述数据库系统的特点。
数据库系统的主要特点有:
一、数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
*解析:
注意这里“整体”两个字。
在数据库系统中,数据不再针对某一个应用,而是面向全组织,具有整体的结构化。
不仅数据是结构化的,而且数据的存取单位即一次可以存取数据的大小也很灵活。
可以小到某一个数据项(如一个学生的姓名),大到一组记录(成千上万个学生记录)。
而在文件系统中,数据的存取单位只有一个:
记录。
如一个学生的完整记录。
二、数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。
由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。
*解析:
数据共享可以大大减少数据冗余,节约存储空间,同时还能够避免数据之间的不相容性与不一致性。
所谓“数据面向某个应用”是指数据结构是针对某个应用设计的,只被这个应用程序或应用系统使用。
可以说数据是某个应用的“私有资源”。
所谓“弹性大”是指系统容易扩充也容易收缩,即应用增加或减少时不必修改整个数据库的结构,或者只要做很少的修改。
我们可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。
三、数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
数据库管理系统的模式结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
*解析:
所谓“独立性”即相互不依赖。
数据独立性是指数据和程序相互不依赖。
即数据的逻辑结构或物理结构改变了,程序不会跟着改变。
数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,简化了应用程序的编制,大大减少了应用程序的维护和修改。
四、数据由DBMS统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。
为此,DBMS必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。
*解析:
DBMS数据控制功能包括四个方面:
数据的安全性保护:
保护数据以防止不合法的使用造成的数据的泄密和破坏;数据的完整性检查:
将数据控制在有效的范围内或保证数据之间满足一定的关系;并发控制:
对多用户的并发操作加以控制和协调,保证并发操作的正确性;数据库恢复:
当计算机系统发生硬件故障、软件故障,或者由于操作员的失误以及故意的破坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失时,能将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)。
下面我们可以得到“什么是数据库”的一个定义:
数据库是长期存储在计算机内有组织的大量的共享的数据集合。
它可以供各种用户共享,具有最小冗余度和较高的数据独立性。
DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。
数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。
5.数据库管理系统的主要功能有哪些?
①数据库定义功能;②数据存取功能;③数据库运行管理;④数据库的建立和维护功能。
6.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。
一般地讲,数据模型是严格定义的概念的集合。
这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。
因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
①数据结构:
是所研究的对象类型的集合,是对系统的静态特性的描述。
②数据操作:
是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
③数据的约束条件:
是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
*解析:
数据模型是数据库系统中最重要的概念之一。
同学们必须通过《概论》的学习真正掌握数据模型的概念和作用。
数据模型是数据库系统的基础。
任何一个DBMS都以某一个数据模型为基础,或者说支持某一个数据模型。
数据库系统中模型有不同的层次。
根据模型应用的不同目的,可以将模型分成两类或说两个层次:
一是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能力,概念简单清晰;另一是数据模型,是按计算机系统的观点对数据建模,用于机器世界,人们可以用它定义、操纵数据库中的数据。
一般需要有严格的形式化定义和一组严格定义了语法和语义的语言,并有一些规定和限制,便于在机器上实现。
7.试述概念模型的作用。
概念模型实际上是现实世界到机器世界的一个中间层次。
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
8.定义并解释概念模型中以下术语:
实体,实体型,实体集,属性,码,实体联系图(E-R图)
实体:
客观存在并可以相互区分的事物叫实体。
实体型:
具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
实体集:
同型实体的集合称为实体集。
属性:
实体所具有的某一特性,一个实体可由若干个属性来刻画。
码:
唯一标识实体的属性集称为码。
实体联系图:
E-R图提供了表示实体型、属性和联系的方法:
?
实体型:
用矩形表示,矩形框内写明实体名。
?
属性:
用椭圆形表示,并用无向边将其与相应的实体连接起来。
?
联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)。
9.试述网状、层次数据库的优缺点。
层次模型的优点主要有:
1)模型简单,对具有一对多的层次关系的部门描述非常自然、直观,容易理解,这是层次数据库的突出优点;2)用层次模型的应用系统性能好,特别是对于那些实体间联系是固定的预先定义好的应用,采用层次模型来实现,其性能优于关系模型;3)次数据模型提供了良好的完整性支持。
层次模型的缺点主要有:
1)现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型不能自然地表示这类联系。
只能通过引入冗余数据或引入虚拟结点来解决。
2)对插入和删除操作的限制比较多。
3)查询子女结点必须通过双亲结点。
网状模型:
网状数据模型的优点主要有:
1)能够更为直接地描述现实世界,如一个结点可以有多个双亲。
2)具有良好的性能,存取效率较高。
网状数据模型的缺点主要有:
1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
2)其DDL,DML语言复杂,用户不容易使用。
由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径。
因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。
10.试述关系模型的概念,定义并解释以下术语:
(1)关系
(2)属性(3)域(4)元组(5)主码(6)分量(7)关系模式
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
(1)关系:
一个关系对应通常说的一张表。
(2)属性:
表中的一列即为一个属性;(3)域:
属性的取值范围;(4)元组:
表中的一行即为一个元组;(5)码:
表中的某个属性组,它可以唯一确定一个元组;(6)分量:
元组中的一个属性值;(7)关系模式:
对关系的描述,一般表示为 关系名(属性1,属性2,?
?
?
,属性n)。
11.试述关系数据库的特点。
关系数据模型具有下列优点:
?
关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。
?
关系模型的概念单一。
无论实体还是实体之间的联系都用关系表示。
操作的对象和操作的结果都是关系。
所以其数据结构简单、清晰,用户易懂易用。
?
关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路径对用户透明,查询效率往往不如非关系数据模型。
因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统软件的难度。
12.试述数据库系统三级模式结构,这种结构的优点是什么?
数据库系统的三级模式结构由外模式、模式和内模式组成。
(参见书上图1.29)外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图。
模式描述的是数据的全局逻辑结构。
外模式涉及的是数据的局部的逻辑结构,通常是模式的子集。
内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。
为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映象:
外模式/模式映象和模式/内模式映象。
正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
13.定义并解释以下术语:
DDL、DML
14.什么叫数据与程序的物理独立性?
什么叫数据与程序的逻辑独立性?
为什么数据库系统具有数据与程序的独立性?
数据与程序的逻辑独立性:
当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变。
应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
数据与程序的物理独立性:
当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。
保证了数据与程序的物理独立性,简称数据的物理独立性。
数据库管理系统在三级模式之间提供的两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
15.试述数据库系统的组成。
数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
16.DBA的职责是什么?
负责全面地管理和控制数据库系统。
具体职责包括:
①决定数据库的信息内容和结构;②决定数据库的存储结构和存取策略;③定义数据的安全性要求和完整性约束条件;④监督和控制数据库的试用和运行;⑤数据库系统的改进和重组。
17.系统分析员、数据库设计人员、应用程序员的职责是什么?
系统分析员负责应用系统的需求分析和规范说明,系统分析员要和用户及DBA相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。
数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。
数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。
在很多情况下,数据库设计人员就由数据库管理员担任。
应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。
18.试述关系模型的三个组成部分。
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
19.试述关系数据语言的特点和分类。
关系数据语言可以分为三类:
关系代数语言,例如ISBL关系演算语言,包括:
元组关系演算语言,例如APLHA,QUEL域关系演算语言,例如QBE具有关系代数和关系演算双重特点的语言例如SQL这些关系数据语言的共同特点是,具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
20.定义并理解下列术语,说明它们之间的联系与区别:
(1)域,笛卡尔积,关系,元组,属性
(2)主码,候选码,外部码(3)关系模式,关系,关系数据库
域:
域是一组具有相同数据类型的值的集合。
笛卡尔积:
给定一组域D1,D2,…,Dn,这些域中可以有相同的。
这组域的笛卡尔积为:
D1×D2×…×Dn={(d1,d2,…,dn)|di?
Di,i=1,2,…,n}其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。
元素中的每一个值di叫作一个分量(Component)。
关系:
在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)元组:
关系中的每个元素是关系中的元组。
属性:
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。
候选码:
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidatekey)。
主码:
若一个关系有多个候选码,则选定其中一个为主码(Primarykey)。
外部码:
设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码(Foreignkey),简称外码。
基本关系R称为参照关系(Referencingrelation),基本关系S称为被参照关系(Referencedrelation)或目标关系(Targetrelation)。
关系R和S可以是相同的关系。
关系模式:
关系的描述称为关系模式(RelationSchema)。
它可以形式化地表示为:
R(U,D,dom,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。
关系:
在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为R(D1,D2,…,Dn)关系是关系模式在某一时刻的状态或内容。
关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。
关系数据库:
关系数据库也有型和值之分。
关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。
关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。
21.试述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?
什么情况下才可以为空?
关系模型的完整性规则是对关系的某种约束条件。
关系模型中可以有三类完整性约束:
实体完整性、参照完整性和用户定义的完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。
1)实体完整性规则:
若属性A是基本关系R的主属性,则属性A不能取空值。
2)参照完整性规则:
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
?
或者取空值(F的每个属性值均为空值);?
或者等于S中某个元组的主码值。
3)用户定义的完整性是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的语义要求。
在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。
但前提条件是该外部码属性不是其所在关系的主属性。
例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空。
其语义是,该学生的专业尚未确定。
学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性,所以不能为空。
因为关系模型必须满足实体完整性。
课程(课程号,课程名,学分)选修(学号,课程号,成绩)
22.等值连接与自然连接的区别是什么?
连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Naturaljoin)。
Θ为“=”的连接运算称为等值连接。
它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。
即等值连接为:
RA=BS={trts|tr∈R∧ts∈S∧tr[A]=ts[B]} 自然连接(Naturaljoin)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。
即若R和S具有相同的属性组B,则自然连接可记作:
RS={trts|tr∈R∧ts∈S∧tr[B]=ts[B]}
23.代数的基本运算有哪些?
如何用这些基本运算来表示其他的关系基本运算?
在八种关系代数运算中,并、差、笛卡尔积、投影和选择五种运算为基本的运算。
其他三种运算,即交、连接和除,均可以用五种基本运算来表达。
交运算:
R?
S=R-(R-S)连接运算RS=?
A?
B(R?
S)A?
B除运算:
R(X,Y)?
S(Y,Z)=?
X?
-?
X(?
X?
?
?
Y(S)?
R)X、Y、Z为属性组,R中的Y和S中的Y可以有不同的属性名,但必须出自相同的域集。
24.试述SQL语言的特点。
(1)综合统一。
SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。
(2)高度非过程化。
用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。
(3)面向集合的操作方式。
SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。
SQL语言既是自含式语言,又是嵌入式语言。
作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用。
25.试述SQL的定义功能。
SQL的数据定义功能包括定义表、定义视图和定义索引。
SQL语言使用CREATETABLE语句建立基本表,ALTERTABLE语句修改基本表定义,DROPTABLE语句删除基本表;使用CREATEINDEX语句建立索引,DROPINDEX语句删除索引;使用CREATEVIEW命令建立视图,DROPVIEW语句删除视图
26.用SQL语句建立第2章习题5中的四个表。
对于S表:
S(SNO,SNAME,STATUS,CITY);建S表CREATETABLES(SNOCHAR(3),SNAMECHAR(10),STATUSCHAR
(2),CITYCHAR(10));P(PNO,PNAME,COLOR,WEIGHT);建P表CREATETABLEP(PNOCHAR(3),PNAMECHAR(10),COLORCHAR(4),WEIGHTINT);J(JNO,JNAME,CITY);建J表CREATETABLEJ(JNOCHAR(3),JNAMECHAR(10),CITYCHAR(10));SPJ(SNO,PNO,JNO,QTY);建SPJ表CREATETABLESPJ(SNOCHAR(3),PNOCHAR(3),JNOCHAR(3),QTYINT);
27.针对上题中建立的四个表试用SQL语言完成第2章习题5中的查询。
(1)求供应工程J1零件的供应商号码SNO;SELECTSNOFROMSPJWHEREJNO=‘J1’;
(2)求供应工程J1零件P1的供应商号码SNO;SELECTSNOFROMSPJWHEREJNO=‘J1’ANDPNO=‘P1’;(3)求供应工程J1零件为红色的供应商号码SNO;SELECTSNO/*这是嵌套查询*/FROMSPJWHEREJNO=‘J1’ANDPNOIN/*找出红色的零件的零件号码PNO*/(SELECTPNOFROMP/*从P表中找*/WHERECOLOR=‘红’);或SELECTSNOFROMSPJ,P/*这是两表连接查询*/WHEREJNO=‘J1’/*这是复合条件连接查询*/ANDSPJ.PNO=P.PN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 答题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)