计算机软件技术基础 数据库系统(1)
4.1 概述 数据库技术是一门用于数据处理的综合性软件技术。 始于60年代末,经过30多年的发展,传统数据库技术已日臻完善,新的数据库技术不断提出。数据库技术已成为计算机科学研究领域的一个重要分支和信息产业的基础技术。 1. 数据管理技术的发展 计算机数据处理发展的三个历史阶段: 人工方法 文件系统方法 数据库方法 人工方法( 50年代中期以前) 人工方法阶段数据处理全部工作由用户负责(包括对物理数据的处理)。 问题:编程效率低、程序易出错、程序高度依赖于数据。
文件系统方法( 50年代后期到60年代中期) 文件系统方法阶段由操作系统的文件系统对数据进行管理,用户无需直接涉及物理设备及数据的物理组织细节。 优点: 用户程序与数据的物理存储结构的分离 数据可在文件级为多用户共享 问题: 数据共享性差 程序与数据相互依存 数据冗余大 数据不一致 当数据的规模极为庞大、数据间关系极为复杂时,文件系统方法的上述问题就变得尖锐起来了!
职工数据 工资数据 教课数据 职员管理程序 工资管理程序 授课管理程序 应用程序 职工数据 工资数据 授课数据 逻辑结构 职员文件 工资文件 授课文件 物理文件 存取方法 职工数据 职工号 姓名 单位 性别 年龄 工龄 职称 工资 工资数据 职工号 单位 姓名 职称 工龄 工资 房租 水电 教课数据 职工号 姓名 单位 职称 课程名 学时
数据库方法(60年代后至今) 数据库方法是通过一个称之为数据库管理系统(Database Management System,简称DBMS)的软件系统来管理数据。其目的是为了克服文件系统的弊病,实现对数据的集中统一管理,实现程序与数据的相互分离,支持数据间联系的表述与使用,有效地控制数据冗余和提供数据共享性。 数据库方法与文件系统方法的区别在于: 文件系统是面向应用的,数据库方法是面向系统的; 文件系统中的数据文件通常与特定应用相互对应,而数据库方法综合整个应用的要求,用全局的观点集成各种应用的数据,构成全局数据结构文件。
全局数据结构一 全局数据结构二 职员管理程序 工资管理程序 授课管理程序 应用系统 全局数据结构 全局结构 局部数据结构一 局部数据结构二 局部数据结构三 局部结构 DB 全局数据结构一 工号 姓名 单位 性别 年龄 工龄 职称 工资 房租 水电 课号 学时 全局数据结构二 职工号 单位 姓名 性别 年龄 职称 职工号 工龄 工资 房租 水电 职工号 课程名 学时
数据库方法的特点 1. 对数据实施集中统一管理 数据库系统通过DBMS实现对所有数据的集中统一管理,即对数据的结构、数据的特征(名、类型、长度)、数据的操作、数据的一致性、数据的安全保密性等均按统一标准进行控制和管理。也正因为实施这种集中统一管理,才能实现下述的各优点。 2. 数据独立性高 数据与使用数据的程序分离的特征称为数据独立性。其目的是使得数据或应用程序的修改不导致对方的修改。 数据独立性分为两种: 逻辑数据独立性——数据库的全局逻辑结构发生改变时,用户应用程序不必改变,或反之。 物理数据独立性——数据库的物理结构(存储设备、存储结构、存取方法)发生改变时,应用程序无需改变。
数据库方法的特点(续) 3. 数据共享 数据共享指数据库中的同一数据可为多个用户共同使用。 4. 控制冗余 冗余由同一数据的重复存储产生。数据库方法中的同一数据可重复出现在不同局部数据结构中,但物理上只存储一次。 数据库中并非完全消除冗余,有时为了数据的存取效率,同一数据可保留多个副本。 5. 数据完整性 数据完整性是指数据的正确性、真实性和客观性。 例如,一个 25 岁的职员有 35 年工龄,一个人的身高为 5 米,都是数据完整性被破坏的情况。
数据库方法的特点(续) 6. 数据一致性 数据一致性是指数据库中表示同一对象的数据无论何时何处都是一致的。例如,同一职员的年龄在数据库中存在多个不同的值就是数据不一致的情况。 数据不一致性通常是由数据冗余或并发控制不当造成的。另外,系统故障或运行错误也可导致数据的不一致性。 7. 数据安全性 数据安全性即数据保密问题,以防止对数据的非授权访问。DBMS可在全局数据结构、局部数据结构、记录甚至数据项级提供安全性检查与控制。 常见的安全控制方法有身份鉴别、存取控制、数据加密、审计等。
2. 数据库系统的组成 一个典型的数据库系统(Database system,DBS)的组成: 数据库 软件 硬件 用户 数据库 数据库是满足一个或多个用户应用需求的按一定结构存储的相互关联的数据的集合。它对应着存储介质上的一组文件。 数据库中的数据不是各个应用数据的简单相加,而是统筹考虑各相关应用的信息需求,除去不必要的冗余,协调各应用间的不一致,实现数据的最大程度的共享。
软件 1) 数据库管理系统(DBMS) 数据库管理系统是数据库系统的核心软件,是支持用户定义、存取及维护数据库中数据的管理软件系统。DBMS提供应用程序与数据库的接口,负责逻辑结构与物理结构间的转换,实现数据库的安全性、完整性管理及并发操作控制。 2) 操作系统 操作系统是DBMS的支撑软件,DBMS往往通过其文件管理功能实现数据的存储组织。 3) 应用软件 应用软件是开发人员利用DBMS提供的语言编写的、在数据库的基础上完成部门业务处理功能的应用程序的集合。 4) 开发工具软件 开发工具软件因DBMS的不同而不同,亦非DBMS必备的部分。这类软件主要用于报表自动生成、数据库辅助设计、应用程序的自动或辅助设计等。
数据库管理系统的主要功能 1. 数据库定义功能 提供数据定义语言(DDL)定义外模式、模式和内模式 DDL——Data Definition Language 2. 数据库存取功能 提供数据操纵语言(DML)实现对数据库数据的基本操作(检索、插入、修改和删除) DML——Data Manipulation Language DML有两类: 宿主型:嵌入主语言,不能独立使用 自含型:交互式命令语言,语法简单,可以独立使用
数据库管理系统的主要功能(续) 3. 数据库运行管理 DBMS一般提供数据控制功能,包括并发控制、存取控制、完整性约束条件的检查和执行 所有的操作都要在这些控制程序的统一管理下进行,保证数据库的正确有效 4. 数据库的建立和维护功能 包括数据库初始数据的装入、数据库的转储、恢复、重组织、系统性能监视、分析等功能 由DBMS的实用程序来完成 常见的DBMS产品:Oracle,Microsoft SQL Server(微软),DB2(IBM), Sybase,Access(微软) 等。
硬件 硬件主要包括CPU、内存、外存、显示器、打印机、键盘等设备。通常要求较大的存储空间。 用户 数据库管理员(DBA——Database Administor): 是建立、应用及维护数据库的专业技术人员。具体职责是应用业务需求分析、参与数据库设计、决定用户使用权限、系统维护和管理、数据库恢复等; 系统分析员:分析用户需求,确定数据库事务; 应用程序员:应用软件编码、调试和维护; 终端用户:数据库系统的使用者
√ 数据库系统层次结构图 问:数据库、数据库系统与数据库管理系统之间是什么关系? A.DBS包括DB和DBMS B.DB包括DBS和DBMS 应用系统 开发工具软件 DBMS 操作系统 硬件 数据库系统层次结构图 问:数据库、数据库系统与数据库管理系统之间是什么关系? √ A.DBS包括DB和DBMS B.DB包括DBS和DBMS C.DBMS包括DBS和DB D.DBS与DB和DBMS无关
3. 数据库系统结构 绝大多数数据库系统在体系结构上都具有三级模式的特征。 模式——使用语言描述来规定数据的结构、属性等特性,能为计算机接受。语言描述严格、准确,可陈述许多细节。 三级模式是对数据的三个抽象级别: 模式(逻辑模式) 内模式(存储模式) 外模式(用户模式) 为了实现三个抽象层次的联系和转换,数据库系统在这三级模式中提供了两层映像: 外模式/模式映像 模式/内模式映像 数据库系统的体系结构可以概括为:三级模式+二级映像
应用A 应用B 应用C 应用D 应用E 外模式1 外模式2 外模式3 外模式/模式映象 模式 模式/内模式映象 内模式 数据库
三级模式 1) 模式 模式描述的是全局数据逻辑结构,又可称为概念模式。 模式是所有用户的公共视图。 它与具体的应用程序及使用的高级程序设计语言无关。 2) 内模式 内模式描述的是数据的物理存储组织。因而又可称为存储模式或物理模式。 内模式是数据在数据库系统内部的表示。 例如:记录是顺序存储还是按照 B 树结构存储还是按照hash 方法存储,索引的组织方式是什么,数据是否压缩、是否加 密,数据的存储记录结构的规定等。
三级模式(续) 3) 外模式 外模式描述的是局部数据逻辑结构。它是模式的子集,因而又称为子模式。 是用户看到的数据视图,即与某一应用有关的数据的逻辑表示。 不同的外模式可以互相覆盖,同一外模式可以为多个应用程 序所使用,一个应用程序只能使用一个外模式。 模式反映的是数据的全局观 内模式反映的是数据的存储观 外模式反映的是数据的用户观 全局观、存储观只有一个,而用户观可能有多个。
二级映像 1) 子模式/模式映像——定义某一个外模式和模式之间的对应关系。当模式改变时,外模式/模式的映像要作相应的改变,以保证外模式保持不变。保证了数据的逻辑独立性。 2) 模式/内模式映像——模式/内模式的映像:定义数据逻辑结构和存储结构之间的对应关系,同样,当数据库的存储结构改变时,模式/内模式的映像也必须作相应的修改,使得模式保持不变。保证了数据的物理独立性。 三级模式的优点 保证了数据独立性 简化了用户接口,方便了用户使用 有利于数据共享 有利于数据安全保密
终端 应用系统 最终用户 应用程序员 外模式 DBMS 模式 DBA 内模式 OS DB 不同用户使用的数据视图
4. 数据库系统的工作过程 应用程序A 工作区 状态 应用程序A的子模式 DBMS 模式 系统缓冲区 数据库 OS 内模式 ① ② ⑨ ① ② ⑨ 应用程序A 工作区 状态 ⑧ ③ 应用程序A的子模式 DBMS 模式 系统缓冲区 ⑦ ④ ⑥ ⑤ 数据库 OS 内模式