890 likes | 1.13k Views
数据库系统教程(第 3 版). 目录. 下篇 发展篇 第 8 章 ODBS 第 9 章 DDBS 第 10 章 ODBC 技术 第 11 章 XML 技术 第 12 章 现代信息 集成技术. 上篇 基础篇 第 1 章 数据库概论 第 2 章 关系运算理论 第 3 章 SQL 语言 第 4 章 规范化设计理论 第 5 章 DBD 与 ER 模型 第 6 章 DB 的存储结构 第 7 章 系统实现技术. 数据库系统教程(第 3 版). 特点: 理论性强(关系运算,模式设计) 应用性强( SQL ,数据库设计)
E N D
目录 下篇 发展篇 第8章 ODBS 第9章 DDBS 第10章 ODBC技术 第11章 XML技术 第12章 现代信息 集成技术 上篇 基础篇 第1章 数据库概论 第2章 关系运算理论 第3章 SQL语言 第4章 规范化设计理论 第5章 DBD与ER模型 第6章 DB的存储结构 第7章 系统实现技术
数据库系统教程(第3版) • 特点: • 理论性强(关系运算,模式设计) • 应用性强(SQL,数据库设计) • 可操作性(有很多题目) • 实用系统 • DBMS:DB2,Sybase,Oracle, SQL server • 工具:PB,VB,Delphi
第1章 数据库概论 1.1 引言 1.2 数据库的由来和发展 1.3 数据描述 1.4 数据抽象的级别 1.5 数据库管理系统(DBMS) 1.6 数据库系统(DBS) 1.7 小结
本章的重要概念(1) (1)DB、DBMS和DBS的定义 (2)数据管理技术的发展阶段: 人工管理、文件系统、数据库和 高级数据库等各阶段的特点。 (3)数据描述: 概念设计、逻辑设计和物理设计等各 阶段中数据描述的术语,概念设计中 实体间二元联系的描述(1:1,1:N, M:N)。
本章的重要概念(2) (4)数据抽象的级别:数据模型的定义,概 念模 型,逻辑模型(层次模型、网状模 型、关系 模型和对 象模型),外部模 型,内部模型。三层模式和两级映像, 数据独立性。数据抽象中各个层次中记 录的联系。 (5) DBMS: DBMS的工作模式和主要功能。 (6) DBS:DBS的组成,DBA,DBS的全局 结构,DBS结构的分类。
前 言 从20世纪50年代中期开始,计算机的应用由科学研究部门逐渐扩展到企业、行政部门。至60年代,数据处理已成为计算机的主要应用。在60年代末,数据库技术作为数据处理中的一门新技术发展起来的。经过近40年的发展,数据库技术已是计算机软件领域的一个重要分支,形成了较为完整的理论体系和实用技术。本章先回顾数据管理技术的发展过程,然后介绍数据库中的基本概念,以使读者对数据库的概貌有所了解。
1.1 引言 • 1963年,美国Honeywell公司的IDS(Integrated Data Store)系统投入运行,揭开了数据库技术的序幕。 • 20世纪70年代是数据库蓬勃发展的年代,网状系统和层次系统占据了整个数据库商用市场,而关系系统仅处于实验阶段。 • 20世纪80年代,关系系统由于使用简便以及硬件性能的改善,逐步代替网状系统和层次系统占领了市场。 • 20世纪90年代,关系数据库已成为数据库技术的主流。 • 进入21世纪以后,无论是市场的需求还是技术条件的成熟,对象数据库技术、Web数据库技术的推广和普及已成定局。
1.2 数据库的由来和发展 • 1.2.1 人工管理阶段 • 1.2.2 文件系统阶段 • 1.2.3 数据库阶段 • 1.2.4 高级数据库阶段
1.2 数据库的由来和发展 • 磁盘容量的发展 • 数据管理技术的发展经历了人工管理、文件系统、数据库阶段和高级数据库阶段。
1.2.1 人工管理阶段 • 在人工管理阶段(20世纪50年代中期以前),计算机主要用于科学计算,其他工作还没有展开。外部存储器只有磁带、卡片和纸带等,还没有磁盘等字节存取存储设备。软件只有汇编语言,尚无数据管理方面的软件。数据处理的方式基本上是批处理。 • 人工管理阶段的数据管理有下列特点: ① 数据不保存在计算机内。 ② 没有专用的软件对数据进行管理。 ③ 只有程序(program)的概念, 没有文件(file)的概念。 ④ 数据面向程序。即一组数据对应一个程序。
1.2.2 文件系统阶段(1) • 在这一阶段(20世纪50年代后期至60年代中期),计算机不仅用于科学计算,还用于信息管理。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展起来。此时,外部存储器已有磁盘、磁鼓等直接存取存储设备。软件领域出现了高级语言和操作系统。操作系统中的文件系统是专门管理外存的数据管理软件。数据处理的方式有批处理,也有联机实时处理。
1.2.2 文件系统阶段(2) • 文件系统阶段的数据管理有以下特点: ① 数据以“文件”形式可长期保存在外部存储器的磁盘上。 ② 数据的逻辑结构与物理结构有了区别,但比较简单。 ③ 文件组织已多样化。有索引文件、链接文件和直接存取文件等。 ④ 数据不再属于某个特定的程序,可以重复使用,即数据 面向应用。 ⑤ 对数据的操作以记录为单位。 • 随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷: ① 数据冗余(redundancy) ② 数据不一致(inconsistency) ③ 数据联系弱(poor data relationship)
o o o 职工工资文件 职工档案文件 职工保健文件 文件库 数据库 o o o
1.2.3 数据库阶段(1) • 数据管理技术进入数据库阶段的标志是20世纪60年代末的三件大事: ①1968年美国IBM公司推出层次模型的IMS系统 。 ②1969年美国CODASYL组织发布了DBTG报告,总结了当时各式各样的数据库,提出网状模型。 ③1970年美国IBM公司的E.F.Codd 连续发表论文,提出关系模型,奠定了关系数据库的理论基础。
1.2.3 数据库阶段(2) • 数据库阶段的数据管理具有以下特点: ① 采用数据模型表示复杂的数据结构。 ② 有较高的数据独立性。 ③ 数据库系统为用户提供了方便的用户接口。 ④ 数据库系统提供以下四方面的数据控制功能:并发控制,恢复,完整性和安全性。 ⑤ 增加了系统的灵活性 。
用户的局部逻辑结构 数据库的 整体逻辑结构 数据库的 物理结构 逻辑数据 独立性 物理数据独立性 图1.2 数据库系统的结构 1.2.3 数据库阶段(3)
数据库管理系统DBMS 应用程序1 数据库 … 应用程序n 输入 程序 输出 1.2.3 数据库阶段(4) • 程序和数据间的联系: • 文件系统阶段信息处理的传统方式:
联机 终端 要求 报表 查询处理程序 报表生成程序 数据库 应用程序 应用程序 输入 输出 输入 输出 1.2.3 数据库阶段(5) • 数据库阶段信息处理方式的演变
1.2.3 数据库阶段(6) • 定义1.1 数据库(Database,简记为DB): DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。
用户 DBMS OS DB 1.2.3 数据库阶段(7) • 定义1.2 数据库管理系统(DBMS): DBMS是位于用户与OS之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型等。
1.2.3 数据库阶段(8) • 定义1.3 数据库系统(Database System,简记为DBS): DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。 • 定义1.4 数据库技术(DBT): 数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科。
1.2.4 高级数据库阶段(1) 20世纪80年代的分布式数据库系统(DDBS) 20世纪90年代的对象数据库系统(ODBS) 开放数据库互联技术(ODBC) 21世纪初的 Web数据库系统 XML数据库技术 现代信息集成(DW、OLAP、DM)
1.2.4 高级数据库阶段(2) 1. 对象数据库系统主要有以下两个特点 ① 对象数据模型能完整地描述现实世界地数据结构,能表达数据间嵌套、递归的联系。 ② 具有面向对象技术的封装性(把数据与操作定义在一起)和继承性(继承数据结构和操作)的特点,提高了软件的可重用性。
1.2.4 高级数据库阶段(3) 2. 分布式数据库系统主要有下面三个特点 ① 数据库的数据物理上分布在各个场地,但逻辑上是一个整体。 ② 每个场地既可以执行局部应用(访问本地DB),也可以执行全局应用(访问异地DB)。 ③ 各地的计算机由数据通信网络相联系。本地计算机单独不能胜任的处理任务,可以通过通信网络取得其它DB和计算机的支持。
通信网 数据库 全局终端 局部处理机 局部处理机 局部终端 局部终端 数据库 数据库 1.2.4 高级数据库阶段(4) • 分布式数据库系统
1.2.4 高级数据库阶段(5) 3.开放数据库互联(ODBC)技术 20世纪80年代末,普遍的共识是有必要建立一个公共的、与数据库管理系统无关的应用程序设计接口(API)。在使用API以后,同一个应用程序就可以访问不同的数据库服务器。 最先上市的公共API是Microsoft公司于1992年推出的ODBC产品,因此就把这种技术命名为ODBC技术,即开放数据库互连技术。
1.2.4 高级数据库阶段(6) 4.XML数据库技术 XML是一种能够表达比传统数据模型中的数据结构化程度低的数据语言。与对象数据库相比,XML也提供了一条途径来表示有嵌套结构的数据,但在数据结构化方面有非常大的灵活性。 5.现代信息集成技术 数据仓库(DW) 联机分析处理技术(OLAP) 数据挖据(DM)
1.3 数据描述 • 1.3.1 概念设计中的数据描述 • 1.3.2 逻辑设计中的数据描述 • 1.3.3 物理设计中的数据描述 • 1.3.4 数据联系的描述
1.3 数据描述 在数据处理中,数据描述将涉及到不同的范畴。从事物的特性到计算机中的具体表示,实际上经历了三个阶段——概念设计中的数据描述、逻辑设计中的数据描述和物理设计中的数据描述。本节先介绍这三个阶段的数据描述,再介绍数据之间联系如何描述。
1.3.1 概念设计中的数据描述 • 实体(entity):客观存在,可以相互区别的事物称为实体。 • 实体集(entity set):性质相同的同类实体的集合,称为实体集。 • 属性(attribute):实体有很多特性,每一个特性称为属性。每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。 • 实体标识符(identifier):能惟一标识实体的属性或属性集,称为实体标识符。有时也称为关键码(key),或简称为键。
1.3.2 逻辑设计中的数据描述(1) • 字段(field):标记实体属性的命名单位称为字段,或数据项。它是可以命名的最小信息单位,所以又称为数据元素或初等项。 • 记录(record):字段的有序集合称为记录。 • 文件(file):同一类记录的集合称为文件。 • 关键码(key):能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为键)。
1.3.2 逻辑设计中的数据描述(2) • 术语的对应关系:
物理 记录 逻辑 值 类型 学生 张三
1.3.3 物理设计中的数据描述(1) • 物理存储介质层次 根据访问数据的速度、成本和可靠性,计算机系统的存储介质可分成以下六类。 (1)高速缓冲存储器(cache) (2)主存储器(main memory) (3)快擦写存储器(flash memory) (4)磁盘存储器(magnetic disk) (5)光存储器(optical storage) (6)磁带(tape storage)
高速缓存 内存 辅助存储器 联机存储器 快闪存储器 磁盘存储器 第三级存储器 脱机存储器 光存储器 磁带存储器 图1.6 存储介质层次 1.3.3 物理设计中的数据描述(2)
1.3.3 物理设计中的数据描述(3) • 位(bit,比特):一个二进制位称为“位”。一位只能取0或1两个状态。 • 字节(byte):8个比特称为一个字节,可以存放一个字符所对应的ASCII码。 • 字(word):若干个字节组成一个字。一个字所含的二进制位的位数称为字长。 • 块(block):又称为物理块或物理记录。块是内存和外存交换信息的最小单位,每块的大小,通常为210~214字节。 • 桶(bucket):外存的逻辑单位,一个桶可以包含一个物理块或多个在空间上不一定连续的物理块。 • 卷(volume):一个输入输出设备所能装载的全部有用信息,称为“卷”。
1.3.4 数据联系的描述(1) • 定义1.5 联系(relationship)是实体之间的相互关系。与一个联系有关的实体集个数,称为联系的元数。 • 定义1.6 二元联系有以下三种类型: ① 一对一联系:如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。 ② 一对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:N”。 ③ 多对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记为“M:N”。
E1 E2 E1 E2 E1 E2 E2 E1 乘客 座位 车间 工人 E1 E2 E1 E2 学生 课程 1.3.4 数据联系的描述(2) • 例1.2
飞机 驾驶员 1 M M 零件 N N 航行班次 1.3.4 数据联系的描述(3) • 例1.3 图1.10 三元联系 图1.11 一元联系
1.4 数据抽象的级别 1.4.1 数据抽象的过程 1.4.2 概念模型 1.4.3 逻辑模型 1.4.4 外部模型 1.4.5 内部模型 1.4.6 三层模式和两级映像 1.4.7 高度的数据独立性
1.4.1 数据抽象的过程(1) • 模型(model):对现实世界的抽象。 • 数据模型:描述数据库的结构和语义,对现实世界的数据进行抽象。 • 从现实世界的信息到数据库存储的数据以及用户使用的数据是一个逐步抽象过程。 • 根据数据抽象的级别定义了四种模型:概念数据模型、逻辑数据模型、外部数据模型和内部数据模型。一般,在提及时省略“数据”两字。
1.4.1 数据抽象的过程(2) • 定义1.7 • 表达用户需求观点的数据全局逻辑结构的模型,称为“概念模型”。 • 表达计算机实现观点的DB全局逻辑结构的模型,称为“逻辑模型”。 • 表达用户使用观点的DB局部逻辑结构的模型,称为“外部模型”。 • 表达DB物理结构的模型,称为“内部模型”。
用户1 应用1 应用2 应用3 用户需求 映像 用户2 概念模型 用户需求 映像 转换 用户3 用户需求 DB 外部模型1 外部模型 2 外部模型3 逻辑模型 内部模型 1.4.1 数据抽象的过程(3) 综合 图1.12 四种模型之间的相互关系
1.4.1 数据抽象的过程(4) • 数据抽象的过程,具体步骤如下: • 第1步:根据用户需求,设计数据库的概念模型,这是一个“综合”的过程。 • 第2步:根据转换规则,把概念模型转换成数据库的逻辑模型,这是一个“转换”的过程。 • 第3步:根据用户的业务特点,设计不同的外部模型,给程序员使用。 • 第4步:数据库实现时,要根据逻辑模型设计其内部模型。 • 一般,上述第1步称为DB的概念设计,第2、3步称为DB的逻辑设计,第4步称为DB的物理设计。
1.4.2 概念模型(1) • 概念模型的特点如下所述: (1)概念模型表达了数据的整体逻辑结构,它是系统用户对整个应用项目涉及的数据的全面描述。 (2)概念模型是从用户需求的观点出发,对数据建模。 (3)概念模型独立于硬件和软件。硬件独立意味着概念模型不依赖于硬件设备,软件独立意味着该模型不依赖于实现时的DBMS软件。 (4)概念模型是数据库设计人员与用户之间进行交流的工具。
1.4.2 概念模型(2) • ER模型是P.P.Chen于1976年提出的。这个模型直接从现实世界中抽象出实体类型及实体间联系,然后用实体联系图(ER图)表示数据模型。设计ER图的方法称为ER方法。ER图是直接表示概念模型的有力工具。 • 定义1.8 ER图有三个基本成分: ①矩形框,用于表示实体类型(考虑问题的对象)。 ②菱形框,用于表示联系类型(实体间联系)。 ③椭圆形框,用于表示实体类型和联系类型的属性。
SNAME AGE C# CNAME TNAME T# TITLE S# SEX STUDENT M SC N COURSE N TC 1 TEACHER SCORE 1.4.2 概念模型(3) 图1.13 ER图实例
1.4.2 概念模型(4) • ER模型有两个明显的优点:一是简单,容易理解,真实地反映用户的需求;二是与计算机无关,用户容易接受。因此ER模型已成为软件工程的一个重要设计方法。 • 但是ER模型只能说明实体间语义的联系,还不能进一步说明详细的数据结构。在数据库设计时,遇到实际问题总是先设计一个ER模型,然后再把ER模型转换成计算机能实现的数据模型,譬如关系模型。