数据库期末复习笔记
1. 四个基本概念
a. 数据
数据是描述事物的符号记录,是数据库中存储的基本对象。
b. 数据库
数据库(DB)是长期储存在计算内、有组织的、可共享的大量数据的集合。
c. 数据库管理系统
数据库管理系统(DBMS)是一套软件,用于组织、存储、管理和获取数据库中的数据。
d. 数据库系统
数据库系统(DBS)是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
2. 数据库的特点
a. 数据结构化
数据库数据结构化的特点:
1.数据的结构用数据模型描述,无需程序定义和解释。
2.数据可以变长。
3.数据的最小存取单位是数据项。
b. 数据的共享性高、冗余度低、易扩充
数据共享的好处:
1.减少数据冗余,节约存储空间。
2.避免数据之间的不相容性与不一致性。
3.弹性大、易于扩充,可以适应各种用户的需求。
c. 数据独立性高
数据独立性包括物理独立性和逻辑独立性,是由DBMS的二级映像功能来保证的。
d. 数据由DBMS统一管理和控制
包括安全性保护、完整性检查、并发控制以及数据库恢复。
3. 数据模型三要素
a. 数据结构
数据结构用于描述系统的静态特征,包括数据的内容、性质、类型以及数据之间的关系等。
b. 数据操作
数据操作用于描述系统的动态特征,包括数据的插入、修改、查找以及删除等。
c. 数据约束(完整性约束条件)
数据的约束条件实际上是一组完整性规则的集合。完整性规则是指给定的数据模型中的数据及其联系所具有的制约和存储规则,用以限定符合数据模型的数据库的及其状态的变化,以保证数据的正确性、相容性和有效性。
4. 三种数据模型
a. 概念模型
概念模型也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
b. 逻辑模型
逻辑模型主要包括层次模型、网状模型、关系模型、面向对象模型等,按照计算机系统的观点对数据建模,用于DBMS的实现。
c. 物理模型
物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方式,在磁盘或磁带上的存储方式和存取方式。
5. 三种逻辑模型
a. 层次模型
层次模型采用树形结构来表示各类实体以及实体间的关系。
层次模型的特点:
1.结点的父节点是唯一的。
2.每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线(有向边)表示。
3.每个记录类型可包含若干个字段,记录类型描述的是实体,字段描述实体的属性。每个记录类型可以定义一个排序字段(键字段)。
4.任何记录值只有按其层次路径查看时,才能显出它的全部意义,没有一个子结点能够脱离父节点而独立存在。
层次模型的数据操作:
1.查询
2.插入
3.删除
4.更新
层次模型的完整性约束条件:
1.无相应的父结点值就不能插入子结点值。
2.如果删除父结点值,则相应的子结点值也被同时删除。
3.更新操作时,应更新所有相应记录,以保证数据的一致性。
优点:
1.层次模型的数据结构比较简单清晰。
2.查询效率高,性能优于关系模型,不低于网状模型。
3.层次数据模型提供了良好的完整性支持。
缺点:
1.多对多联系表示不自然。
2.对插入和删除操作的限制多,应用程序编写复杂。
3.查询子结点必须通过父结点。
4.由于结构严密,层次命令趋于程序化。
b. 网状模型
网状模型采用网状结构来表示各类实体以及实体间的关系。
网状模型的特点:
1.允许一个以上的结点无父结点。
2.一个结点可以由多于一个的父结点。
3.两个结点之间可由多种联系。
4.层次模型实际上是网状模型的一个特例。
多对多联系:
以学生选修课程为例。
学生 : | 学号 | 姓名 | 系别 |
课程 : | 课程号 | 课程名 | 学分 |
选课 : | 学号 | 课程号 | 成绩 |
网状模型的完整性约束:
1.键:唯一标识记录的数据项的集合。不允许出现重复值。
2.一个联系中父记录与子记录之间是一对多联系。
3.支持父记录和子记录之间某些约束条件。
优点:
1.能够更为直接地描述现实世界,例如一个结点可以由多个父结点,结点之间可以有多种联系。
2.具有良好的性能,存取效率较高。
缺点:
1.结构比较复杂。
2.DDL、DML语言复杂,用户不容易使用。
c. 关系模型
关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表,由行和列组成。
关系模型术语:
1.关系:一个关系对应通常说的一张表。
2.元组:表中的一行即为一个元组。
3.属性:表中的一列即为一个属性,给每一个属性起一个名称即属性名。
4.键:表中的某个属性组,它可以唯一确定一个元组。
5.域:属性的取值范围。
6.分量:元组中的一个属性值
7.关系模式:对关系的描述,关系名(属性1,属性2,...,属性n)。
8.非规范关系:表中有表。
多对多联系:
以学生选修课程为例。
学生 : | 学号 | 姓名 | 系别 |
课程 : | 课程号 | 课程名 | 学分 |
关系模型的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。
关系模型的完整性约束:
1.实体完整性。
2.参照完整性。
3.用户定义的完整性。
优点:
1.建立在严格的数学概念的基础上。
2.概念单一,实体和各类联系以及对数据的检索结果都是关系。
3.关系模型的存取路径对用户透明。
缺点:
1.查询效率不如非关系数据模型
2.为提高性能,必须对用户的查询请求进行优化增加了开发DBMS的难度。
6. 数据库模式
a. 模式:
模式,也称逻辑模式。是数据库中全体数据的逻辑结构和特征的描述,也是所有用户的公共数据视图,综合了所有用户的需求。一个数据库只有一个模式。
模式的定位:
1.是数据库系统模式结构的中间层。
2.与数据的物理存储细节和硬件环境无关。
3.与具体的应用程序、开发工具以及高级程序设计语言无关。
模式的定义:
1.数据的逻辑结构。
2.数据之间的联系。
3.数据有关的安全性、完整性要求。
b. 外模式:
外模式,也称用户模式。是数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述,也是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
外模式的地位:
1.介于模式与应用之间。
2.模式与外模式的关系:一对多。
- 外模式通常是模式的子集。
- 一个数据库可以由多个外模式。
- 对模式中同一数据,在外模式中的属性都可以不同。
3.外模式与应用的关系:一对多。
- 同一外模式也可以为某一用户的多个应用系统所使用。
- 但一个应用程序只能使用一个外模式。
外模式的用途:
1.保证数据库安全性。
2.每个用户只能看见和访问所对应的外模式中的数据。
c. 内模式:
内模式,也称存储模式。是数据物理结构和存储方式的描述,也是数据在数据库内部的表示方式。一个数据库只有一个内模式。
7. 关系的8个概念
a. 关系
- 关系是一个数据结构,由一个关系头和相同类型的无序元组集合组成。
- D1 x D2 x…x Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn),其中R称为关系名,n称为关系的目或度。
- 当n = 1时,称该关系为单元关系或一元关系;当n = 2时,称该关系为二元关系。
b. 属性
- 关系中不同列可以对应相同的域
- 为了加以区分,必须对每列起一个名字,称为属性。
- n目关系必有n个属性。
c. 域
域是一组具有相同数据类型的值的集合。
d. 主键
- 当一个关系中由多个候选键时,选定其一为主键。
- 一个关系中的主键只能有一个。
- 主键不能为空值与重复值。
e. 候选键
若关系中的某一属性组的值能唯一标识一个元组,则称该属性值为候选键。
f. 外键
若公共键在关系a中为主键,那么该键为另一个关系b的外键。并且关系a称为主表,关系b为从表。
g. 主属性
候选键的各个属性。
h. 非主属性
不包含在任何候选键的属性。
8. 关系的性质
- 每一列中的分量是同一类型的数据,来自同一个域。
- 不同列可出自同一个域,其中每一列称为一个属性。不同属性要有不同的属性名。
- 行与列的顺序无所谓,次序可以任意交换。
- 任意两个元组的候选键不能相同。
- 分量必须取原子值,即不允许表中有表。