第一章 数据库系统概论
1.1数据库系统的作用
1.1.1概念
数据:描述事物的符号记录称为数据,数据是数据库中储存的对象,也是数据管理系统处理的对象
数据处理:对各种数据进行采集、存储、检索、加工、传播和应用等一系列活动的总和
数据管理:对数据进行有效的分类、组织、编码、存储、检索、维护和应用,他是数据处理的中心问题
1.1.2 数据管理技术的产生和发展
1.人工管理阶段
- 时间:20世纪50年代中期以前
- 计算机水平:未有完整操作系统,主要应用于科学计算
- 数据处理方式:批处理
- 程序与数据的关系:数据是面向应用程序的,一个数据集只能对应于一个程序。
- 特点:数据需要由应用程序自己定义和管理,没有相应的软件系统专门负责数据的管理工作。
- 弊端:当多个应用程序涉及某些相同的数据时,必须由各自的应用程序分别定义和管理这些数据,无法共享利用,因 此存在大量冗余的数据。
2.文件系统阶段
- 时间:20世纪50年代后期-60年代中期
- 计算机特点:计算机已经有了操作系统,在操作系统基础之上建立的文件系统已经成熟并广泛使用,计算机应用于课学计算和数据管理
- 数据处理方式:批处理、联机实时处理
- 程序与数据的关系:①文件系统实现了文件内的数据结构化,即一个文件内的数据是按记录进行组织的,这样数据是有结构的,数据的语义是明确的②程序和文件之间由文件系统提供的存取方法进行转换
- 特点:由专门的文件对数据进行统一管理。文件系统把数据组织成相互独立的文件,利用“按文件名访问,按记录进行存取”的管理技术,可以对文件进行修改插入删除
- 弊端:①数据共享性差。数据冗余和不一致②数据独立性差③数据孤立,数据获取困难。④表达和实现不完整⑤无法有效保障原子性⑥并发访问异常⑦安全性问题
3.数据库管理系统阶段
-
时间:20世纪60年代以后
-
数据库管理系统:一个相互关联的数据的集合和一组用以访问、管理和控制这些数据的程序组成。
-
特点
①数据结构化
②数据的共享度高、冗余度低、易扩充
③数据独立性高
④数据由数据库管理系统统一管理和控制
1.2数据模型
数据模型是一个描述数据结构、数据操作以及数据约束的数学形式体系
1.2.1数据模型的分层
数据模型应满足三方面的需求:比较真实地模拟世界、容易被人理解、便于在计算机上实现
1.概念模型:第一层抽象,按用户的观点或认识对现实世界的数据和信息进行建模,主要用于数据库设计,主要有ER模型和OO模型
2.逻辑模型:第二层抽象,用于描述数据库数据的整体逻辑结构
3.物理模型:物理层是数据抽象的最底层,用来描述数据的物理存储结构和方法
-
现实世界->概念模型:数据库设计人员
-
概念模型->逻辑模型:数据库设计人员
-
逻辑模型->物理模型:DBMS(Database management system)
1.2.2数据模型的组成要素
1.数据结构:对象类型的集合
2.数据操作:对数据库中各种对象值的实例允许执行的操作集合。主要有查询和更新
3.数据完整性约束:一组数据完整性规则
1.2.3层次模型
- 有且仅有一个结点没有双亲节点,这个结点称为根结点
- 根以外的其他节点有且只有一个双亲结点
1.2.4网状模型
- 允许一个以上节点无双亲
- 一个节点可以有多个双亲
1.2.5关系模型
- 每一个元组(表的一行)必须是可区分的,即存在码(唯一标识)属性
- 关系中的每一个属性必须有一个不可分的数据项,即不允许表中有表
1.3数据抽象与数据库三级模式
1.3.1数据抽象
1.物理层抽象:描述存储结构和存储方法(堆储存、数据储存记录等等)
2.逻辑层抽象:描述存什么数据以及数据之间存在什么关系
3.视图层抽象:数据库局部逻辑结构
1.3.2 数据库三级模式结构及两层抽象
- 模式:逻辑层数据抽象(全局)
- 外模式:视图层数据抽象(局部)
- 内模式:物理层数据抽象
1.3.3数据库三级模式与三层模型的联系和区别
1.4 数据库管理系统
1.4.1功能
1.数据定义(定义对象)
2.数据组织、储存和管理(建立联系)
3.数据操纵(增删改查)
4.数据库的事务管理和运行管理(保证安全性完整性)
5.数据库建立和维护(输入数据转化存储恢复)
1.4.2组成
1.模式更新:修改逻辑结构
2.查询:查询接口和应用程序接口
3.更新:插入、删除、修改
4.查询处理器:将数据库操作语句换成数据库操作请求、查询优化
5.存储处理器:将sql操作转化为底层单元组操作
6.事务管理器;保证并发事务正确执行