第1章数据库系统概述
数据库系统的几个概念
数据
描述现实世界各种信息的符号记录
可以有多种不同的表现形式:数字、文字、图形、图像、声音等
是信息的载体、信息的具体表现形式
信息
概念
构成客观世界的三大要素(信息、能源和材料)之一
信息是从数据中提取出的有用的东西
特性
信息传递需要物质载体,信息的获取和传递要消耗能量
信息是可以感知的
信息可以加工:存储、压缩、传递、共享、再生、增值
数据与信息的关系
数据是具体的,信息是抽象的
数据不一定有用,但信息是有用的数据
信息是各种数据所包括的意义,数据是载荷信息的物理符号
可用不同的数据形式来表现同一数据,信息不随数据的表现形式而改变
通常可混用
信息资源=数据资源
信息采集=数据采集
信息处理=数据处理
数据处理(信息处理)
利用计算机对各种形式的数据进行处理
从大量的原始数据中抽取有价值的信息,作为行为和决策的依据
包括以下的数据操作
采集
整理、编码
输入
存储
加工/计算、分类、检索
传输、输出
数据库
database (DB)
长期储存在计算机中的、有组织的、可共享的数据的集合
特点
按照一定的数据模型组织
独立性、易扩展性
较小的冗余度
可共享
数据库管理系统
database management system (DBMS)
管理数据库的软件(数据管理软件)
用于建立、运用和维护数据库
位于用户和操作系统之间
数据库系统
database system (DBS)
是计算机化的记录保持系统,其总目的是存储信息和产生所需要的信息
=计算机系统+数据库
包含☆
DB
DBMS+OS
Users
硬件环境
三要素
DB
DBMS
Users
用户
终端用户(最终用户、End User)
非计算机专业人员
交互式操作
使用终端命令
表格语言
菜单驱动
应用程序员(Application Programmer)
负责设计和编制应用程序
通过应用程序存取和维护数据库
为终端用户准备应用程序
是DBA手下的工作人员
数据库管理员(Database Administrator, DBA)
全面负责数据库系统的管理、维护、正常使用
主要职责
参与数据库设计的全过程
决定数据库的存储与读取策略
定义数据的安全性和完整性
监督控制数据库的使用和运行,及时处理运行程序中出现的问题
改进和重新构造数据库系统
数据库技术的研究领域
数据库理论
数据库设计
DBMS的研制**
数据库应用系统设计
数据库技术产生发展的三个阶段☆
人工管理阶段数据管理的特点
数据不保存
编写程序时要安排数据的物理存储
数据面向程序,不共享
数据不具有独立性
文件系统阶段数据管理的特点
数据以文件的形式长期保存
由文件系统对数据进行管理
数据的物理结构与逻辑结构有了区别,但较简单
数据共享性差
程序与数据之间有一定的独立性
数据库系统阶段数据管理的特点
面向全组织的数据结构化
将整个组织的数据结构化成一个数据整体
包含数据之间的联系
有利于实现数据共享
数据不再面向应用(程序),而是面向系统→系统弹性大
数据共享
数据共享是数据库系统区别于文件系统的最大特点
共享是指多用户、多种应用、多种语言互相覆盖地共享数据集合
可实现文件级、记录级、数据项级的数据共享
可控数据冗余度
数据共享+结构化+数据独立性→冗余度为零→数据一致性好
提高检索速度→可控冗余度→要求进行传播更新
数据独立性高
数据库系统对外屏蔽数据的存储结构
大大简化应用程序的设计维护的工作量
统一数据控制功能
数据安全性控制
防止非法用户
数据完整性控制
正确性:合法
有效性:在定义的有效范围内
相容性:表示同一事实的两个数据应该相同
并发控制
并发存取→互相干扰→破坏完整性→控制协调并发
数据恢复
数据备份→发生故障→丢失数据→应急处理→恢复状态
数据库系统结构
数据库系统的模式结构
模式
数据库中全体数据的逻辑结构和特征的描述
仅涉及到数据类型的描述,不涉及到具体的数值(实例)
模式是稳定的,实例是相对变动的
模式反映数据的结构和关系,实例反映数据库某时刻的状态
数据库系统的三级模式结构☆
外模式(用户模式)
是数据库用户看见和使用的局部数据的逻辑结构和特性的描述
是数据库用户的数据视图
描述数据的局部逻辑结构
是概念模式的子集
有多个外模式(不同的用户有不同的外模式)
用户通过外模式访问数据库
与用户看待数据库方式有关的层
概念模式(逻辑模式)
是数据库中全体数据的逻辑结构和特性的描述
是所有用户的公共数据视图
所有个别用户视图综合起来的用户共同视图
描述数据的全局逻辑结构
只有一个概念模式
内模式(存储模式)
与实际存储数据方式有关的层
数据的物理结构和存储结构的描述
数据在数据库内部的表示方式
描述数据的物理存储结构
存储方式、索引、压缩加密
只有一个内模式
数据库的二级映象功能与数据独立性
外模式/概念模式的映象
定义外模式与概念模式的对应关系
概念模式改变→改变映象→外模式不变→应用程序不变→
保证数据的逻辑独立性
概念模式/内模式的映象
定义数据的全局逻辑结构与存储结构的对应关系
存储结构改变→映象改变→概念模式不变→
保证数据的物理独立性
三级结构带来的优点
保证数据的独立性
简化了用户的使用
减少冗余,利于共享
有利于数据的安全操作
数据库系统的体系结构☆
单用户数据库系统
主从式结构的数据库系统(终端)
分布式结构的数据库系统(网络)
客户/服务器结构的数据库系统
数据库管理系统
DBMS的功能☆
数据库定义功能
结构模式定义
模式映射定义
数据操纵功能
检索(查询)
插入
修改
删除
数据库运行管理功能
安全性控制
完整性控制
并发控制
数据库的建立和维护功能
初始数据输入
数据转换
数据恢复
数据重构
数据通信功能(接口)
DBMS的组成☆
语言编译处理程序
数据描述语言DDL翻译程序
数据操作语言DML处理程序
终端命令解释程序
数据库控制命令解释程序
系统运行控制程序
系统总控程序
存取控制程序
并发控制程序
完整性控制程序
保密性控制程序
数据存取和更新程序
通信控制程序
数据库运行控制程序
数据装入程序
数据库重组织程序
数据库系统恢复程序
性能监督程序
工作日志程序
数据字典
数据库三级模式
数据类型
用户名表
用户权限
DBMS的工作过程☆
DBMS的实现方法☆
N方案:DBMS与应用程序融合
2N方案:DBMS与用户进程一一对应
M+N方案:多个DBMS进程与多个用户进程对应
N+1方案:一个DBMS进程与所有用户进程对应
数据模型
对数据模型的要求
较真实地模拟现实世界
容易为人所理解
便于在计算机上实现
数据模型的要素
数据结构
描述系统的静态特性
所研究的对象类型的集合
不同的数据结构决定不同的数据模型
数据操作
描述系统的动态特性
对数据库中的各种对象的实例允许执行的操作和操作规则的集合
操作分类
检索
插入
修改
删除
定义操作
含义
符号
规则
数据的约束条件
一组完整性规则的集合
保证数据的正确、有效和相容
对象的抽象过程☆
第一级抽象:概念模型
信息世界中的基本概念
实体
客观存在并相互区别的事物
例子
具体:人、事、物
抽象概念:学生、选课
联系:师生关系
实体集
性质相同的同类实体的集合
实体整体
例子
所有的学生
所有的演出
属性
实体所具有的某一特性
用若干个属性来描述实体
包含
属性的型:学生(姓名,系别……)
属性的值:学生(张三,计算机系……)
实体型
用若干个属性型所组成的集合表征一个实体类型
用实体名及其属性名集合来抽象和刻画同类实体
例如:学生(学号、姓名、系别……)
码
唯一标识实体的属性集
实体键、关键字(段)
把某个实体个体与其他实体个体区分来开
域
属性的取值范围
联系
一对一联系(1:1)
一对多联系(1:n)
多对多联系(m:n)
概念模型的表示方法
实体-联系方法(E-R图)
表示
实体型:矩形+实体名
属性:椭圆形,无向边与实体连接
联系:菱形+联系名,无向边与实体连接,边上标注联系类型
实例☆
第二级抽象:数据模型
实体模型→数据模型
实体集→文件
实体→记录
实体型→记录型
属性→数据项、字段
数据模型的分类
层次数据模型☆
代表系统
IBM的IMS
数据结构
树型结构(一对多关系)
只有一个根结点:无双亲
其他结点有且只有一个双亲
多对多关系的表示
转换成一对多关系
非树形结构的表示
先转换成树形结构
操纵与完整性约束
不能插入无双亲的子结点
子结点和双亲结点一起删除
更新操作要保证数据的一致性
存储结构
邻接法
链接法
优点
数据模型简单
若实体间的关系固定,性能优于关系模型
良好的完整性支持
缺点
描述现实世界的非层次性很笨拙
插入和删除操作限制较多
必须通过双亲才能找到子结点
由于结构严密,层次命令趋于程序化
网状数据模型☆
代表系统
CODASYL的DBTG
数据结构:网状结构☆
允许多个结点无双亲
允许结点有多个双亲
允许结点间有多个联系(复合联系)
操纵与完整性约束
允许插入无双亲的子结点
允许只删除双亲结点
更新操作较简单
存储结构
链接法
优点
能够直接描述现实世界
存取效率较高
缺点
数据描述语言极其复杂
数据独立性差
关系数据模型
代表系统
Oracle
Sybase
VFP
Access
xBASE
xSQL
数据结构
关系模型
规范的二维表
概念☆
关系:整个二维表
关系名:表格名称
元组:行数据(记录)
属性名:列名称(字段名)
属性:列数据(字段)
主码:唯一确定元组的属性组(关键字)
域:属性的取值范围
分量:元组中的一个属性值
关系模式:关系名(属性……),如:学生(学号,姓名,性别,系别,年龄,籍贯)
操纵与完整性约束
操纵:查询、更新(插入、修改、删除)
完整性:实体完整性、参照完整性、用户定义完整性
操作的对象与结果都是关系
数据独立性高(隐蔽存取路径)
存储结构
以文件形式存储表
优点
有严格的数学概念作基础
关系模型的概念单一
存取路径对用户透明
缺点
查询效率不高
数据库工程与应用
数据库设计的目标☆
根据什么?
应用需求
工作环境
利用什么?
DBMS
做些什么?
结构(数据)设计
行为(处理)设计
达到什么?
数据库应用系统
数据库设计方法
传统方法
结构化程序设计方法
原型法
新的方法
E-R模型
范式设计方法
逐步法
数据库设计步骤☆
需求分析
概念结构设计
逻辑结构设计
数据库物理设计
数据库实施
数据库运行和维护