本文所属《数据库系统原理》分类专栏,相关文章导航请点击《数据库系统原理》目录汇总贴

  • 1、试述数据、数据库、数据库系统、数据库管理系统的概念。

(1)数据是描述事物的符号记录。
(2)数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
(3)数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
(4)数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。

  • 2、使用数据库系统有什么好处?

使用数据库系统可以大大提高应用开发的效率,方便用户使用,减轻数据库系统管理人员维护负担。

  • 3、试述文件系统与数据库系统的区别和联系。

(1)区别:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。
(2)联系:文件系统与数据库系统都是计算机系统中管理数据的软件。解析文件系统是操作系统的重要组成部分;而 DBMS 是独立于操作系统的软件。但是 DBMS 是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。

  • 4、举出适合用文件系统而不是数据库系统的例子,以及适合用数据库系统的应用例子。

(1)适用于文件系统而不是数据库系统的应用例子有数据的备份、软件或应用程序使用过程中的临时数据存储。
(2)适用于数据库系统而非文件系统的应用例子,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等),学校的学生管理系统,人事管理系统,图书馆的图书管理系统,都适合用数据库系统。

  • 5、试述数据库系统的特点。

(1)数据结构化数据库系统实现整体数据的结构化。
(2)数据的共享性高,冗余度低,易扩充。
(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
(4)数据由 DBMS 统一管理和控制数据库的共享是并发的共享。

  • 6、数据库管理系统的主要功能有哪些?

数据库管理系统的主要功能有数据库定义功能、数据存取功能、数据库运行管理、数据库的建立和维护功能。

  • 7、什么是概念模型?试述概念模型的作用。

概念模型,也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。

  • 8、定义并解释概念模型中以下术语:实体、实体型、实体集、实体之间的联系。

(1)实体是客观存在并可以相互区分的事物。
(2)实体型是具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体。
(3)实体集是同型实体的集合;
(4)实体之间的联系:通常是指不同实体型的实体集之间的联系,实体之间的联系有一对一、一对多和多对多等多种类型。

  • 9、试述数据模型的概念、数据模型的作用和数据模型的三个要素。

(1)数据模型是对现实世界数据特征的抽象。
(2)数据模型的作用是用来描述数据、组织数据和对数据进行操作。
(3)数据模型的三个要素是数据结构、数据操作、数据的完整性约束条件。

  • 10、试述层次模型的概念,举出三个层次模型的实例。

(1)层次模型用树形结构来表示各类实体以及实体间的联系,在数据库中定义满足的基本层次联系的集合为层次模型:有且只有一个结点没有双亲结点,即根结点;根以外的其他结点有且只有一个双亲结点。
(2)实例:教员学生层次数据库模型、行政机构层次数据库模型、行政区域层次数据库模型。

  • 11、试述网状模型的概念,举出三个网状模型的实例。

(1)满足下面两个条件的基本层次联系集合为网状模型。允许一个以上的结点无双亲;一个结点可以有多于一个的双亲。
(2)实例:学生选课网状数据库模型、教师选教室网状数据模型、学生选教室网址数据模型。

  • 12、试述网状、层次数据库的优缺点。

(1)层次模型:
优点主要有:模型简单,对具有一对多层次关系的部门描述非常自然、直观,容易理解,这是层次数据库的突出优点;用层次模型的应用系统性能好,特别是对于那些实体间联系是固定的且预先定义好的应用,采用层次模型来实现,其性能优于关系模型;层次数据模型提供了良好的完整性支持。

缺点主要有:现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型不能自然地表示这类联系,只能通过引入冗余数据或引入虚拟结点来解决;对插入和删除操作的限制比较多;查询子女结点必须通过双亲结点。

(2)网状数据模型:
优点主要有:能够更为直接地描述现实世界,如一个结点可以有多个双亲;具有良好的性能,存取效率较高。

网状数据模型的缺点主要有:结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;其 DDL、DML 语言复杂,用户不容易使用。由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径。因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。

  • 13、试述关系模型的概念,定义并解释以下术语:关系,属性,域,元组,码,分量,关系模式。

(1)关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
(2)关系:一个关系对应通常说的一张表。
(3)属性:表中的一列即为一个属性。
(4)域:属性的取值范围。
(5)元组:表中的一行即为一个元组。
(6)主码:表中的某个属性组,它可以惟一确定一个元组。
(7)分量:元组中的一个属性值。
(8)关系模式:对关系的描述,一般表示为关系名(属性 1 ,属性 2 , … ,属性 n )。

  • 14、试述关系数据库的特点。

(1)关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。
(2)关系模型的概念单一,无论实体还是实体之间的联系都用关系表示,操作的对象和操作的结果都是关系。
(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

  • 15、试述数据库系统三级模式结构,这种结构的优点是什么?

(1)数据库系统的三级模式结构由外模式、模式和内模式组成。
(2)外模式:亦称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
(3)模式:亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。
(4)内模式:亦称存储模式,是对数据的物理结构和存储方式的描述。
(5)优点:为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

  • 16、定义并解释以下术语:模式,外模式,内模式,数据定义语言,数据操纵语言。

(1)模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。他是数据库系统模式结构的中间层,既不设计数据的物理储存细节和硬件环境,又与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。
(2)外模式:也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
(3)内模式:也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存放方式的描述,是数据在数据库内部的组织方式。
(4)数据定义语言:用来定义数据库的模式、外模式和内模式的语言。
(5)数据操纵语言:用来对数据库中的数据进行查询、插入、删除和修改的语句。

  • 17、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?

(1)数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,这就是数据与程序的物理独立性,简称数据的物理独立性。
(2)数据与程序的逻辑独立性:当数据的逻辑结构即模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变,从而应用程序不必修改,这就是数据与程序的逻辑独立性,简称数据的逻辑独立性。
(3)数据库管理系统DBMS在三级模式之间提供的两级映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

  • 18、试述数据库系统的组成。

数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

  • 19、数据库管理员、系统分析员、数据库设计人员、应用程序员的职责是什么?

(1)数据库管理员的职责:决定数据库中的信息内容和结构、决定数据库的存储结构和存取策略、定义数据的安全性要求和完整性约束条件监控数据库的使用和运行、数据库的改进和重组、重构。
(2)系统分析员负责应用系统的需求分析和规范说明,系统分析员要和用户及 DBA 相结合,确定系统的硬件、软件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。
(3)数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。
(4)应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。