580 likes | 684 Vues
第 01 章 数据库概论. 1.1 数据管理技术的发展. 1 、人工管理阶段 2 、文件系统阶段 3 、数据库阶段 4 、高级数据库阶段. 1.1.1 人工管理阶段. 人工管理阶段的数据管理有下列特点: 计算机主要用于科学计算,而不用于保存数据。 没有专用的软件对数据进行管理。 只有程序( program )的概念,没有文件( file )的概念。数据的组织方式必须由程序员自行设计与安排。 数据面向程序。即一组数据对应一个程序。. 1.1.2 文件系统阶段(一). 文件系统阶段的数据管理有以下特点:
E N D
1.1 数据管理技术的发展 • 1、人工管理阶段 • 2、文件系统阶段 • 3、数据库阶段 • 4、高级数据库阶段
1.1.1 人工管理阶段 • 人工管理阶段的数据管理有下列特点: • 计算机主要用于科学计算,而不用于保存数据。 • 没有专用的软件对数据进行管理。 • 只有程序(program)的概念,没有文件(file)的概念。数据的组织方式必须由程序员自行设计与安排。 • 数据面向程序。即一组数据对应一个程序。
1.1.2 文件系统阶段(一) • 文件系统阶段的数据管理有以下特点: • 数据以“文件”形式可长期保存在外部存储器的磁盘上。 • 数据的逻辑结构与物理结构有了区别,但比较简单。 • 文件组织已多样化。有索引文件、链接文件和直接存取文件等。 • 数据不再属于某个特定的程序,可以重复使用,即数据面向应用。 • 对数据的操作以记录为单位。
1.1.2 文件系统阶段(二) • 随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷: • 数据冗余(redundancy) • 数据不一致(inconsistency) • 数据联系弱(poor data relationship)
1.1.3 数据库阶段(一) • 数据管理技术进入数据库阶段的标志是20世纪60年代末的三件大事: • 1968年美国IBM公司推出层次模型的IMS系统 。 • 1969年美国CODASYL组织发布了DBTG报告,总结了当时各式各样的数据库,提出网状模型。 • 1970年美国IBM公司的E.F.Codd 连续发表论文,提出关系模型,奠定了关系数据库的理论基础。
1.1.3 数据库阶段(二) • 数据库阶段的数据管理具有以下特点: • 采用数据模型表示复杂的数据结构。 • 有较高的数据独立性。 • 数据库系统为用户提供了方便的用户接口。 • 数据库系统提供以下四方面的数据控制功能:数据库的并发控制,数据库的恢复,数据的完整性和数据安全性。 • 增加了系统的灵活性
数据库 数据库的物理结构 用户的局部逻辑结构 整体逻辑结构 逻辑数据 物理数据 独立性 独立性 1.1.3 数据库阶段(三) 图1.2 数据库系统的结构
应用程序1 数据库管理 系统DBMS … 数据库 应用程序n 图1.3 程序和数据间的联系 程序 输入 输出 图1.4(a) 文件系统阶段信息处理的传统方式 1.1.3 数据库阶段(四)
联机终端 报表 要求 查询处理程序 报表生成程序 数据库 应用程序 应用程序 输入 输出 输入 输出 1.1.3 数据库阶段(五) 图1.4(b) 数据库阶段信息处理方式的演变
1.1.4 高级数据库技术阶段(一) • 1、分布式数据库系统 • 2、对象数据库系统 • 3、网络数据库系统 • 4、新决策支持系统
1.1.4 高级数据库技术阶段(二) • 分布式数据库系统主要有下面三个特点 • 数据库的数据物理上分布在各个场地,但逻辑上是一个整体。 • 每个场地既可以执行局部应用(访问本地DB),也可以执行全局应用(访问异地DB)。 • 各地的计算机由数据通信网络相联系。本地计算机单独不能胜任的处理任务,可以通过通信网络取得其它DB和计算机的支持。
通信网 全局终端 数据库 局部处理机 局部处理机 局部终端 局部终端 数据库 数据库 1.1.4 高级数据库技术阶段(三) • 分布式数据库系统
1.1.4 高级数据库技术阶段(四) • 对象数据库系统主要有以下两个特点 • 对象数据模型能完整地描述现实世界地数据结构,能表达数据间嵌套、递归的联系。 • 具有面向对象技术的封装性(把数据与操作定义在一起)和继承性(继承数据结构和操作)的特点,提高了软件的可重用性。 • 网络数据库系统 • 新决策支持系统(DSS<DW、OLAP、DM>)
1.1.5 数据库技术的基本术语(一) • 定义1.1 数据库(Database,简记为DB) DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。
用户 DBMS OS DB 图1.5 系统层次图 1.1.5 数据库技术的基本术语(二) • 定义1.2 数据库管理系统(Database Management System,简记为DBMS) DBMS是位于用户与操作系统(OS)之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型等。
1.1.5 数据库技术的基本术语(三) • 定义1.3 数据库系统(Database System,简记为DBS) DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。 • 定义1.4 数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科。
1.2 数据描述 在数据处理中,数据描述将涉及到不同的范畴。从事物的特性到计算机中的具体表示,实际上经历了三个阶段——概念设计中的数据描述、 逻辑设计中的数据描述、 物理存储介质中的数据描述。 本节先介绍这三个阶段的数据描述,再介绍数据之间联系如何描述。
1.2.1 概念设计中的数据描述 • 实体(entity):客观存在,可以相互区别的事物称为实体。 • 实体集(entity set):性质相同的同类实体的集合,称为实体集。 • 属性(attribute):实体有很多特性,每一个特性称为属性。每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。 • 实体标识符(identifier):能惟一标识实体的属性或属性集,称为实体标识符。有时也称为关键码(key),或简称为键。
1.2.2 逻辑设计中的数据描述(一) • 字段(field):标记实体属性的命名单位称为字段,或数据项。它是可以命名的最小信息单位,所以又称为数据元素或初等项。 • 记录(record):字段的有序集合称为记录。 • 文件(file):同一类记录的集合称为文件。 • 关键码(key):能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为键)。
1.2.2 逻辑设计中的数据描述(二) • 术语的对应关系
1.2.3 存储介质层次及数据描述 • 1、物理存储介质层次-目前流行的是磁盘存储器 • 2、物理存储中的数据描述 (1)位(bit,比特):一个二进制位称为“位”。一位只能取0或1两个状态。 (2)字节(byte):8个比特称为一个字节,可以存放一个字符所对应的ASCII码。 (3)字(word):若干个字节组成一个字。一个字所含的二进制位的位数称为字长。
1.2.3 存储介质层次及数据描述 (4)块(block):又称为物理块或物理记录。块是内存和外存交换信息的最小单位,每块的大小,通常为210~214字节。 (5)桶(bucket):外存的逻辑单位,一个桶可以包含一个物理块或多个在空间上不一定连续的物理块。 (6)卷(volume):一个输入输出设备所能装载的全部有用信息,称为“卷”。
1.2.4 数据联系的描述(一) • 定义1.5 联系(relationship)是实体之间的相互关系。与一个联系有关的实体集个数,称为联系的元数。 • 定义1.6 二元联系有以下三种类型: • 一对一联系:如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。
1.2.4 数据联系的描述(二) • 一对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:N”。 • 多对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记为“M:N”。
实体集E1 实体集E2 实体集E1 实体集E2 E1 E2 E1 E2 乘客 座位 车间 工人 图1.7 一对一联系(1:1) 图1.8 一对多联系(1:n) 实体集E1 实体集E2 E1 E2 学生 课程 图1.9 多对多联系(m:n) 1.2.4 数据联系的描述(三) • 例1.2
驾驶员 飞机 M P 1 零件 N N 航行班次 图1.10 三元联系 图1.11 一元联系 1.2.4 数据联系的描述(四) • 例1.3
1.3 数据抽象的级别 1.3.1 数据抽象的过程 • 数据模型的简单定义: 能表示实体类型及实体间联系的模型称为“数据模型”。 • 根据数据抽象的级别定义了4种模型: 概念数据模型-表达用户需求观点的DB全局逻辑结构的模型; 逻辑数据模型-表达计算机实现观点的DB全局逻辑结构的模型;
1.3.1 数据抽象的过程 外部数据模型-表达用户使用观点的DB局部逻辑结构的模型; 内部数据模型-表达DB物理结构的模型; • 数据抽象的过程,即数据库设计的过程: 概念设计-概念模型 逻辑设计-逻辑模型、外部模型 物理设计-内部模型
1.3.2 概念模型(一) • 目前采用的概念模型主要是实体联系(Entity Relationship,ER)模型。 • 定义,ER图有三个基本成分: • 矩形框,用于表示实体类型(考虑问题的对象)。 • 菱形框,用于表示联系类型(实体间联系)。 • 椭圆形框,用于表示实体类型和联系类型的属性。 • 在ER图中属于关键码的属性名下画一条横线。
1.3.2 概念模型-实体联系模型(二) • 例1.4 • 首先确定实体类型。本问题有三个实体类型:学生STUDENT,课程COURSE,教师TEACHER。 • 确定联系类型。学生与课程之间是M:N联系,教师与课程之间是1:N联系,分别命名为SC和TC. • 把实体类型和联系类型组合成ER图。 • 确定实体类型和联系类型的属性。 • 确定实体类型的键,在关键码的下面画一条横线。
TNAME SNAME AGE C# CNAME T# TITLE S# SEX M N M N STUDENT COURSE TEACHER SC TC SCORE 图1.13 ER图实例 1.3.2 概念模型-实体联系模型(三)
1.3.3 逻辑模型 • 逻辑数据模型主要有: 1、层次模型(hierarchical model) -用树型(层次)结构表示实体类型及实体间联系的数据模型; 2、网状模型(network model)-用有向图结构表示实体类型及实体间联系的数据模型; 3、关系模型(relational model)-用二维表格表达实体集; 4、对象模型(object model)-用类模拟实体,用关联模拟联系;
1.3.3 逻辑模型-关系模型(二) • 关系模型(relational model)的主要特征是用二维表格表达实体集。 • 关系模型是由若干个关系模式组成的集合。 • 关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。
1.3.3 逻辑模型-关系模型(三) • 例1.7 从ER图到关系模型的转换方法:把ER图中的实体类型和M:N的联系分别转换成模式; TEACHER模式 (T#,TNAME,TITLE) COURSE模式 (C#,CNAME,T#) STUDENT模式 (S#,SNAME,AGE,SEX) SC模式 (S#,C#,SCORE) 图1.16 关系模型的例子 联系类型的关系模式:由与之关联的实体类型的键和本身的属性组成
1.3.3 逻辑模型-关系模型(三) TEACHER关系 COURSE关系
1.3.3 逻辑模型-关系模型(四) STUDENT关系 SC关系
1.3.4 外部模型 • 外部模型中的模式称为“视图(view)”,视图只是一个定义,其中的数据从逻辑模型的数据库中得到。 • 在实际使用中,根据不同的业务需求,设计不同的外部模型。如学生视图、教师视图等。
1.3.5 内部模型 • 内部模型又称为物理模型,描述数据的存储方式、存取设备、存取方法等。 • 关系模型以逻辑级为目标,不必考虑内部级的设计细节。
1.3.6 高度的数据独立性--数据库的三级体系结构
1.3.6 高度的数据独立性 • 定义1.8 数据独立性(data independence)是指应用程序和数据库的数据结构之间相互独立,不受影响。 • 数据独立性分成物理数据独立性和逻辑数据独立性两个级别。 对内模式的修改尽量不影响逻辑模式 对逻辑模式的修改尽量不影响外模式和应用程序
1.3.6 体系结构中的五个要素 • 定义 模式/逻辑内模式映象存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。 • 定义 外模式/逻辑模式映象存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。
低层指令 数据请求 DBMS DB 应用程序 数据 (查询结果) 数据 (处理结果) 图1.19 DBMS的工作模式 1.4 数据库管理系统 1.4.1 DBMS的工作模式(一)
1.4.1 DBMS的工作模式(一) • 接受应用程序的数据请求和处理请求 • 将用户的数据请求(高级指令)转换成复杂的机器代码(低层指令) • 实现对数据库的操作 • 从对数据库的操作中接受查询结果 • 对查询结果进行处理(格式转换) • 将处理结果返回给用户
应用程序 外模式 DBMS DB的系统缓冲区 模式 数据字典 OS 内模式 DB 图1.20 用户访问数据的过程 1.4.1 DBMS的工作模式(二)
1.4.2 DBMS的主要功能 • 数据库的定义功能-DDL; • 数据库的操纵功能-DML; • 数据库的保护功能-数据库的恢复、并发控制、完整性控制、安全性控制; • 数据库的维护功能-数据载入、转换、转储、数据库改组、性能监控等; • 数据字典-存放三级结构定义的数据库;
1.5 数据库系统 • 1.5.1 DBS的组成(一) • DBS是采用了数据库技术的计算机系统。DBS是一个实际可运行的,按照数据库方法存储、维护和向应用系统提供数据支持的系统,它是数据库、硬件、软件和数据库管理员的集合体。 1、数据库(DB)是与一个企业组织各项应用有关的全部数据的集合。
1.5.1 DBS的组成(二) 2、硬件-CPU、内存、外存、I/O设备等; 3、软件-DBMS、OS、主语言(如VC)、支撑软件(如PB)等; 4、数据库管理员(DBA)是控制数据整体结构的一组人员,负责DBS的正常运行,承担创建、监控和维护数据库结构的责任。
1.5.1 DBS的组成(二) • DBA的主要职责有以下六点: • 定义模式 • 定义内模式 • 与用户的联络。包括定义外模式、应用程序的设计、提供技术培训等专业服务。 • 定义安全性规则,对用户访问数据库的授权。 • 定义完整性规则,监督数据库的运行。 • 数据库的转储与恢复工作。