数据库
一、数据库系统引论
1.1 数据管理技术的发展
人工管理阶段(40年代中–50年代中)
文件系统管理阶段(50年代末–60年代中)
数据库系统阶段(60年代末–现在)
1、人工管理阶段
特点:①数据不保存
②没有专用的软件管理数据
③应用程序完全依赖于数据
④应用不能共享
2、文件系统管理阶段
特点:①数据可以长期保存
②有专门的文件系统软件管理数据
③数据是面向应用的的
④数据冗余度大
⑤缺乏对数据统一的控制机制
3、数据库系统阶段
特点:①数据结构化
②数据独立性高:通过数据库系统所提供的二级映像实现
物理独立性:数据库物理结构变化不影响数据的逻辑结构和应用程序
逻辑独立性:数据库中的逻辑数据结构发生改变时,应用程序无需修改
③减少数据冗余
④数据共享
⑤统一 的数据保护功能
1.2 数据模型
在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息
数据模型是数据特征的抽象,用来描述数据的一组概念和定义。包括
①数据结构:对象之间的联系
②数据操作:对数据库对象实例执行的一组操作
③数据的完整性约束:反映了数据间的制约和依存关系
1、逻辑数据模型
用户所看到的数据模型,现在DBMS都是以其所支持的逻辑hi数据模型来分类的
2、物理数据模型
表示数据存储结构和存取方法,反映逻辑数据模型在物理存储器上的具体实现
不同的数据类型主要是由数据结构来表征的
1.3 数据库系统结构
数据库的三级模式结构:数据库一般划分为三个层次,成为三级模式,分别为外模式,模式,内模式
在数据库系统中,外模式可以有多个,而逻辑模式、内模式只能各有一个。
— 内模式是对整个数据库实际存储的表示
— 概念模式是整个数据库实际存储的抽象表示
— 外模式是概念模式的某一部分的抽象表示
数据库系统的三级模式是对数据的三个抽象级别:视图级、概念级和物理级
1、模式
①也称为逻辑模式,是全体数据的逻辑结构和特征的描述,构成了数据库的一个总的框架
②独立于应用程序和物理结构
③一个数据库对应一个模式
④提供模式描述语言DDL
2、外模式
是数据库用户(程序员和最终用户)能看见的局部数据的结构和特征的描述,是与某一应用具体相关的数据的逻辑表示
(1)外模式是模式的子集
①一个数据库可以有多个外模式 模式与外模式:一对多
— 数据库可以有多个外模式反映不用用户应用需求、看待数据的方式、对数据的保密要求
— 对模式中同一数据,在外模式中的结构、;类型、长度、保密级别等都可以不同
②不用用户有不同的外模式 外模式与应用:一对多
— 同意外模式可以为多个应用系统所使用
— 单一应用程序只能使用一个外模式
(2)外模式的用途
①保证数据库安全性的一个有力措施
②每个用户只能看见和访问所对应的外模式中的数据
3、内模式
①也称存储结构,是数据物理结构和存储方式的描述
②始数据在数据库内部的表示方法
— 规定数据在存储介质上的物理组织方式
记录寻址方式
— 定义物理存储块大小,溢出处理方法等
③一个数据结构只能有一个内模式
4、三级模式结构的二级映像
三级模式之间提供了两级映像
— 外模式/模式映像、模式/内模式映像
— 目的是在数据库内部实现这三个抽象层次的联系和转化
外模式与模式之间的映像定义局部数据逻辑结构与全局逻辑结构之间的对应关系
— 一个模式对应多个外模式,当模式结构改变,则只要修改外模式与模式间的对应关系,而不必修改外模式中的局部逻辑结构,因而相应的应用程序亦可不必修改,实现数据的逻辑独立性
模式与内模式之间的映像定义全局数据逻辑结构和物理数据存储间的对应关系
— 一个模式对应一个内模式:当数据库的物理存储结构改变时,仅需要修改模式与内模式间的映像关系,而可以使模式保持不,从而使应用程序保持不变,提供数据的物理独立性
1.4 数据库管理系统的功能
1、数据库的定义功能
(1)模式定义:定义数据库的全局逻辑结构
(2)外模式定义语言:定义用户的局部逻辑结构
(3)内模式定义语言:定义物理数据库的结构
2、数据库的操纵功能
数据操控语言(DML)实现对数据库的操作,插入、删除、修改、查询
3、数据库的保护功能
① 数据库的安全性控制主要使防止未授权用户对数据库的操作所造成的数据泄露、更改和破坏
② 数据库的完整性控制能够保证数据库数据的正确性和相容性,以防止数据库的误操作
③ 数据库的并发控制主要解决多用户共享数据库时不会出现读写数据库的错误
④ 数据库的恢复能够提供数据遭到破坏时将数据库恢复到正确状态的功能
4、数据库维护功能
(1)转储程序
(2)数据装入程序
(3)统计分析程序
(4)重组程序
1.5 数据库系统的不同视图
1、数据库管理员
–决定数据库中的信息内容和结构
–决定数据库的存储结构和存取策略
–定义数据的安全性要求和完整性约束条件
–监控数据库的使用和运行
周期性转储数据库(数据文件/日志文件)、系统故障恢复、介质故障恢复、监视审计文件
–数据库的改进(性能监控和调优)和重组
–数据库重构
2、系统分析员
–负责应用系统的需求分析和规范说明
–与用户及DBA协商,确定系统的硬软件配置
–参与数据库系统的概要设计
3、数据库设计人员
–参加用户需求调查和系统分析
–确定数据库中的数据
–设计数据库各级模式
4、应用程序员
–设计和编写应用系统的程序模块
–进行调试和安装
5、用户
–偶然用户:企业或组织机构的高中级管理人员
–简单用户:银行的职员、机票预定人员、旅馆总台服务员
–复杂用户
工程师、科学家、经济学家、科技工作者等
直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序
1.6 小结
1、数据模型
数据模型的组成包括数据结构、数据操作和数据完整性约束三个方面
— 一类是独立于计算机之外的模型,称为概念模型或信息模型
— 一类是面向计算机的模型,通常称数据模型
2、数据库系统的总体结构
— 可分为三级:模式、外模式和内模式
— 三级结构间存在这二级映像,通过这二级映像可实现数据库的数据独立性
3、数据库管理系统的主要功能
数据定义、数据操纵、数据保护和数据维护等功能
4、模式
— 是数据库的中心与关键
— 独立于数据库的其他层次
— 设计数据库模式结构时应该首先明确数据库的逻辑模式
5、内模式
— 依赖于全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备
— 它将全局逻辑结构中所定义的数据结构以及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率
6、外模式
–面向具体的应用程序,定义在逻辑模式之上,但独立于存储模式和存储设备
–设计外模式时应充分考虑到应用的扩充性。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动
7、应用程序
–在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。
–不同的应用程序有时可以共用同一个外模式。
8、二级映像
–保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。
–数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。
1.7 Questions
1、 什么是数据库,数据库系统,数据库管理系统?
2、 什么叫数据独立?数据库的数据独立性表现在哪些方面?
3、 试述数据模型的概念。
4、 试述数据库系统的三级模式结构及存在的二级映象
5、 试述数据库管理系统的主要功能。