第1章 数据库技术概论
数据管理技术的发展 人工管理阶段 文件系统阶段 数据库系统阶段 高级数据库技术阶段
人工管理阶段 数据不保存在计算机内; 没有专用的软件对数据进行管理; 只有程序(program)的概念,没有文件(file)的概念; 数据面向程序。
文件系统阶段 数据以“文件”形式可长期保存在外部存储器的磁盘上; 数据的逻辑结构与物理结构有了区别,但比较简单; 文件组织已多样化,有索引文件、链接文件和直接存取文件等 ; 数据不再属于某个特定的程序,可以重复使用,即数据面向应用。 对数据的操作以记录为单位。
文件系统的缺陷 数据冗余(redundancy) 不一致性(inconsistency) 数据联系弱(poor data relationship)
o o 职工工资文件 职工工资文件 o 职工档案文件 o 职工档案文件 o o 职工保健文件 职工保健文件 文件系统中的文件 数据库中的文件
数据库系统阶段 采用数据模型表示复杂的数据结构; 有较高的数据独立性; 为用户提供了方便的用户接口; 提供数据控制功能; 增加了系统的灵活性。
数据库系统阶段程序和数据间的联系 应用程序1 数据库 管理系统 (DBMS) 数据库 应用程序1 … 应用程序n
数据库阶段的三个里程碑 IMS系统——层次数据库系统 DBTG报告——网状数据库系统 E.F.Codd的文章——关系数据库系统
数据库技术的术语 数据库(Database,简记为DB):长期存储在计算机内,有组织的、统一管理的相关数据的集合。 数据库管理系统(Database Management System,简记为DBMS):位于用户与操作系统(OS)之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。 数据库系统(Database System,简记为DBS):实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。 数据库技术:研究数据库的结构、存储、设计、管理和使用的一门软件学科。
三个发展阶段的比较 人工管理阶段 文件系统阶段 数据库阶段 时 间 20世纪50年 60年代 70年代 环 境 外存 纸带、卡片、磁带 磁盘 大容量磁盘 软件 汇编语言 3GL、OS DBMS 计算机应用 科学计算 进入企业管理 企业管理 数据的管理者 用户(程序员) 文件系统 DBS 数据的针对者 面向某一应用程序 面向某一应用 面向现实世界 数据的共享程度 无共享 共享性差、冗余度大 共享性高、冗余度小 数据独立性 无独立性,数据完全依赖于程序 独立性差,有设备独立性 有高度的物理独立性,一定的逻辑独立性 数据的结构化 无结构 记录内有结构,整体结构性差 整体结构化,用数据模型描述
高级数据库技术阶段 分布式数据库技术 面向对象数据库技术 各种新型的数据库技术
概念设计中的数据描述 实体(entity):客观存在,可以相互区别的事物称为实体。 实体集(entity set):性质相同的同类实体的集合,称为实体集。 属性(attribute):实体有很多特性,每一个特性称为属性。 实体标识符(identifier)能惟一标识实体的属性或属性集,称为实体标识符。
逻辑设计中的数据描述 字段(field):标记实体属性的命名单位称为字段,或数据项。 记录(record):字段的有序集合称为记录。 文件(file):同一类记录的集合称为文件。 关键码(key):能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为键)。
概念设计和逻辑设计中属于的对应关系 概念设计 逻辑设计 实体 …… 记录 属性 …… 字段(数据项) 实体集 …… 文件 实体标识符 …… 关键码
物理存储介质层次 高速缓冲存储器 主存储器 快擦写存储器 磁盘存储器 光存储器 磁带
存储介质层次图 高速缓存 内存 快闪存储器 磁盘存储器 光存储器 磁带存储器
物理存储中的数据描述 位(bit,比特) 字节(byte) 字(word) 块(block) 桶(bucket) 卷(volume)
数据联系的描述 一对一联系:如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。 实体集E1 实体集E2 E1 E2 座位 乘客
数据联系的描述 一对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:N”。 实体集E1 实体集E2 E1 E2 车间 工人
数据联系的描述 多对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记为“M:N”。 实体集E1 实体集E2 E1 E2 学生 课程
实体联系模型 ER图中的四个基本成分: 矩形框,表示实体类型(问题的对象) 菱形框,表示联系类型(实体间联系) 椭圆形框,表示实体类型和联系类型的属性 连线。
ER图实例 PNO COLOR SNAME JNAME SNO SADDR PNAME WEIGHT JNO DATE M P_P N M P_S N PROJECT PART SUPPLIER TOTAL QUANTITY
四种主要的结构数据模型 层次模型:用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型。 网状模型:用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。 关系模型:用二维表格表达实体集,由若干个关系模式组成的集合。 面向对象模型
四种结构数据模型的比较 层次模型 网状模型 关系模型 面向对象模型 创始 1968年IBM公司的IMS系统 1969年CODASYL的DBTG报告(71年通过) 1970年E.F.Codd提出关系模型 20世纪80年代 数据结构 复杂 (树结构) (有向图结构) 简单 (二维表) (嵌套,递归) 数据联系 通过指针 通过表间的公共属性 通过对象标识 查询语言 过程性语言 非过程性语言 面向对象语言 典型产品 IMS IDS/Ⅱ,IMAGE/3000 ,IDMS,TOTAL Oracle,Sybase,DB2,SQL Server,Informix ONTOS DB 盛行期 20世纪70年代 70年代至80年代中期 80年代至现在 90年代至现在
数据库的三级模式结构 … 用户的局部逻辑结构 外部级 (单个用户的视图) 概念级 (全局视图) 数据库的整体逻辑结构 数据库的物理结构 内部级 (存储视图)
数据抽象的术语 数据模型 用数据定义语言 描述后的称呼 DBTG报告 中的称呼 外部级 外模型 外模式 子模式 概念级 概念模型 概念模式 内部级 内模型 内模式 物理模式
三级结构中的五个要素 概念模式:数据库中全部数据的整体逻辑结构的描述,它由若干个概念记录类型组成,还包含记录间联系、数据的完整性安全性等要求。 外模式:是用户与数据库系统的接口,是用户用到的那部分数据的描述。 内模式:数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。 模式/内模式映象:存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。 外模式/模式映象:存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。
两级数据独立性 物理数据独立性:如果数据库的内模式要修改,即数据库的物理结构有所变化,那么只要对模式/内模式映象作相应的修改,可以使概念模式尽可能保持不变。 逻辑数据独立性:如果数据库的概念模式要修改,譬如增加记录类型或增加数据项,那么只要对外模式/模式映象作相应的修改,可以使外模式和应用程序尽可能保持不变。
DBMS的工作模式 接受应用程序的数据请求和处理请求; 将用户的数据请求(高级指令)转换成复杂的机器代码(低层指令); 实现对数据库的操作; 从对数据库的操作中接受查询结果; 对查询结果进行处理(格式转换); 将处理结果返回给用户。
DBMS的主要功能 数据库的定义功能 数据库的操纵功能 数据库的保护功能 数据库的维护功能 数据字典
DBS的组成 数据库; 硬件; 软件; 数据库管理员。
DBA DBA是控制数据整体结构的一组人员,负责DBS的正常运行,承担创建、监控和维护数据库结构的责任。主要职责有: 定义模式; 定义内模式; 与用户的联络; 定义安全性规则,对用户访问数据库的授权; 定义完整性规则,监督数据库的运行; 数据库的转储与恢复工作。
DBS的全局结构 数据库用户 DBMS的查询处理器 DBMS的存储管理器 磁盘存储器中的数据结构