数据库概论

Scroll Down

第一章 绪论

数据库,数据库管理系统,数据库系统的概念和关系

数据库
  • 长期存放在计算机内,有组织的,可共享的大量数据的集合。
  • 数据库按一定的数据模型组织
  • 具有较小的冗余度
  • 较高的数据独立性
  • 易扩展性
数据库管理系统的功能
  • 数据定义
  • 数据组织,存储和管理
  • 数据操纵
  • 数据库事务的管理和运行管理
  • 数据库的建立和维护功能
  • 其他功能
数据库管理系统
  • 计算机的基础软件
  • 数据定义功能(DDL)
  • 数据操纵功能(DML)
  • 数据库的建立和维护功能
  • 数据组织,存储和管理
  • 数据库的事务管理和运行管理
  • 其他(通信,数据转换,互访)
数据库系统
  • 由数据库,数据库管理系统,应用程序,数据库管理员组成的存储,管理,处理和维护数据的系统
  • 提供,组织,存取,管理,维护等功能

数据管理技术的产生和发展,数据库系统的特点

数据管理技术的产生和发展
  • 人工管理阶段
  1. 数据不保存
  2. 应用程序管理数据
  3. 数据不共享
  4. 数据不具有独立性
  • 文件系统阶段
  1. 数据可以长期保存
  2. 由文件系统管理数据
  3. 数据共享性差,冗余度大
  4. 数据独立性差
  • 数据库系统阶段
数据库系统的特点
  • 数据结构化
  1. 整体结构化,数据之间有联系
  • 数据的共享性高,冗余度低且易扩充
  • 数据独立性高
  1. 物理独立性:用户应用程序和数据库中的数据的物理存储是相互独立的
  2. 逻辑独立性:用户的应用程序于数据库的逻辑结构之间是相互独立的
  • 数据由数据库管理系统统一管理和控制
  1. 数据安全性保护:保护数据以防止不合法使用造成的数据泄密和破坏
  2. 数据的完整性检查:数据的正确性,有效性,相容性
  3. 并发控制
  4. 数据库恢复

数据模型的组成要素,数据库模型的分类

数据模型
  • 概念模型:按用户的观点来进行建模
  1. 实体:客观存在并可加以区分的事务
  2. 属性:实体所具有的某一特征
  3. 码:唯一标识实体的属性集成为码
  4. 实体型:用实体名及属性名集合来抽象和刻画同类实体
  5. 实体集:同一类型的实体
  6. 联系:实体和各属性之间的联系,实体之间的联系指不同实体集之间的联系
  7. 一对一,一对多联系
  8. E-R图:Entity-Relationship approach 实体-联系方法
  • 逻辑模型和物理模型
  1. 逻辑模型:层次,网状,关系等
  2. 物理模型:描述数据在系统内部的表示方式和存储方法
  • 将现实世界抽象为信息世界,然后将信息世界转化为机器世界
  • 组成要素
  1. 数据结构:描述数据库组成对象以及对象之间的联系
  2. 数据操作:对数据库中各种对象的实例允许执行操作的集合,包括操作及有关的操作准则
  3. 数据的完整性约束:完整性规则,限定符合数据模型的数据库状态以及状态的变化
  • 层次模型
  1. 只能处理一对多的实体联系
  2. 像一颗倒立的树,节点的双亲是唯一的
  3. 简单清晰
  4. 查询效率高
  5. 现实中很多关系非层次性
  6. 产生冗余数据
  7. 结构严密
  • 网状模型
  1. 允许一个以上节点无双亲
  2. 一个节点由多余一个的双亲
  3. 更直接地描述显示世界
  4. 存取效率较高
  5. 结构比较复杂
  6. 不易使用
  • 关系模型
  1. 数据结构:关系:表,元组:一行,属性:一列,码:唯一确定一个元组,域:具有相同数据类型的值的集合,分量:元组中的一个属性值,关系模式:对关系的描述
  2. 数据操纵和完整性约束:实体完整性,参照完整性,用户定义完整性
  3. 概念单一
  4. 具有较高独立性
  5. 简化开发

数据库的三级模式结构与二级镜像

a

模式(逻辑模式)

也称逻辑模式,对全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图

外模式

用户模式,是数据库用户能看见的和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图

内模式

存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式

外模式/模式映像

应用程序依据外模式编写,保证了数据与程序的逻辑独立性

模式/内模式映像

当数据库的存储结构改变,数据的模式不改变,应用程序不改变,保证了数据库的物理独立性

数据库系统的组成

  1. 硬件平台和数据库
  2. 软件
  3. 人员:DBA:内容和存储策略,信息和结构,安全性,完整性,监控,改进和重构
  4. 系统分析员和设计人员,应用程序员,用户