第一章 数据库系统概述 上世纪六十年代,数据处理已经成为计算机的主要应用。数据处 理是指对各种数据进行的收集、存储、加工和传播等一系列活动 的总和。数据管理是数据处理的中心环节。数据管理是指对数据 - PowerPoint PPT Presentation

slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
第一章 数据库系统概述 上世纪六十年代,数据处理已经成为计算机的主要应用。数据处 理是指对各种数据进行的收集、存储、加工和传播等一系列活动 的总和。数据管理是数据处理的中心环节。数据管理是指对数据 PowerPoint Presentation
Download Presentation
第一章 数据库系统概述 上世纪六十年代,数据处理已经成为计算机的主要应用。数据处 理是指对各种数据进行的收集、存储、加工和传播等一系列活动 的总和。数据管理是数据处理的中心环节。数据管理是指对数据

play fullscreen
1 / 42
第一章 数据库系统概述 上世纪六十年代,数据处理已经成为计算机的主要应用。数据处 理是指对各种数据进行的收集、存储、加工和传播等一系列活动 的总和。数据管理是数据处理的中心环节。数据管理是指对数据
154 Views
Download Presentation
odin
Download Presentation

第一章 数据库系统概述 上世纪六十年代,数据处理已经成为计算机的主要应用。数据处 理是指对各种数据进行的收集、存储、加工和传播等一系列活动 的总和。数据管理是数据处理的中心环节。数据管理是指对数据

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. 第一章 数据库系统概述 上世纪六十年代,数据处理已经成为计算机的主要应用。数据处 理是指对各种数据进行的收集、存储、加工和传播等一系列活动 的总和。数据管理是数据处理的中心环节。数据管理是指对数据 的分类、组织、编码、存储、检索和维护。早期的数据管理采用 文件系统方式,许多的缺点使得这种方式无法适应用户的要求。 数据库技术是上世纪六十年代末在文件系统基础上发展起来的数 据管理技术。经过三十多年的发展,现已经形成相当规模的理论 体系和应用技术。本章介绍数据库系统的基本概念和发展历史, 使同学们对数据库系统的概貌有所了解。 第一节 数据库、数据库管理系统和数据库系统 第二节 数据库系统的特点与功能 第三节 数据库系统的用户 第四节数据抽象 第五节数据模型 第六节数据库语言 第七节数据库管理系统的结构 第八节数据库技术的发展 a#

  2. a1# 第一章 数据库系统概述 第一节 数据库、数据库管理系统和数据库系统 数据库、数据库管理系统和数据库系统是本课程的基本概 念。在学习数据模型之前,我们对它们作如下初步的描述: 1.数据库(DB): 数据库是相互关联的数据集合。数据是描述现实世界中各种 具体事物和抽象概念的可存储并有明确意义的信息。数据能 够为特定组织(如企事业单位)的多种应用服务。 2.数据库管理系统(DBMS): 数据库管理系统是一个软件系统,能对数据库实施有效管理, 包括存储管理、安全性管理和完整性管理等。合法用户利用 它提供的命令,实现对数据库的定义和操作。 3.数据库系统(DBS): 数据库系统是指数据库和数据库管理系统的联合系统。有时 候把应用程序和有关人员也添加到数据库系统中,形成一个 广义的概念。

  3. a11 1. 数据库(DB) 数据库是相互关联的数据集合。 例:课程安排数据库实例 teacher,student和course 等文件组成了该数据 库,存储了教师、班 级和课程安排的信息。 为了定义这个数据库, 要说明每个文件的记 录结构,即各个数据 元素的名称、类型和 宽度等信息。文件之 间存在着数据关联。 例如,利用前两个文 件,可得到第三个文 件中各门课程的教师 信息和班级信息。 teacher 教师编号 姓名 所属系 4409 周东 物理系 4410 林西 信息系 4413 赵南 电子系 student 班级 人数 班主任 联系电话 物01 50 陈春 84130291 信00 55 苏夏 84133310 电99 60 徐秋 84130780 course 课程名称 教师编号 班级 时间 地点 量子力学 4409 物01 4-12 1301 数据结构 4410 信00 4-34 1301 微波原理 4413 电99 4-56 1301

  4. 2. 数据库管理系统(DBMS) 数据库管理系统是对数据库实施有效管理的软件系统。 它的主要功能是: (1)数据库的定义 (2)数据库的操纵DBMS提供数据操纵语言(DML)实现对 数据库中数据的操作(查询和更新)。 (3)数据库的保护 DBMS通过安全性控制和完整性控制实 现对数据库的保护。安全性控制的目的是防止对数据 库未经授权的访问和恶意攻击。完整性一般是指语义 完整性和事务完整性。前者是指对数据的语义约束, 后者包括并发控制和系统恢复。 (4)数据库的存储管理 (5)数据库的维护 (6)数据字典(DD) 数据字典是一个小型数据库,存放数据 库的描述信息和控制信息。 DBMS提供软件环境,使用户高效地进行对信息的建立、 维护、存取和处理。DBMS是用户与数据库的接口。应 用程序一般要通过DBMS才能访问数据库。 a12

  5. a13 3.数据库系统DBS: 是指数据库和数据库管理系统的复合系统. 有时候把数据库系统广义地定义为由数据库、数据库管理系统、 数据库管理员、应用程序和用户构成的复合系统。 用户 应用程序 用户 查询 更新 数据库操作 数据库操作 用户 数据库管理系统(DBMS)软件 应用程序 操作系统 数据 字典 数据库 数据 数据文 件数据 文件结构 完整约束 简化的数据库系统环境 利用文件系统直 接编程管理数据

  6. a2 第一章 数据库系统概述 第二节 数据库系统的特点与功能 文件系统和数据库系统是数据管理的两种不同的机制。 后者是在前者的基础上发展起来的。 数据管理的这两种机制具有本质上的区别。 为了理解这种区别, 我们首先分别叙述它们的的特点,然后作综合比较。 1. 数据管理的文件系统方法。 2 .数据管理的数据库系统方法。 3 .数据管理的两种方法的比较。

  7. a21 数据管理的文件系统方法 文件系统是操作系统用于管理辅存数据的子系统,提供数据 的物理存储和存取方法。在文件系统中,一个命名的数据集 合称为文件。文件是操作系统管理数据的基本单位。 文件管理方式本质上是把数据组织成文件形式存储在磁盘上。 用户通过编程,定义数据的逻辑结构和输入输出格式。 应用程序由于必须直接访问所使用的数据文件,所以完全依 赖于数据文件的存储结构。当数据文件修改时,应用程序也 必须作相应修改。这导致了这种管理数据的方法有以下缺点: (1)数据共享性差,冗余度大。相同数据在不同的程序使用时 需要重复定义和重复存储。 (2)数据不一致性。重复存储导致重复更新,并且容易造成数 据不一致。 (3)数据独立性差。文件结构的任何改变都需要修改应用程序。 (4)数据结构化程度低。 数据文件之间是孤立的,没有反映客 观世界事物之间的关联。

  8. A22 数据管理的数据库系统方法 由于文件管理系统的缺陷,人们在此基础上发展出了数据库 管理系统(DBMS)。DBMS在用户应用程序和数据文件之间起 到了桥梁作用。数据结构等元数据信息储存在数据库系统中, 它实现了程序和数据的互相独立性,从而克服了文件系统的 上述缺点,并有以下的特点功能: (1) 信息完整功能通用 (2) 程序与数据独立 (3) 数据抽象 (4) 支持数据的不同视图 (5) 控制数据冗余 (6) 支持数据共享 (7) 限制非授权的存取 (8) 提供多种用户界面 (9) 表示数据之间的复杂联系 (10)完整性约束 (11)数据恢复.

  9. A22a 数据库系统特点之一:信息完整和功能通用 数据库系统的通用性是由于抽象出所有文件的元数据并统一 存储管理。所谓元数据是指数据库的说明信息,包括数据库 每个文件的结构、每个数据项的存储格式和数据类型、数据 的完整性约束等。元数据存储在称为数据字典的特殊文件中。 应用程序如果要访问数据库,首先通过DBMS从数据字典取 得有关的元数据,然后根据这些信息存取数据库的数据。 在文件系统中,文件的元数据分散在不同的应用程序中,故 文件与能够阅读这些文件的应用程序形成特定的关系,其它 的应用程序由于不了解元数据而无法访问文件。数据库系统 的通用性则是由于抽象出所有文件的元数据,统一了存储和 管理。

  10. A22b 数据库系统特点之二:程序与数据独立。 由于数据库系统把所有文件的元数据存放在数据字典作 统一存储和统一管理,从而实现了应用程序与数据的独立 性,即当文件结构改变时,应用程序不必改变。这是因为 通过DBMS完成对数据字典的相应修改。 相比之下, 在文件系统中,文件的元数据嵌套在应用程序中,文件结 构的任何改变将引起所有访问该文件的应用程序的改变。 例如,应用程序原来设计为可以访问任课教师文件(教师号, 姓名,电话,部门),它包含对文件结构描述的元数据。但当 文件新增数据项‘学位’后,应用程序须修改才能继续使用。

  11. A22c 数据库系统特点之三:数据抽象。 数据库系统提供了数据的抽象概念表示,使得用户不必了解 数据库文件的存储结构、存储位置、存取方法等细节就能访 问数据库。数据模型是提供数据抽象概念的有利工具,使用 逻辑概念表示数据。不同类型的数据库系统使用不同的数据 模型实现数据的抽象概念表示。数据模型屏蔽了数据存放的 物理细节,这种方法表达的数据更容易被用户理解。 在数据库系统中,每个文件的存储结构、存取方法等细节存 放在数据字典中,访问数据库时,用户只须引用数据的抽象 概念表示,DBMS负责从数据字典中提取文件的存储结构、 存取方法等细节,把用户引用的抽象概念转换为物理表示, 完成用户的访问要求。

  12. 数据库系统特点之四:支持数据的不同视图。 所谓视图是指对同一个数据库的每一个理解。一个视图 是一个或多个数据库的子集按某种方式构成的虚拟数据 库(不是实际存储的数据库)。数据库系统提供了定义、 维护和操纵视图的机制。各用户使用这机制为自己的应 用程序定义一个视图并维护和操纵它。下图表示,利用 教学管理数据库的三个文件组织一个视图:课程联系人。 A22d D1:年级数据 D3:教学安排数据 年级号 专业 级长 电话 电01 电子 陈一 1188 信00 信息 赵二 2288 计99 计算 张三 3388 课程名称 教师号 年级号 时间 地点 操作系统 8018 电01 4-12 1307 数据结构 8020 信00 5-34 1307 D2:任课教师数据 视图:课程联系人 教师号 姓名 电话 部门 8018 王东 0291 物理系 8020 何西 0780 信息系 8036 周南 7725 电子系 课程名称 教师 电话 年级号 级长电话 操作系统 8018 0191 电01 1188 数据结构 8020 0780 信00 2288

  13. A22e 数据库系统特点之五:控制数据冗余。 数据库系统可以克服文件系统的冗余问题。其实现途径是在 数据库设计阶段,所有用户视图被综合为一个逻辑模式。若 要求每个逻辑数据项仅存储一次,即可避免数据冗余。但考 虑到提高数据库系统的性能,往往把经常一起存取的数据项 放在一个文件中,以避免数据库查询时搜索较多的文件。这 样处理,就难免把同一个数据项存放到不同的文件中。这种 数据冗余现象在一定程度的范围内是允许存在的。但为了不 致于造成数据不一致,数据库系统必须对数据冗余加以控制。 例如,在数据更新的操作中,系统提供某种程度的数据一致 性检查的功能。

  14. A22f 数据库系统特点之六:支持数据共享 数据共享是指多个用户或多个应用程序可以同时访问数据库中 的相同数据项。为了支持数据共享,DBMS提供两个机制: 1.并发控制机制:当数据库被多个用户或多个应用程序同时更 新时,DBMS通过适当的控制,保证数据库保持正确状态。 例如,国际航空公司分布在各地的售票处出售同一航班的机 票时,必须保证在每一个航段每一个座位只能出售一条机票。 本课程第十三章介绍并发控制技术。 2.数据库视图机制:每个用户可以根据自己的需要,定义和维 护一些视图,并在该视图上设计自己的应用程序。不同用户 的视图,其逻辑数据可以来自相同的存储数据。例如,在工 厂企业数据库系统中,财务部的数据视图和生产部的数据视 图,都使用产品编码,而产品编码的实际数据统一存储在企 业数据库中。

  15. A22g 数据库系统特点之七:限制非授权访问 为了保证数据库的数据安全,除了制止非授权访问,还必须 限制每个用户的使用权限。为此,数据库系统设置一个安全 与授权子系统。该子系统有以下两方面的功能: (1)为数据库管理员(DBA)提供特定的工具,建立用户帐号和 通行字,并分配用户存取数据库适当的权限。 (2)当用户要求访问数据库时,对该共用户实施安全检查。即 核对帐号、通行字和存取权限。制止非授权进入和超越权 限存取数据库。并对DBMS的关键部件实施保护。例如, 安全与授权子系统只允许DBA使用。

  16. A22h 数据库系统特点之八:支持多种用户界面 不同的用户具有不同的技术背景和不同的使用要求。 数据库系统针对不同用户的情况,提供多种界面。 1.数据库查询语言:面向具有数据库系统知识的用户。 2.程序设计语言界面:面向应用程序员。 3.菜单、图形和自然界面:面向简单用户。

  17. 数据库系统特点之九:表示数据间复杂的联系 有许多查询要通过数据库文件之间的复杂联系才能实现。 为此,数据库系统提供以下两种相关的机制: 1.数据间联系的定义机制。供用户定义数据之间的联系使用。 2.利用数据间联系查询的机制。供用户通过数据间联系实现 数据查询。在下例中,为了查询‘操作系统’课程的听课班 级的班主任的电话号码,利用三个文件,根据课程名称, 依次查出:年级号、班主任编号和班主任的联系电话号码。 A22i D1:年级文件 D2:任课教师文件 年级号 专业 级长 电话 班主任编号 E01 电子 陈一 1188 8020 I00 信息 赵二 2288 8036 C99 计算 张三 3388 8018 教师号 姓名 电话 部门 8018 王东 0291 物理系 8020 何西 0780 信息系 8036 周南 7725 电子系 查询:‘操作系统’课程的听课 班级的班主任的电话号码。 查询序:‘操作系统’年级号E01 班主任编号8020电话0780 D3:教学安排文件 课程名称 教师号 年级号 时间 地点 操作系统 8018 E01 4-12 1307 数据结构 8020 I00 5-34 1307

  18. A22j 数据库系统特点之十:完整性约束 完整性约束是指数据库应用对数据语义的限制。数据库的任何更新 操作必须遵守完整性约束。这样做,虽不能避免数据库所有可能的 错误,但能避免某些结构性错误。下边对完整性约束作简单介绍: 简单的完整性约束: 1. 数据类型:对每个数据项规定了特定的类型。 2. 值域约束:对每个数据项规定了其值域,即其取值的范围。 复杂的完整性约束: 1.包含性约束:文件A全体记录在某个属性子集的值必须包含在 文件B全体记录在某个属性子集的值之中。 例如,课程文件的教师编号数据必须在任课教师文件的某记录 出现,否则将无法查询某课程的教师资料。 2.唯一性约束:文件A每个记录在某个属性子集的值必须唯一。 例如,课程文件的课程编号必须唯一,使课程元组能唯一标识。 支持完整性约束的两种机制: 1.完整性定义机制:把完整性约束定义到数据库系统中。 2.完整性约束验证机制:检查每个更新操作是否破坏完整性约束, 若是,则拒绝执行该操作。

  19. A22k 数据库系统特点之十一: 数据恢复 数据库系统具有一个系统恢复子系统,能使系统从软硬件故障 修复后将数据库恢复到正确状态。例如,当数据库系统正在执 行一个数据库的更新操作时,系统发生了硬件故障,使得构成 这个更新操作的某些基本操作没能完成,从而使数据库处于错 误状态。当系统故障恢复后,系统恢复子系统必须对数据库实 施修复,使能回复到正确状态。一般采用两种方法: 1. 把数据库恢复到更新操作以前的状态。 2. 令更新操作从故障发生的断点继续继续执行,保证操作的各 个基本动作都能正确完成,所有更新结果全部写入数据库。 本课程的第十四章介绍数据库恢复技术。

  20. a23 .数据管理两种方法的比较 数据管理的文件系统方法 数据管理的数据库方法 磁 盘 磁 盘 内存 DBMS 内存 操作系统 操作系统 访问磁盘的单位是记录 管理数据的基本单位是文件 数据的结构由DBMS定义。 元数据存放在数据字典中。 整体数据结构化程度高。 能反映客观世界中实体与 实体之间的关联。 实现了数据的共享性。 数据形态的三级抽象保证 了数据相对程序的独立性 数据的结构由应用程序定义。 元数据存放在应用程序中。 由于文件之间没有联系, 所以无总体结构性。 这限制了数据的共享性, 使数据相对于应用程序来说, 缺乏独立性。

  21. 第三节 数据库系统的用户 数据库系统的用户可以划分为以下五个类别: a3 一.数据库设计者:定义数据库,按用户需求建立和合并数据视图。 二.系统分析员和应用程序员:定义数据处理事务及编程实现。 三.数据库管理员(DBA):监督管理共享资源,即数据库与DBMS;。 四.最终用户(EU):经常访问数据库。这是数据库的主要用户。 最终用户可以划分为以下三类: 简单用户:使用程序员编制的程序对数据库进行查询和更新 偶然用户:偶然访问数据库。用数据库查询语言访问数据库 复杂用户:直接通过DBMS访问数据库,甚至基于DBMS编程 五.其他人员:DBMS及有关工具的开发人员、 业务操作人员和系统维护人员。 下图表达了这些用户接触数据库系统的时间先后。 数据库及其 事务处理系 统的设计和 实现人员 数据库资源的监督管理人员 数据库的各类访问人员 数据库运行的维护人员 DBMS研制人, 附属工具制作人

  22. a4 第四节 数据抽象 数据库系统的主要目的之一,是为用户提供一个数据的 抽象视图、隐藏数据的存储结构和存取方法等细节。 数据库系统通过三种级别的数据抽象,把现实世界抽象 为数据的物理存储结构,并在这个基础上实现两种数据 独立性,把数据定义从应用程序中分离出来,使得数据 库的模式发生变化时,有关的应用程序可以不必修改或 少作修改。本节先叙述数据库的三种模式和三级抽象, 然后介绍两种数据独立性的原理。同学们要通过综合示 意图和简例加深理解数据抽象的本质和原理。 一.数据抽象与数据库的三种模式 二.数据独立性. 三.数据抽象的示意图 四.简例

  23. a41 一.数据抽象与数据库的三种模式 1. 数据库系统三级抽象是指 视图级抽象:把现实世界抽象为数据库的外模式; 把现实世界中的信息按照不同用户的观点抽象为多 个逻辑数据结构。每个逻辑结构称为一个视图,描 述了每个用户所关心的数据,即数据库的一个侧面。 所有视图的集合形成了数据库的外模式。 概念级抽象:把数据库外模式抽象为数据库的概念模式。 将外模式所有视图综合为数据库整体逻辑结构,这 就是数据库概念模式,即全体用户关心的现实抽象。 物理级抽象:把数据库概念模式抽象为数据库的内模式。 内模式描述了概念数据库的物理存储访问细节: (1)存储策略的描述 如数据和索引的存储方式、存储记录的描述和 记录的定位方法 (2)存储路径的描述:如索引定义和HASH结构定义等 2.三种数据库模式:外模式、概念模式和内模式

  24. a42 二.数据独立性 数据库三种模式之间存在两个映射: 1.外模式和概念模式间的映射:实现外模式和概念模式的转换; 2.概念模式和内模式间的映射:实现概念模式和内模式的转换; 两个映射实现了数据库系统的二种数据独立性: 1.物理数据独立性:由概念模式和内模式之间的映射实现。 当内模式发生改变时,只要能正确调整这种映射, 就能保证概念模式不变,从而用户编写的应用程序也可不变; 2.逻辑数据独立性:由外模式和概念模式之间的映射实现。 当概念模式发生改变时,只要能正确调整这种映射, 就能保证外模式不变,从而建立在外模式的应用程序也可不变。 但是,建立在概念模式上的应用程序仍然是要改变的。 从这个意义上说, 数据库系统提供的逻辑数据独立性是不完备的。

  25. 现实世界 a43 视图抽象:视图定义机构 不同的需求 产生不同的 数据视图 外模式:局部逻辑结构 当概念模式变 时,外模式及其 应用程序不变 数据库三种模式 数据的三级抽象 二种数据独立性 视图1 视图2 视图3 概念抽象:逻辑数据库定义机构 实现逻辑数据独立性 综合各视图 形成数据库 整体逻辑结构 即现实世界映像 概念模式:整体逻辑结构 当内模式变时, 概念模式不变, 用户程序不变 物理抽象:物理数据库定义机构 实现物理数据独立性 描述物理存储的 结构和访问方法 内模式:物理存储结构

  26. 简例:某企业业务系统信息定义 a44 企业管理业务实际情况 外模式: 局部逻辑结构 是现实世界的 局部映象 生产部 建立局部 逻辑结构 营销部 建立局部 逻辑结构 运输部 建立局部 逻辑结构 财务部 建立局部 逻辑结构 进行去冗余等综合工作 概念模式: 整体逻辑结构是现 实世界的综合映象 建立全公司的整体逻辑结构 选择合适的存储结构和访问方法 内模式: 数据在物理介 质的存储系统 建立全公司逻辑数据的存储结构

  27. a5 第五节 数据模型 数据模型是实现数据抽象的主要工具,是数据库系统的重要基础。 它精确描述数据、数据间联系、数据语义和完整性约束。许多数 据模型包括操作集合,用于说明对数据库的操纵。数据模型决定 了数据库系统的结构、数据库语言、设计方法、DBMS软件的设 计与实现。已经有许多数据模型。本节介绍以下几类数据模型: 一 基于对象的数据模型 用于在概念和视图抽象级上描述数据。这种模型很多。本节仅 介绍其中常用的两种: 1 实体-联系模型 2 面向对象的数据模型 二.基于记录的数据模型 用于定义数据库的概念模式和外模式。这种模型把数据库定义 为具有多种固定格式的记录型。本节介绍有代表性的三种: 1 关系数据模型 2 网络数据模型 3 层次数据模型 三.物理数据模型 在本节的最后一段,我们在数据模型的基础上给出数据库模式和 数据库实例的概念: 四.数据库的模式和实例

  28. a51 一 基于对象的数据模型 用于在概念和视图抽象级上描述数据。这类数据模型建立 在对象集合的基础上。具有相当灵活的结构化能力,允许 明确地定义完整性约束。目前有许多基于对象的数据模型, 比较知名的有:实体-联系模型、面向对象的数据模型、 二元数据模型、语义数据模型等。本节简要地叙述I前边两 种模型: 1.实体-联系模型 2.面向对象的数据模型 后边的第六章和第十八章将较详细地介绍实体-联系模型 、扩展的实体-联系模型以及面向对象的数据模型。

  29. a51a 1 实体-联系模型 实体-联系模型用以下四个概念描述现实世界: 实体:实体是客观世界中可区别的客观对象或抽象概念。 例如学校、教师、学生、课程都是实体。 属性:属性是实体特征的抽象。 例如课程实体的属性是编号、名称和周学时等。 实体全部属性的集合称为实体型。当实体型全部属性的 值确定之后,我们就得到实体型的一个实例。 键属性:若实体型的某个属性子集能唯一确定实例,则称 这些属性为键属性。例如课程编号是课程实体型的键属性. 实体间联系:实体间联系对应于客观世界中各种对象或抽象 概念之间的联系。例如,在课程和学生两个实体之间存在 着‘某学生选修某课程’的联系。 实体-联系模型使用上述四个概念来描述现实世界,实现数据 库系统的视图抽象。下图表示了课程和学生的实体-联系模型。 图中方框、园框和菱形分别表示实体型,属性和实体间联系。 学生(学号,姓名) 联系 课程(编号,名称)

  30. a51b 2 面向对象的数据模型 这类数据模型的基本数据结构是对象。主要概念是对象类。 对象类由一组变量和一组程序代码组成。 变量和程序代码分别定义对象类的特征(数据)和操作(方法)。 当一个对象类的所有变量都赋予确定的值后, 就得到该对象类的一个对象。 允许一个对象的变量是另一个对象形成嵌套结构。 不限制对象的嵌套层次。 对象A存取对象B数据的唯一路径是传送消息调用B的某操作。 操作的调用界面是外部可见的,而变量和程序代码是不可见的。 由于数据和基本操作代码封装在对象内部, 因而实现了数据的独立性。

  31. a52 二 基于记录的数据模型 这种数据模型用于定义数据库的概念模式和外模式。 它把数据库定义为具有多种固定格式的记录型。 每个记录型有固定数量和固定结构的属性(或称作域)。 采用这种简单结构有助于简化数据库的物理级实现。 这类数据模型提供独立的语言, 供用户表示对数据库的查询和更新。 具有代表性的基于记录的数据模型包括以下三种: 1 关系数据模型 2 网络数据模型 3 层次数据模型

  32. 1 关系数据模型 关系数据模型的核心是数学概念关系。使用关系表示数据之 间的联系。一个关系可以看成是一个表,每个表有固定个数 的列,每列有一个名字,称为关系的属性。每一行数据称为 一个元组。关系既可以装载数据,也可以表示数据之间的联 系。下图描述了一个关系数据库实例,它由两个关系组成。 其中,关系‘储户’有三个属性,当前有五个元组。关系‘账号’ 有两个属性,当前有四个元组。这两个关系通过‘账号’实现 联系。例如,利用账号实现两个关系的联系,就可以知道身 份证号是11111111的储户陈大拥有两个账号24和97,余额分 别是1000和6500.而身份证号是22222222和44444444的两个储 户共用一个账号85,余额是8800. a52a 身份证号 姓名 地址 帐号 11111111 陈大 24 22222222 赵二 85 33333333 张三 45 44444444 李四 85 11111111 陈大 97 帐号 余额 24 1000 45 2000 85 8800 97 6500 储户 账号

  33. a52b 2 网络数据模型 网络数据模型的核心是记录和系。 记录表示数据。它由多个数据域组成。 每个数据域表示一个数据项。 系可以视作一个指针,表示记录之间的联系。 记录被系组织成一个图。 下图中,例1是一个关系数据库实例。 例2是例1基于网络数据模型的数据库实例。 例1:关系数据库实例 例2:基于网状数据模型的数据库例 (例1数据的另一描述) 姓名 地址 帐号 陈大 24 赵二 85 张三 45 李四 85 陈大 97 帐号 余额 24 1000 45 2000 85 8800 97 6500 姓名 地址 指针i 陈大 ----------- 赵二 ----------- 张三 ----------- 李四 ----------- 帐号 余额 24 1000 45 2000 85 8800 97 6500

  34. a52c 例1:关系数据库实例 3. 层次数据模型 层次数据模型是特殊的网络数据模型。 在这里,记录不能被组织为任意的图, 必须组织为树的集合。 右图的例1是一个关系数据库实例。 下图的例3是例1基于层次数据模型 的数据库实例。 姓名 地址 帐号 陈大 24 赵二 85 张三 45 李四 85 陈大 97 帐号 余额 24 1000 45 2000 85 8800 97 6500 树 24 1000 45 2000 85 8800 97 6500 陈大 24 张三 45 赵二 85 陈大 97 例3:基于层次数据模型的数据库实例 李四 85

  35. 物理数据模型:用于实现物理抽象。给出存储结构表示。 四 数据库模式和实例 数据库一词包含模式和实例两方面意义。 数据库模式是数据库基于特定数据模型的结构定义。 类似于程序设计语言中的类型定义,是数据库的框架。 下边是一个数据库模式的例子,包含三个关系模式: teacher(教师编号,姓名 职称,部门),grade(班级编号,专业,班长) scheduler(课程名称,教师编号,班级编号,上课时间,地点) 数据库实例是在任意特定时刻数据库存储的数据。 类似于程序设计中的变量值,是数据库当前的存储状态。 下边是上述数据库模式的一个实例。 a53 数据库模式 是相对稳定 的。而数据 库实例则随 着更新操作 而动态变化 教师编号 姓名 职称 部门 8018 王东 教授 计算机 8020 何西 讲师 信息系 8036 周南 讲师 管理系 班级编号 专业 班长 电00 电子 陈一 信00 信息 赵二 数99 数学 张三 课程名称 教师编号 班级编号 上课时间 上课地点 操作系统 8018 电00 3-12 1307 数据结构 8020 信00 3-34 1307

  36. a6 第六节 数据库语言 每个数据库系统都为用户提供一个数据库语言。数据库语言用于 定义和操纵数据库,并按功能的不同划分为以下两种子语言: (1)数据定义子语言DDL(用户使用DDL提出数据库模式定义的要求) 模式定义:描述数据的逻辑结构。 存储结构与存取方法定义:描述数据的存储结构。 相应的处理程序为(DBMS为实现用户定义要求而作出的处理) 数据库模式定义处理程序: 将DDL表示的模式定义存储到数据字典中。 存储结构和存取方法定义处理程序: 根据DDL表示的存储结构和存取方法定义, 创建相关的数据库文件,建立物理数据库。 (2)数据操纵子语言DML(用户使用DML存取数据库的数据) 用户使用DML表示对数据库的操作请求(查询或增删改)。 DML分过程语言和非过程语言两类。后者较易学习但效率较低。 目前的关系数据库系统产品都提供SQL语言。 这种语言把上述(1)(2)两种子语言合并一起。

  37. a7 第七节 数据库管理系统的结构 数据库管理系统由多个程序模块组成。每个模块实现数据库系 统的一种功能。一般情况下,数据库系统建立在操作系统基础 上。以下是DBMS的主要模块: 1.数据定义语言编译执行模块:对DDL作语法及安全性检查, 然后更新数据字典的元数据; 2.查询预处理模块:对DML作语法、安全检查和完整性验证; 3.查询优化处理模块:对查询要求产生优化的执行计划。 若模块由复杂用户调用,则把执行计划交操作模块; 若模块由程序用户调用,则把执行计划返回DML预编译. 4.数据操纵语言预编译模块:调用预处理模块作安全检查和 完整性验证,调用优化处理模块优化程序中的查询,调用 宿主语言编译程序产生程序的目标代码,目标代码执行时 调用数据操作模块的算法完成查询。 5.记录管理模块:调用相关模块实现并发控制、系统恢复、 缓冲处理、记录存储、存储方法和数据存取等功能。 数据库系统的结构图

  38. 数据库系统的结构图 a71 简单用户 应用程序员 复杂用户 数据库管理员 应用源程序 应用界面 查询语句 数据定义语言语句 安全性检查 查询预处理 数据 定义 语言 编译 执行 数据操纵 语言预编译 应用程序 目标代码 完整性 约束 查询优 化处理 数据操作 实现算法 存取方法 并发控制 缓冲处理 系统恢复 记录存储 数据存取 操纵数据字典 记录管理 DBMS 数据字典 数据文件 操纵数据文件 OS

  39. a8 第八节 数据库技术的发展 数据管理是计算机的一个重要应用领域。早期的数据管理采用 文件管理方式。这种管理方式存在种种缺点,不能满足现代数 据管理的应用需求。上世纪六十年代末,出现了以数据库为中 心的数据库管理系统(DBMS)。1970年,Codd提出了关系数据 库理论,开创了数据库应用新阶段。数据库从出现到现在,仅 仅三十多年时间,从第一代的网状、层次数据库技术和第二代 的关系数据库技术,发展到第三代的面向新一代应用的数据库 技术,其发展速度之快、应用范围之广使得数据库技术成为计 算机科学中最令人瞩目的一个重要分支。 第一代数据库系统 1970年前后研制的层次和网状数据库系统。 第二代数据库系统 建立在关系模型理论基础上的关系数据库系统。 第三代数据库系统 继承和发展第二代数据库的技术;支持对数据、对象和知 识的管理;与其他学科技术领域互相渗透。

  40. a81 第一代数据库系统:层次和网状模型数据库 层次模型数据库系统:IBM公司于1968年采用层次数据模型研制成功世界上第一个 数据库管理系统 IMS(Information Management System)。IMS 允许多个COBOL程序共享数据库,但其设计是面向程序员的, 操作难度较大,只能处理数据之间1:1和1:N的关系。网状模型数据库系统: 1969年10月数据系统语言协会CODASYL(Conference on Data System Language)的下属组织数据库任务组DBTG(Data Base Task Group)提出了关于网状模型的数据库系统。该组织一系 列关于数据库的工作和报告澄清了许多数据库的概念,确定 了网络数据库系统的许多概念、方法和技术。为数据库的进 一步成熟奠定了基础。许多实际运行的网状数据库系统,如 IDMS、IDS/2和DMS1100等均以 DBTG报告为基础。 网状模型可以描述现实世界中数据之间的1:1、1:n和m:n关系。 但要处理多对多的关系还要进行转换,操作也不方便。

  41. a82 第二代数据库系统:关系数据库系统RDBMS(Relational DBMS)1970年6月IBM San Joe研究所的E.F.Code发表了‘大型共享数 据库的数据关系模型‘论文,提出了关系数据库模型的概念, 奠定了关系数据库模型的的理论基础,使数据库技术成为计 算机科学的重要分支,开创了数据库的关系方法和关系规范 化的研究。关系方法由于理论上的完美和结构相对简单,对 数据库技术的发展起到了关键性的作用。从此一些关系数据 库系统陆续出现。1974年,IBM San Joe研究所研制成功了关 系数据库管理系统System R。1984年David Marer所著‘关系数 据库理论‘一书标志着关系数据库理论的成熟。80年代是关系数据库发展的鼎盛时期,至今久盛不衰。其最 大优点是:使用非过程化的数据库语言SQL;具有很好的形 式化基础和高度的数据独立性;使用方便,二维表格可直接 处理多对多的关系。目前我国应用较多的RDBMS有: ORACLE, SQLS ERVER,INFORMIX,DB2,SYBASE等。

  42. a83 第三代数据库系统 从数据模型来看,出现了面向对象的数据库(OODB)。增加了管理 数据内在动态联系的能力。提高了建模能力和运行性能。从数据分布来看,出现了分布式数据库(DDB)。其局部自治性降低 了通信开销。数据的合理冗余提高了网络环境数据管理的可靠性。 从数据处理方式来看,出现了并行数据库(PDB)。在集结多个处理 器的并行计算机上建立高性能数据库将大大提高数据查询的能力。 从数据管理时间特性来看,出现了时态数据库和实时数据库。适应 查询历史数据或实时响应的要求。从应用领域来看,出现了各种特殊数据库。与人工智能结合出现演 绎数据库、知识库和主动数据库(ADB);与多媒体技术结合出现多 媒体数据库;与移动通信结合出现移动式数据库;工程领域出现工 程数据库;统计领域出现统计数据库;地理领域出现空间数据库等,从数据库的连接性来看,出现了Web数据库。从数据库存储介质来看,出现了主存数据库。近年,数据仓库和数据挖掘技术成为数据库技术的一个发展趋势。 关于第三代数据库系统的基本特征,下边是一种看法:继承第二代 数据库的技术;支持对数据、对象和知识的管理;对其它系统开放.