《数据库系统原理》学习笔记-第1章

##第1章 数据库系统基本概念 小结

  • 数据管理技术经历了人工管理、文件系统、数据库、高级数据库技术等四个阶段。数据库系统是在文件系统的基础上发展而来的,同时又克服了文件系统的三个缺陷:数据的冗余、不一致性和联系弱。
  • 在数据库领域,应该准确使用术语。概念设计阶段用到实体、实体集、属性和实体标识符等4个术语,逻辑设计阶段用到字段、记录、文件和关键码等四个术语。应该深刻理解实体间1:1、1:N和M:N三种联系的意义。
  • 数据模型是对现实世界进行抽象的工具,用于描述现实世界的数据、数据联系、数据语义和数据约束方面的内容。
  • 从现实世界的信息到数据库存储的数据以及用户使用的数据,这是一个逐步抽象的过程。分为四个级别:概念模型、逻辑模型、外部模型和内部模型。概念模型是对现实世界的抽象,是一种高层的数据模型。逻辑模型是用某种DBMS软件对DB管理的数据的描述。外部模型是逻辑模型的逻辑子集,是用户使用的数据模型。内部模型是对逻辑模型的物理实现。
  • 概念模型的代表是实体联系模型。逻辑模型是有层次、网状、关系模型等三种。层次、网状模型已成为历史,关系模型是当今的主流模型。
  • 从用户到数据库之间,数据库的数据结构经历了外模式、逻辑模式和内模式三个层次。这个结构把数据的具体组织留给DBMS去做,用户只需抽象地处理逻辑数据,而不必关心数据在计算机中的存储,减轻了用户使用系统的负担。由于三级结构之间往往差别很大,存在着二级映像,因此使DBS具有较高的数据独立性:物理数据独立性和逻辑数据独立性。数据独立性是指在某个层次上修改模式而不影响较高一层模式的能力。
  • DBMS是位于用户与OS之间的一层数据管理软件。数据库语言分成DDL和DML两类。DBMS主要由查询处理器和存储管理器两大部分组成。
  • DBS是包含DB和DBMS的计算机系统。DBS的全局结构体现了DBS的模块功能结构。

习题

1.1 名词解释

  • DB 数据库(Database,简记为DB),DB是长期存储在计算机内的、在组织的、统一管理的相关数据的集合。DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性的特点。
  • DBMS 数据库管理系统(Database Management System,简记为DBMS),DBMS是位于用户和操作系统(OS)之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
  • DBS 数据库系统(Database System,简记为DBS),DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。
  • 联系的元数 联系(Relationship)是实体之间的相互关系。与一个联系有关的实体集个数,称为联系的元数。
  • 1:1联系 一对一联系:如果实体集E1中每个实体至多与实体集E2中的一个实体有联系,反之亦然,那么实体集E1和E2的联系称为”一对一联系“,记为”1:1“。 例子:飞机的座位和乘客之间是1:1联系。
  • 1:N联系 一对多联系:如果实体集E1中的每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,而E2中每个实体至多和E1中的一个实体有联系,那么称E1对E2的联系是”一对多的联系“,记为”1:N“。 例子:工厂里车间和工人之间是1:N联系。
  • M:N联系 多对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,反之亦然,那么称E1和E2的联系是”多对多联系“,记为”M:N“。 例子:学校里学生和课程之间是M:N联系。
  • 数据模型 模型(Model)是对现实世界的抽象。在数据库技术中,我们用数据模型的概念描述数据库的结构和语义,对现实世界的数据进行抽象。
  • 概念模型 表达用户需求观点的数据全局逻辑结构的模型,称为“概念模型”。
  • 逻辑模型 表达计算机实现观点的DB全局逻辑结构的模型,称为“逻辑模型”。
  • 外部模型 表达用户使用观点的DB局部逻辑结构的模型,称为“外部模型”。
  • 内部模型 表达DB物理结构的模型,称为“内部模型”。
  • 层次模型 用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型。
  • 网状模型 用有向结构图表示实体类型及实体间联系的数据模型称为网状模型。
  • 关系模型 关系模型的主要特征是用二维表格表达实体集。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。
  • 外模式 外模式是用户与数据库系统的接口,是用户用到的的那部分数据的描述。外模式由若干个外部记录类型组成。
  • 逻辑模式 逻辑模式是数据库中全部数据的整体逻辑结构的描述。它由若干个逻辑记录类型组成,还包含记录间的联系、数据的完整性安全性等要求。
  • 内模式 内模式是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。
  • 外模式/逻辑模式映像 外模式/逻辑模式映像存在于外模式和逻辑模式之间,用于定义外模式和逻辑模式之间的对应性。这个映像一般是放在外模式中描述的。
  • 逻辑模式/内模式映像 逻辑模式/内模式映像存在于逻辑模式与内模式之间,用于定义逻辑模式和内模式之间的对应性。这个映像一般是放在内模式中描述的。
  • 数据独立性 数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。在修改数据结构时,尽可能不修改应用程序,则称系统达到了数据独立性目标。
  • 物理数据独立性 对内模式的修改尽量不影响逻辑模式,这样,我们称数据库达到了物理数据独立性。 在物理结构改变时,尽量不影响整体逻辑结构、用户的逻辑结构以及应用程序。
  • 逻辑数据独立性 对逻辑模式的修改尽量不影响外模式和应用程序,这样,我们称数据库达到了逻辑数据独立性。 在整体逻辑结构改变时,尽量不影响用户的逻辑结构以及应用程序。
  • 主语言 在数据库技术中,用户是指使用数据库的应用程序或联机终端用户。编写应用程序的语言可以是COBOL、PL/I、C、C++、Java一类高级程序设计语言,这些语言称为主语言或宿主语言。
  • DDL 数据库的定义功能,DBMS提供DDL定义数据库的三级结构、两级映像,定义数据的完整性约束、保密限制等约束。
  • DML 数据库的操纵功能,DBMS提供DML实现数据的操作。基本的数据操作有两类:检索(查询)和更新(插入、删除、更新)。
  • 过程性DML 过程性DML是指用户编程时,不仅需要指出“做什么”(需要什么样的数据),还需要指出“怎么做”(怎样获得这些数据)。
  • 非过程性DML 非过程性DML是指用户编程时,只需要指出“做什么”,不需要指“怎么做”。
  • DD/DD系统 数据库系统中存放三级结构定义的数据库称为数据字典(Data Dictionary, DD)。对数据库的操作都要通过DD才能实现。DD中还存放着数据库运行时的统计信息,例如记录个数、访问次数等。 管理DD的子系统称为“DD系统”。

1.2 人工管理阶段的数据管理有哪些特点?

  • (1)数据不保存在计算机内。
  • (2)没用专用的软件对数据进行管理。
  • (3)只有程序的概念,没有文件的概念。
  • (4)数据面向程序。即一组数据对应一个程序。

1.3 文件系统阶段的数据管理有哪些特点?

  • (1)数据以“文件”形式可长期保存在外部存储器的磁盘上。
  • (2)数据的逻辑结构与物理结构有了区别,便比较简单。程序与数据之间具有“设备独立性”,即程序只需用文件名就可与数据打交道,不必关心数据的物理位置。由操作系统的文件系统提供存取方法(读、写)。
  • (3)文件组织已多样化。有索引文件、链接文件和直接存取文件等。但文件之前相互独立、缺乏联系。数据之间的联系要通过程序去构造。
  • (4)数据不再属某个特定的程序,可以重复使用,即数据面向应用。但是文件结构的设计仍然是基于特定用途,程序基于特定的物理结构和存取方法,因此程序与数据结构之间的依赖关系并未根本改变。
  • (5)对数据的操作以记录为单位。

1.4 文件系统阶段的数据管理有些什么缺陷?试举例说明。

  • (1)数据冗余。由于文件之间缺乏联系,造成每个应用程序都有对应的文件,有可能同样的数据在多个文件中重复存储
  • (2)数据不一致。这往往是由数据冗余造成的,在进行更新操作时,稍不谨慎,就可能使同样的数据在不同的文件中显示的结果不一样
  • (3)数据联系弱。这是由于文件之间相互独立,缺乏联系造成的。 举例: 一个单位的一台计算机上,各部门分别在上面建立文件,比如建立了职工档案文件、职工工资文件和职工保健文件,每一职工的电话号码在这三个文件中重复出现,这就是“数据冗余”。 如果某职工的电话号码要修改,就要修改这三个文件中的数据,否则会引起同一数据在三个文件中不一致;产生上述问题的原因是三个文件中数据没有联系。

1.5 数据管理的数据库阶段产生的标志是哪三件事情?

是20世纪60年代末的三件大事:

  • (1)1968年美国IBM公司推出层次模型的IMS(Informaiton Management System)系统
  • (2)1969年美国CODASYL(Conference On Data System Language)组织发布了DBTG(Data Base Task Group)报告。总结了当时各式各样的数据库,提出网状结构模型,尔后于1971年4月正式通过。
  • (3)1970年美国IBM公司的E.F.Codd连接发表论文,提出关系模型,奠定了关系数据库的理论基础。

1.6 数据库阶段的数据管理有哪些特色?

  • (1)采用数据模型表示复杂的数据结构。数据模型不仅描述数据本身的特征,还要描述数据之间的联系。这种联系通过存取路径实现。通过所有存取路径表示自然的数据联系是数据库与传统文件的根本区别。
  • (2)有较高的数据独立性。数据的逻辑结构与物理结构之间的差别可以很大。用户以简单的逻辑结构操作数据而无须考虑数据的物理结构。
  • (3)数据库系统为用户提供了方便的用户接口。用户可以使用查询语言或终端命令操作数据库,也可以用程序方式操作数据库。
  • (4)数据库系统提供以下四方面的数据控制功能:

  • 数据库的恢复:在数据库被破坏或数据不可靠时,系统有能力把数据恢复到最近某个正确的状态。
  • 数据库的并发控制:对程序的并发操作加以控制,防止数据被破坏,杜绝给用户提供不正确的数据。
  • 数据的完整性:保证数据库中的数据始终是正确的。
  • 数据安全性:保证数据的安全,防止数据丢失或被窃取、破坏。
  • (5)增加了系统的灵活性:对数据的操作不一定以记录为单位,可以以数据项为单位。

1.7 高级数据库阶段有哪些技术?

  • (1)面向对象的概念建模:数据库的概念建模经历了从实体联系图、对象联系图到UML类图的发展历程。
  • (2)开放数据库互联技术:建立一个公共的、与DBMS型号无关的应用程序设计接口。这个接口为开发者提供单一的编程接口,使得同一个应用程序能够访问不同的数据库服务器。

1.8 逻辑记录与物理记录,逻辑文件与物理文件有些什么联系和区别?

  • 联系:逻辑记录、逻辑文件是逻辑设计中的数据描述,物理记录、物理文件是物理设计中的数据描述。
  • 前者是逻辑数据描述,是程序员或用户用以操作的数据形式的描述,是抽象的概念化数据,是用户观点的数据描述。
  • 后者是数据在存储设备上存储方式的描述,物理数据是实际存放在存储设备上的数据,是用来描述存储数据的细节。

1.9 数据抽象的过程,有哪几个步骤?

  • (1):根据用户需求,设计数据库的概念模型,这是一个“综合”的过程。
  • (2):根据转换规则,把概念模型转换成数据库的逻辑模型,这是一个“转换”的过程。
  • (3):根据用户的业务特点,设计不同的外部模型,给程序员使用。
  • (4):数据库实现时,要根据逻辑模型设计其内部模型。 一般,第1步称为DB的概念设计,第2、3步称为DB的逻辑设计,第4步称为DB的物理设计。

1.10 概念模型、逻辑模型、外部模型和内部模型各具有哪些特点? 概念模型的特点:

  • (1)概念模型表达了数据的整体逻辑结构,它是系统用户对整个应用项目涉及的数据的全面描述。
  • (2)概念模型是从用户需求的观点出发,对数据建模。
  • (3)概念模型独立于硬件和软件。
  • (4)概念模型是数据库设计人员与用户之间进行交流的工具。
  • 逻辑模型的特点:

  • (1)逻辑模型表达了DB的整体逻辑结构,但它是设计人员对整个应用项目数据库的全面描述。
  • (2)逻辑模型是从数据库实现的观点出发,对数据建模。
  • (3)逻辑模型独立于硬件,但依赖于软件(DBMS)。
  • (4)逻辑模型是数据库设计人员与应用程序之间进行交流的工具。
  • 外部模型的特点:

  • (1)外部模型是逻辑模型的一个逻辑子集。
  • (2)外部模型独立于硬件,依赖于软件。
  • (3)外部模型反映了用户使用数据库的观点。 内部模型的特点:
  • 它又称为物理模型,是数据库最低层的抽象,它描述数据在磁盘或磁带上的存储方式(文件的结构)、存取设备(外存空间的分配)和存取方法(主索引和辅助索引)。 内部模型是与硬件和软件紧密相连的。

1.11 试叙述层次、网状和关系等三种逻辑数据模型的区别。

  • 用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型。
  • 用有向结构图表示实体类型及实体间联系的数据模型称为网状模型。
  • 关系模型的主要特征是用二维表格表达实体集。

1.12 外部模型使数据库系统具有哪些优点?

  • (1)简化了用户的观点。
  • (2)有助于数据库的安全性保护。用户不能看的数据,不存入外部模型,这样就提高了系统的安全性。
  • (3)外部模型是对概念模型的支持。

1.13 数据独立性与数据联系这两个概念有什么区别?

  • 数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。在修改数据结构时,尽可能不修改应用程序,则称系统达到了数据独立性目标。
  • 数据联系是指数据实体之间相互关系。

1.14 试叙述用户、DB的三级模式结构、磁盘上的物理文件之间有什么联系和不同? 三层模式体系结构具有以下特点:

  • (1)用户使用DB的数据操纵语言语句对数据库进行操作,实际上是对外模式的的外部记录进行操作。
  • (2)逻辑模式必须不涉及到存储结构、访问技术等细节。数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,而逻辑模式提供了连接这两级的相对稳定的中间观点,并使得两级中任何一级的改变都不受另一级的牵制。
  • (3)内模式并不涉及到物理设备的约束。

1.15 试述DBMS的工作模式和主要功能。 DBMS的工作模式如下:

  • (1)接受应用程序的数据请求和处理请求
  • (2)将用户的数据请求(高级指令)转换成复杂的机器代码(低层指令)
  • (3)实现对数据库的操作
  • (4)从对数据库的操作中接受查询结果
  • (5)对查询结果进行处理(格式转换)
  • (6)将处理结果返回给用户
  • DBMS的主要功能如下:

  • (1)数据库的定义功能
  • (2)数据库的操作功能
  • (3)数据库的保护功能
  • (4)数据库的维护功能
  • (5)数据字典

1.16 什么是DB的系统缓冲区?其作用是什么?

  • DBMS为应用程序在内存开辟一个DB的系统缓冲区,用于数据的传输和格式的转换。

1.17 DBS由哪几部分组成?它有哪些系统软件?其中DD有什么使用?

  • DBS的组成:

  • (1)数据库
  • (2)硬件
  • (3)软件
  • (4)数据库管理员
  • 它有DBMS、OS等系统软件。 各级数据结构的描述,称为描述数据库,由DD系统管理。

1.18 什么是DBA? DBA应具有什么素质?DBA的职责。

  • 数据库管理员,DBA必须具有以下素质:熟悉企业全部数据的性质和用途;对所有用户的需求有充分的了解;对系统的性能非常熟悉;兼有系统分析员和运筹学专家的品质和知识。

DBA的主要职责:

  • (1)定义模式
  • (2)定义内模式
  • (3)与用户联络。包括定义外模式、应用程序的设计、提供技术培训等专业服务。
  • (4)定义安全性规则,对用户访问数据库的授权。
  • (5)定义完整性规则,监督数据库的运行。
  • (6)数据库的转储与恢复工作。

1.19 试对DBS的全局结构作详细解释。

  • (1)数据库用户

  • DBA
  • 专业用户
  • 应用程序员
  • 终端用户

  • (2)DBMS的查询处理器

  • DDL解释器
  • DML编译器
  • 嵌入式DML预编译器
  • 查询求值引擎

  • (3)DBMS的存储管理器

  • 权限和完整性管理器
  • 事务管理器
  • 文件管理器
  • 缓冲区管理器

*(4)磁盘存储器中的数据结构

  • 数据文件
  • 数据字典
  • 索引
  • 统计数据
  • 日志

1.20 从模块结构观察,DBMS由哪些部分组成?

  • (1)DBMS的查询处理器 DDL解释器 DML编译器 嵌入式DML预编译器 查询求值引擎
  • (2)DBMS的存储管理器 权限和完整性管理器 事务管理器 文件管理器 缓冲区管理器

1.21 使用DBS的用户有哪几类?

  • DBA
  • 专业用户
  • 应用程序员
  • 终端用户

1.22 DBMS的查询处理器和存储管理器分别由哪几部分组成?

  • (1)DBMS的查询处理器 DDL解释器 DML编译器 嵌入式DML预编译器 查询求值引擎
  • (2)DBMS的存储管理器 权限和完整性管理器 事务管理器 文件管理器 缓冲区管理器

1.23 磁盘存储器中有哪五类主要的数据结构?

  • 数据文件
  • 数据字典
  • 索引
  • 统计数据
  • 日志

1.24 DBS能产生哪些效益?

  • (1)灵活性。
  • (2)简易性。
  • (3)面向用户。
  • (4)有效的数据控制。
  • (5)加快应用系统的开发速度。
  • (6)维护方便。
  • (7)标准化。