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

#第4章 关系运算 #小结

  • 关系运算理论是关系数据库查询的理论基础。只有掌握了关系运算理论,才能深刻理解查询语言的本质和熟练使用查询语言。
  • 关系查询语言属于非过程性语言,但关系代数的非过程性较弱,域关系演算语言的非过程性较强。关系代数、安全的元组关系演算、安全的域关系演算在关系的表达和操作能力上是完全等价的。
  • 关系代数和关系演算是简洁的形式化语言,适合于理论研究。现在大多数商用数据库系统采用有更多“语法修饰”的语言。
  • 查询优化是指系统对关系代数表达式要进行优化组合,以提高系统效率。关系代数表达式等价交换的启发式规则“尽早地执行选择”、“尽早地执行投影”及“避免直接使用笛卡尔积”等。

先占位。。。。

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

#第3章 关系模式设计理论

#习题3

  • 函数依赖 在数据库中,属性值之间会发生联系。这类联系,称为函数依赖,其形式定义如下: 设有关系模式R(U),X和Y是属性集U的子集,函数依赖(functional dependency,简记为FD)是形成X->Y的一个命题,只要r是R的当前关系,对于r中的任意两个元组t和s, 都有t[X]=s[X]蕴涵t[Y]=x[Y],那么称FD X->Y在关系模式R(U)中成立。

  • 平凡的函数依赖 对于FD X->Y,如果Y是X的子集,那么称X->Y是一个“平凡的FD”,否则称为“非平凡的FD”。

  • 函数依赖集F的闭包F+
    设F是函数依赖集,被F逻辑蕴涵的的函数依赖全体构成的集合,称为函数依赖集F的闭包(Closure),记为F+.

  • 属性集X的闭包X+ 设F是属性集U上的FD集,X是U的子集,那么属性集X的闭包用X+用表示,它是一个从F集使用FD推理规则推出的所有满足X->A的属性A的集合。

  • 函数依赖的逻辑蕴涵
    设F是在关系模式R上成立的函数依赖的集合,X->Y是一个函数依赖。如果对于R的每个满足F的关系r也满足X->Y,那么称F逻辑蕴涵X->Y

  • 函数依赖集的等价 如果关系模式R(U)上的两个函数依赖集F和G,有F+=G+,则称F和G是等价的函数依赖集。F和G等价,意味着F中的每一个FD都可以从G中推导出来,并且G中的每一个FD也都可以从F中推导出来。

  • 最小依赖集
    如果函数依赖集G满足下列3个条件,则称G是最小依赖集: 1 G中每个FD的右边都是单属性 2 G中没有冗余的F,即G中不存在这样的函数依赖X->Y,使得G-{X->Y}与G等价 3 G中每个FD的左边没有冗余属性,即G中不存在这样的函数依赖X->Y,X有真子集W使得G-{X->Y}U{W->Y}和G等价

  • 关系模式的分解
    设有关系模式R(U),属性集为U,而R1…Rk都是U子集,并且有R1 U R2 U … U Rk = U. 关系模式R1…Rk的集合用p表示,p={R1…Rk}.用p代替R的过程称为关系模式的分解。这里p称为R的一个分解,也称为数据库模式。一般把上述的R称为泛关系模式,R对应的当前值称为泛关系。数据库模式p对应的当前值称为数据库实例。

  • 无损分解

  • 泛关系假设

  • Chase过程

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

#第2章 数据库设计和ER模型 #目录 #2.1 数据库系统生存期

2.1.1 规划阶段

2.1.2 需求分析阶段

2.1.3 概念设计阶段

2.1.4 逻辑设计阶段

2.1.5 物理设计阶段

2.1.6 数据库的实现

2.1.7 数据库的运行与维护

#2.2 ER模型的基本概念

2.2.1 ER模型的元素

2.2.2 属性的分类

2.2.3 联系的设计

2.2.4 ER模型的操作

2.2.5 采用ER模型的数据库概念设计步骤

#2.3 关系模型的基本概念

2.3.1 关系模型的基本术语

2.3.2 关系的定义和性质

2.3.3 三类完整性规则

#2.4 ER模型到关系模型的转换

2.4.1 ER图转换成关系模式集的算法

2.4.2 采用ER模型的逻辑设计步骤

#2.5 ER模型实例分析

2.5.1 库存管理信息系统的ER模型及转换

2.5.2 人事管理信息系统的ER模型

2.5.1 住院管理信息系统的ER模型

2.5.1 公司车队信息系统的ER模型

#2.6 增强的ER模型

2.6.1 弱实体与强实体

2.6.2 子类实体与超类实体

#小结

  • 本章介绍数据库设计的全过程,重点介绍数据库结构的概念设计和逻辑设计。
  • 概念设计是设计能反映用户需求的数据库概念结构,即概念模型。概念设计使用的方法主要是ER方法。依据ER方法设计ER模型,画ER图。ER模型要得到用户的认可才能最终确定下来。
  • ER模型是人们客观认识世界的一种方法、工具。ER模型具有客观性和主观性两重含义。ER模型是在客观事物或系统的基础上形成的,在某种程序上反映了客观现实,反映了用户需求,因此ER模型具有客观性。但ER模型以不等同于客观事物本身,它往往反映事物的某一方面,至于选取哪个方面或哪些属性,如何表达则取决于观察者本身的目的与状态,从这个意义上来说,ER模型以具有主观性。
  • 具体设计时,有时”实体“、”联系“、”属性“三者之间的界线是模糊的。数据库设计者的任务就是把现实世界中的数据以及数据间的联系抽象出来,分别用”实体“、”联系“、”属性“三者来表示。
  • 逻辑设计的主要任务是把ER模型转换成关系模型。这个转换具有固定的转换规则。
  • 本章举了四个大的ER模型实例,供读者参考、拓宽思路,以利于今后的数据库设计工作。
  • 本章最后介绍了EER模型,涉及到弱实体、子类实体、超类实体等内容。这些内容有助于深化ER模型。

#习题 2.1 名词解释

  • 数据库工程
    以数据库为基础的信息系统通常称为数据库应用系统,它一般具有信息采集、组织、加工、抽取、综合和传播等功能。数据库应用系统的开发是一项软件工程,但又有自己特有的特点,所以特称为“数据库工程”。
  • 数据库系统生存期 仿照软件生存期,可以得到数据库系统生存期概念。
    我们把数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个时间,称为数据库系统生存期。
  • 实体
    (Entity)是一个数据对象,指应用中可以区别的客观存在的事物。
  • 实体集
    (Entity Set)是指同一类实体构成的集合。
  • 实体类型
    (Entity Type)是对实体集中实体的定义。
  • 实体标识符
    在一个实体中,能够惟一标识实体的属性或属性集称为“实体标识符”。
    一个实体只有一标识符,没有候选标识符的概念。实体标识符有时也称为实体的主键。
  • 联系
    (Relationship)表示一个或多个实体之间的关联关系。
  • 联系集
    (Relationship Set)是指同一类联系构成的集合。
  • 联系类型
    (Relationship Type)是对联系集中联系的定义。
  • 属性
    实体的某一特性称为属性(Attribute)。
  • 简单属性
    简单属性是不可分割的属性。
  • 复合属性
    复合属性是可再分解为其他属性的属性(即属性可嵌套)。复合属性形成了一个属性的层次结构。
  • 单值属性
    指的是同一实体的属性只能取一个值。(同一个学生只能具有一个年龄)
  • 多值属性
    指同一实体的属性可能取多个值。(一个人的学位(学士、硕士、硕士))
  • 存储属性
    需要存储值的属性称为存储属性(Stored Attribute)。
  • 派生属性
    有时候,两个(或两个以上)属性值是相关的。此时可从其他属性值推导出值的属性,称为派生属性(Derived Attribute)。派生属性的值不必存储在数据库内。(如职工实体中,实发工资可从基本工资、奖金、房租等属性推导出来。)
  • 联系
    (Relationship)表示一个或多个实体之间的关联关系。
  • 联系元数
    一个联系涉及到的实体集个数,称为该联系的元数或度数(Degree)。
  • 映射基数
    实体集E1和E2之间有二元联系,则参与一个联系中的实体数目称为映射基数。
    对于二元联系类型,可能的映射基数有1:1、1:N、M:N、M:1。
  • 完全参与
    如果实体集E中每个实体都参与联系集R的至少一个联系中,我们称实体集E“完全参与”联系集R。
  • 部分参与
    如果实体集E中只有部分实体参与联系集R的联系中,我们称实体集E“部分参与”联系集R。
  • 关系模型
    用二维表格表示实体集,用关键码表示实体之间联系的数据模型称为关系模型(Relational Model)。
  • 关系模式
    在关系模型中,记录类型称为关系模式。
  • 关系实例
    元组的集合称为关系(Relation)或实例(Instance)。
  • 属性
    在关系模型中,字段称为属性,字段值称为属性值。

  • 关系中的每个属性都有一个取值范围,称为属性的值域(Domain)。每一个属性对应一个值域,不同的属性可以对应于同一值域。
  • 元组
    在关系模型中,记录称为元组(Tuple)。
  • 超键 (Super Key),在关系中惟一标识元组的属性集称为关系模式的超键。
  • 候选键 (Candidate Key),不含有多余属性的超键称为候选键。也就是在候选键中,若再删除属性,就不是键了。
  • 主键
    (Primary Key),用户选做元组标识的候选键称为主键。
  • 外键
    (Foreign Key),如果模式R中属性K是其他模式的主键,那么K在模式R中称为外键。
  • 实体完整性规则
    (Entity Integrity Rule),这条规则要求关系中元组在组成主键的属性上不能有空值。如果有空值,那么主键值就起不了惟一标识元组的作用。
  • 参照完整性规则
    (Reference Integrity Rule),如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中的某个主键值。
  • 弱实体
    一个实体对于另一个实体(称为强实体)具有很强的依赖关系,而且该实体主键的一部分或全部从其强实体中获得,则称该实体为弱实体。
  • 子类实体
    当较低层上实体类型表达了与之联系的较高层上的实体类型的特殊情况时,就称较高层上实体类型为超类型(Supertype),较低层上实体类型为子类型(Subtype)。
  • 超类实体
    当较低层上实体类型表达了与之联系的较高层上的实体类型的特殊情况时,就称较高层上实体类型为超类型(Supertype),较低层上实体类型为子类型(Subtype)。

2.2 数据库设计的规划阶段应做哪些事情?

  • (1)系统调查。对应用单位作全面的调查。发现其存在的主要问题,并画出组织层次图,以了解企业的组织结构。
  • (2)可行性分析。从技术、经济、效益、法律等诸方面对建立数据库的可行性进行分析;然后写出可行性分析报告;组织专家进行讨论其可行性。
  • (3)确定数据库系统的总目标,并对应用单位的工作流程进行优化和制订项目开发计划。在得到决策部门的批准后,就正式进入数据库系统的开发工作。

2.3 数据库设计的需求分析阶段主要由哪四步组成?

  • (1)分析用户活动,产生业务流程图
  • (2)确定系统范围,产生系统关联图
  • (3)分析用户活动涉及的数据,产生数据流图
  • (4)分析系统数据,产生数据字典

2.4 在数据库中,为什么要有概念设计这一阶段?

在早期的数据库设计中,概念设计并不是一个独立的设计阶段,当时的设计方式是需求分析之后,直接把用户信息需求得到的数据存储格式转换成DBMS能处理的逻辑模型。这样,注意力往往被牵扯更多的细节限制方面,而不能集中在最重要的信息组织结构和处理模型上。因此在设计依赖于具体DBMS的逻辑模型后,当外界环境发生变化时,设计结果就难以适应这个变化。
为了改善这种状况,在需求分析和逻辑设计之间增加了概念设计阶段。此时,设计人员仅从用户角度看待数据及处理需求和约束,尔后产生一个反映用户观点的概念模型(也称为“组织模型”)。将概念设计从设计过程中独立开来,可以使数据库设计各阶段的任务相对单一化,得以有效控制设计的复杂程度,便于组织管理。概念模型能充分反映现实世界中实体间的联系,又是各种基本数据模型的共同基础,同时也容易向现在普遍使用的关系模型转换。 详见P31

2.5 试述概念设计的主要步骤。

概念设计的任务一般可分为三步来完成:

  • (1)进行数据抽象,设计局部概念模型
  • (2)将局部概念模型综合成全局概念模型
  • (3)评审 详见P31

2.6 逻辑设计的目的是什么?试述逻辑设计阶段的主要步骤及内容。

逻辑设计的目的是把概念设计阶段设计好的概念模型转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库逻辑模型和外模型)。这些模型在功能上、完整性和一致性约束及数据库的可扩充性等方面均就满足 用户的各种要求。
逻辑设计主要是把概念模型转换成DBMS能处理的逻辑模型。转换过程中要对模型进行评价和性能测试,以便获得较好的模式设计。逻辑设计的主要步骤有五步。

  • (1)把概念模型转换成逻辑模型
  • (2)设计外模型
  • (3)设计应用程序与数据库的接口
  • (4)评价模型
  • (5)修正模型

2.7 什么是数据库的物理设计?试述其具体步骤。

对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程,称为物理设计。 物理设计可分五步完成,前三步涉及到物理结构设计,后两步涉及到约束和具体的程序设计。

  • (1)存储记录结构设计:包括记录的组成、数据项的类型、长度,以及逻辑记录到存储记录的映射
  • (2)确定数据存放位置:可以把经常同时被访问的数据组合在一起
  • (3)存取方法的设计:存取路径分为主存取路径与辅存取路径,前者用于主键检索,后者用于辅助键检索。
  • (4)完整性和安全性考虑:设计者应在完整性、安全性、有效性和效率方面进行分析,做出权衡。
  • (5)程序设计:在逻辑数据库结构确定后,应用程序设计就应当随之开始。

2.8 数据库实现阶段主要做哪几件事情?

  • (1)定义数据结构
  • (2)数据装载
  • (3)编制与调试应用程序
  • (4)数据库试运行

2.9 数据库系统投入运行后,有哪些维护工作?

  • (1)数据库的转储和恢复
  • (2)数据库安全性、完整性控制
  • (3)数据库性能的监督、分析和改进
  • (4)数据库的重组织和重构造

2.10 在概念设计中,如何把多值属性变换成系统容易实现的形式?

对多值属性进行变换,通常有下列两种变换方法。

  • (1)将原来的多值属性用几个新的单值属性来表示。
  • (2)将原来的多值属性用一个新的实体类型表示。这个新实体类型和原来的实体类型之间1:N联系。这个新实体依赖于原实体而存在,我们称之为弱实体。

2.11 对联系类型有哪两种约束?试详细解释之。

有两类联系约束:基数约束和参与约束。

  • (1)基数约束:实体集E1和E2之间有二元联系,则参与一个联系中的实体数目称为映射基数。 对于二元联系类型,可能的映射基数有1:1、1:N、M:N、M:1。
  • (2)参与约束:如果实体集E中的每个实体与联系集R的至少一个联系中,我们称实体集E“完全参与”联系集R。如果实体集E中只有部分实体参与联系集R的联系中,我们称实体集E“部分参与”联系集R。

2.12 采用ER模型的数据库概念设计有哪些主要的步骤?

  • (1)设计局部ER模型:1.1 确定局部结构范围 1.2 定义实体 1.3 定义联系 1.4 分配属性
  • (2)设计全局ER模型:2.1 确定公共实体类型 2.2 合并局部ER模型 2.3 消除冲突
  • (3)全局ER模型的优化:3.1 合并实体类型 3.2 消除冗余属性 3.3 消除冗余联系

2.13 在关系模型中,关系具有哪些性质?

关系是一种规范化了的二维表格。在关系模型中,对关系作了下列规范性限制:

  • (1)关系中每一个属性值都是不可分解的
  • (2)关系中不允许出现重复元组(即不允许出现相同的元组)
  • (3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序
  • (4)元组中的属性在理论上也是无序的,但使用时按习惯考虑列的顺序

2.14 为什么关系中的元组没有先后顺序?且不允许有重复元组?

由于关系是一个集合,因此不考虑元组间的顺序,即没有行序,同时不允许有重复元组。

2.15 参照完整性规则使用时,有哪些变通?试举例说明。

这条规则的实质是“不允许引用不存在的实体”。这条规则在具体实体时,有三点变通:

  • (1)外键和相应的主键可以不同名,只要定义在相同的值域上即可
  • (2)R1和R2也可以是同一个关系模式,此时表示了同一个关系中不同元组之间的联系
  • (3)外键值是否允许为空,就视具体问题而定。

《数据库系统原理》学习笔记-第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)标准化。