01引言

来源:互联网 发布:组态王软件代理 编辑:程序博客网 时间:2024/06/18 14:39

数据库管理系统DBMS

由一个相互关联的数据的集合和一组用以访问这些数据的程序组成
- 主要目标是提供一种可以方便、高效地存取数据库信息的途径


数据库应用

  • 银行:交易
  • 航空公司:预订,时间表
  • 大学:注册,成绩
  • 销售:客户,产品,采购
  • 在线零售商:订单跟踪,定制建议
  • 制造:生产,库存,订单,供应链
  • 人力资源:员工记录,薪金,扣税

文件系统存储组织信息主要弊端

  • 数据冗余和不一致(Data redundancy and inconsistency):多种文件格式,在不同文件中重复信息
  • 数据访问困难(Difficulty in accessing data):需要写一个新程序来执行每个新任务
  • 数据孤立(Data isolation ):多个文件和格式
  • 完整性问题(Integrity problems ):数据库中所存储数据的值必须满足特定的一致性约束条件(Consistency constraint)
  • 原子性问题(Atomicity problem):要么全部发生,要么根本不发生
  • 并发访问异常(Concurrent access anomaly):性能问题和数据一致问题
  • 安全性问题(Security problem)

特定时刻存储在数据库中的信息的集合称为数据库的一个实例(instrance)快照


数据库的总体设计称为数据库模式(schema)逻辑设计


数据库结构的基础是数据模型,数据模型是一个描述数据、数据联系、数据语义、一致性约束的概念工具的集合
- 关系模型:用表的集合表示数据和数据之间的联系。关系模型是基于记录的模型的一个实例
- 实体-联系模型:现实世界由一组称作实体的基本对象以及这些对象间的联系构成,实体通过属性的集合来表述,联系是几个实体之间的关联
- 基于对象的数据模型:E-R模型增加了封装、方法和对象标示等概念后的扩展
- 半结构化数据模型:允许相同类型的数据项含有不同的属性集的数据定义。可扩展标记语言XML广泛用来表示半结构化数据


数据定义语言DDL来定义数据库模式
- DDL编译器产生一组表模版存储在数据字典(data dictionary)中,包含了元数据(metadata),元数据是关于数据的数据。数据字典只能由数据库本身来访问和修改,在读取和修改实际的数据前,数据库系统要先参考数据字典


数据独立性

  • 数据与程序独立:把数据的定义从程序中分离出去,存取数据的方法由DBMS负责提供,简化应用程序的编写,减少应用程序的维护和修改
  • 物理独立性:应用程序与存储在磁盘上的数据库中的数据时相互独立的。数据在磁盘上的数据库中怎样存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,当数据的物理存储改变时,应用程序不需要改变
  • 逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变

数据库三级抽象

  • 外模式:对应于用户级
  • 概念模式:对应于概念级
  • 内模式:对应于物理级

元数据

  • 数据库模式
  • 完整约束
  • 授权
    数据操纵语言DML来访问或操纵那些按照某种适当的数据模型组织起来的数据
  • 访问类型
  • 检索
  • 插入
  • 删除
  • 修改
  • 分类
  • 过程化DML要求用户指定需要什么数据以及如何获得这些数据
  • 声明式DML(非过程化DML)只要求用户指定需要什么数据

数据库的设计过程

  1. 初始阶段:全面刻画预期的数据库用户的数据需求
  2. 概念设计阶段:选择一个数据模型,并运用该选定的数据模型的概念,将那些需求转换成一个数据库的概念模式(两种方法:一种是使用实体-联系模型,一种是引入规范化算法)
  3. 逻辑设计阶段:将高层的概念模式映射到要使用的数据库系统的实现数据模型上。实现数据模型通常是关系数据模型,该阶段通常包括将以实体-联系模型定义的概念模式映射到关系模式上
  4. 物理设计阶段:指定数据库的物理特性,包括文件组织形式以及内部的存储结构

存储管理器

  • 数据库系统中负责在数据库中存储的低层数据与应用程序以及向系统提交的查询之间提供接口的部件。
  • 存储管理器功能
  • 与文件管理器进行交互
  • 将各种DML语句翻译成底层文件系统命令
  • 负责数据库中数据的存储、检索、更新
    存储管理部件包括
  • 权限及完整性管理器
  • 事务管理器
  • 文件管理器
  • 缓冲区管理器
  • 实现的数据结构
  • 数据文件
  • 数据字典
  • 索引

查询处理器组件包括

  • DDL解释器:解释DDL语句,并将这些定义记录在数据字典中
  • DML编译器:将查询语言中的DML语句翻译成一个执行方案
  • 查询执行引擎:执行由DML编译器产生的低级指令

查询过程

这里写图片描述


事务(transaction)是数据库应用中完成单一逻辑功能的操作集合,具有原子性、一致性、隔离性、持久性


事务管理器包括
- 并发控制管理器:控制并发事务之间的相互影响,保证数据库的一致性
- 恢复管理器:检测系统故障并将数据恢复到故障发生以前的状态,保证数据库的原子性和持久性


数据库系统体系结构很大程度上取决于数据库系统所运行的计算机系统,包括

  • 集中式
  • 客户/服务器式
  • 并行数据库
  • 分布式数据库
    这里写图片描述
    这里写图片描述
0 0
原创粉丝点击