第1章 绪论
数据库的本质是用数据库管理系统高效支持的、使用数据结构组织的数据的集合
1.1数据库系统概述
1.1.1数据库的4个基本概念
- 1.数据(Data)
数据是数据库中存储的基本对象。定义为描述事务的符号记录。数据的含义称为语义,数据与其语义是不可分的。
- 2.数据库(DataBase,DB)
长期存储在计算机内,有组织的,可共享的大量数据的集合。
数据库基本特征:1.永久存储 2.有组织 3.可共享 4.冗余度小 5.易扩展
- 3.数据库管理系统(DataBase Management System,DBMS)
位于用户与操作系统之间的一层数据管理软件
数据库管理系统和操作系统一样是计算机的基础软件。
主要功能:提供数据定义语言(DDL)、数据操纵语言(DML)等
- 4.数据库系统(DataBase System,DBS)
数据库系统由数据库(DB),数据库管理系统(DBMS),应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。
1.1.2数据管理技术的产生和发展(三个阶段)
1.人工管理阶段:
在计算机出现之前,人们运用常规的手段从事记录、存储和对数据加工,也就是利用纸张来记录和利用计算工具(算盘、计算尺)来进行计算,并主要使用人的大脑来管理和利用这些数据。
- 数据的管理者:用户(程序员),数据不保存
- 数据面向的对象:某一应用程序
- 数据的共享:不共享,冗余大
- 数据的独立性:不独立,完全依赖程序
- 数据的结构:无结构
- 数据控制能力:应用程序自己控制
2.文件系统阶段:
在这一阶段(20世纪50年代后期至60年代中期)计算机不仅用于科学计算,还利用在信息管理方面。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展起来。此时,外部存储器已有磁盘、磁鼓等直接存取的存储设备。软件领域出现了操作系统和高级软件。操作系统中的文件系统是专门管理外存的数据管理软件,文件是操作系统管理的重要资源之一。
- 数据的管理者:文件系统,可长期保存
- 数据面向的对象:某一应用程序
- 数据的共享:共享差,冗余大
- 数据的独立性:独立性差
- 数据的结构:记录内有结构,整体无结构
- 数据控制能力:应用程序自己控制
3.数据库系统阶段
1.1.3数据库系统的特点
程序员必须关注记录结构和不同文件记录之间的联系,工作量大,变成复杂,开发速度慢,缺乏并发控制。
数据库系统的特点:
- 数据结构化
- 数据的共享性高,冗余度低且易扩充
- 数据独立性高,数据独立性由数据库管理系统的二级映像功能来保证
- 物理独立性:当数据的物理存储改变了,应用数据不用改变
- 逻辑独立性:数据的逻辑结构改变了,应用程序不用改变
- 数据由数据库管理系统管理和控制
- 数据的安全性保护
- 数据的完整性检查
- 并发控制
- 数据库恢复
1.2数据模型
一、概述
二、数据模型的组成要素
数据模型通常由数据结构、数据操作和完整性约束三个部分组成。
三、逻辑模型的分类(非关系模型与关系模型)
非关系模型:层次模型(Hierarchical Model)、网状模型(Network Model)
关系模型(Relational Model)
层次模型,满足下面两个条件的基本层次联系的集合为层次模型(就是树结构):
-
①有且只有一个结点没有双亲结点,这个结点称为根结点
-
②根以外的其它结点有且只有一个双亲结点
网状模型,满足下面两个条件的基本层次联系的集合(一对多关系,结构上像有向图):
-
①允许一个以上的结点无双亲;
-
②一个结点可以有多于一个的双亲。
1.2.2概念模型
表示方法:E-R图
注意: E-R图中,实体用矩形表示,属性用椭圆表示,关系用菱形表示。
- 唯一标识实体的属性集叫做超码
- 唯一标识实体的属性集的最小子集为码
- 码肯定是超码,但是超码不一定是码
- 一个实体可以有多个码
- 一个码可以包括一到多个属性
例子:班级号,序号,学号,姓名
学号是一个码,也是一个超码
[班级号,序号]也是一个码
[学号,姓名]是超码,不是码
联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时标明联系的类型(1:1, 1:n, m:n)
比如有两个简单实体,分别是单位和职员,它们的关系就是1:m,一个单位可以有多个职员;
再比如有两个实体,分别是学生和图书,它们的关系就是m:n,从而形成中间表学生借阅的图书,结果是1本图书可以被多人借阅,1个人也可以借多本图书。
1.2.3数据模型的组成要素(3种)
1.2.4最常用的数据模型
1.2.5层次模型
1.2.6网状模型
1.3 数据库系统结构
数据库系统的三级模式结构:模式(Schema)、外模式(External Schema)、内模式(Internal Schema)
模式(也称逻辑模式)[一个]:
- ①数据库中全体数据的逻辑结构和特征的描述
- ②所有用户的公共数据视图,综合了所有用户的需求
模式的地位:是数据库系统模式结构的中间层
- ①与数据的物理存储细节和硬件环境无关
- ②与具体的应用程序、开发工具及高级程序设计语言无关
外模式(也称子模式或用户模式)[多个]:
- ①数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
- ②数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
外模式的用途:
- ①保证数据库安全性的一个有力措施
- ②每个用户只能看见和访问所对应的外模式中的数据
- 外模式描述的是数据的局部逻辑结构
内模式(也称存储模式)[一个]:
- ①是数据物理结构和存储方式的描述
- ②是数据在数据库内部的表示方式:
用途:
- a. 记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)
- b. 索引的组织方式
- c. 数据是否压缩存储
- d. 数据是否加密
- e. 数据存储记录结构的规定
第2章 关系数据库
2.1 关系数据结构及其形式化定义
2.1.1关系
- 单一结构的数据结构–关系
- 逻辑结构-- 二维表(在用户的角度)
1.域(Domain):域是一组具有相同数据类型的值的集合,例如整数、自然数都是域
2.笛卡尔积(Cartesian Product):笛卡尔积是域上面的一种集合运算。
<