以下内容为参考课件和《数据库系统概论》(第5版,王珊等著)的个人整理,若有错误欢迎指出
第一章 数据库系统综述
一、基本概念
1、信息:是指现实世界事物的存在方式或运动状态的反映
2、数据:描述事务的符号记录,是信息的载体,有多种形式。
数据处理:利用计算机进行数据处理的过程。包括采集、组织(保存)、加工等
3、数据库(DB):长期储存在计算机内的、有组织的、可共享的数据集合,数据按照一定的数据模型存储
4、数据库管理系统(DBMS):介于用户与操作系统之间的一层数据管理软件,功能:
- 数据定义功能:DDL语言描述三级模式(源模式,用户使用),模式翻译程序将源模式翻译成目标模式,存入数据字典
- 数据操纵(存取)功能:DML语言(数据操纵语言,增删改查等)
- 数据库的事务管理和运行管理:事务的正确性
- 数据组织、存储和管理:用户数据、索引、数据字典的组织、存储和管理,包括文件结构、存取方式、数据之间的联系的实现等。
- 数据库的建立和维护
- ……
管理层次:
5、数据库系统(DBS):由数据库、数据库管理系统、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统
关系:DBS 包含DBMS包含DB
二、数据库发展阶段
1、人工管理阶段:无软件
特点:数据不保存;应用程序管理数据(.data);不共享;无独立性(独立性指数据结构变换而应用程序不用改)
2、文件系统管理阶段
特点:数据以文件形式长期保存;文件系统管理数据;有一定的共享、独立性(但数据格式一变程序还是要变)
存在问题:数据冗余和不一致、完整性(数据检查是否符合限制)、原子性、并发性访问、安全性(可以随意改数据文件)
3、数据库系统阶段:数据是独立存在的对象
特点:
- 面向全组织的结构化(统一结构描述数据及其关联,面向所有应用)
- 数据共享性高,冗余度低(有时可用冗余换取性能),易扩充(每个应用选数据子集或加上一点即可)
- 数据独立性好(物理独立性:应用程序与数据的物理存储独立;逻辑独立性:应用程序与数据的逻辑结构独立,比如增删字段)
- 统一的控制机制(安全性控制、完整性检查、并发控制、数据库恢复)
三、数据模型
前面提到需要统一的数据模型
1、模型是现实世界特征的模拟和抽象。数据模型则是现实世界数据特征的抽象。
2、数据模型的组成要素
- 数据结构(本身、联系,描述静态特性)
- 数据操作(增删改查等功操作,描述动态特性)
- 数据的完整性约束条件(保证数据的正确有效)
3、分类
(1)概念数据模型:按用户的观点(用户需求确定事物及其关系)来对数据和信息建模,如E-R模型
主要概念:
-
实体(entity):客观存在、可相互区分的事物
-
属性(attribute):实体的特性
-
域(domain):属性的取值范围
-
实体型(entity type):描述同类实体的实体名与其属性名集合(一类实体一般有共性属性,因此就用这些属性+实体名来描述)
-
实体集(entity set):同型实体的集合
-
码(key):能唯一标识实体的属性集
-
联系(relationship):实体(型)内部(一般指各属性之间的联系)或不同实体(型)之间的联系。
联系可有属性,同类联系的集合为联系集
具体的E-R图例子:
(2)逻辑数据模型:从计算机的实现来对数据建模,如关系模型等
常用的(遵从时间顺序):
-
层次模型:树结构(结点-实体型,连线-关系),性能好但无法表示多对多、无双亲
-
网状模型:有向图,良好性能但结构复杂用户不易使用
可以看到前两者,描述实体是记录(各属性),描述关系一般由指针实现
-
关系模型:二维表,以集合论为基础、简单、概念统一(既可以描述实体也可以描述联系)、存取路径对用户透明(不像前面的需要遍历)但性能不如其他模型
一些术语:
关系(relation)–表,元组(tuple)–一行,属性–一列
-
面向对象模型:目的是不同对象有不同操作,但不易用
(3)物理数据模型:从计算机的物理存储角度对数据建模,如索引
数据模型要求能反映现实、便于用户使用、计算机实现,所以目前没有单独一个模型能做到。一般在数据库设计的不同阶段(设计、实现、调优)会用到不同的模型。
构建模型需要概念化、形式化
四、数据库系统的模式
1、型:某一类数据的结构和属性的说明
2、值:具体赋值
3、模式(schema):对数据库中全体数据的逻辑结构和特征的描述(用模型根据需求设计出具体的模式)
实例:具体值
4、三级逻辑结构:三级模式两级映像
- 模式——公共视图(唯一)
- 外模式——用户视图,即终端用户可以看到的部分数据的逻辑结构,模式的子集
- 内模式——数据的物理结构及存储方式(唯一)
再论独立性:
逻辑独立性——模式改变,调整映像,外模式不变
物理独立性——模式改变,调整映像,内模式不变
五、数据库系统的组成
1、组成部分
-
硬件及数据库:内存、磁盘等存取设备等。
- 数据库:包括目标数据(数据本身)及描述数据(数据字典,对数据的描述信息)
-
软件:DBMS及支持其的OS,与DB接口的高级语言,应用开发工具等
-
人员:终端用户、应用程序员、DBA等
-
DBA职责
-
决定数据库中的信息内容和结构
-
决定数据库的存储结构和存取策略
-
定义数据的安全性要求和完整性约束条件
-
监控数据库的使用和运行
-
数据库的改进和重组重构
-
-
用户
- 偶然用户:不经常访问数据库
- 简单用户:一般通过已有的应用程序界面查询更新数据
- 复杂用户:熟悉DBMS的操作
-
2、软硬件层次