数据库学习笔记(一)
1 绪论
1.1 数据库概述
1.1.1 四个基本概念
- 数据:描述事物的符号记录
- 数据库:长期存储在计算机内,有组织、可共享的大量数据集合,数据特点:永久存储,有组织,可共享
- 数据库管理系统:计算机系统软件,用于数据管理,
- 数据库系统:数据库+数据库管理系统+应用程序+数据库管理员
1.1.2 数据管理技术发展
1.1.3 数据库特点
- 数据结构化
- 数据冗余度低,共享性高且易扩充
- 数据独立性高(物理独立性、逻辑独立性)由二级映像功能保证
1.2 数据模型
1.2.1 两类数据模型
- 概念模型(conceptual mode):按用户观点对数据和信息建模,又称信息模型
- 逻辑模型和物理模型:逻辑模型面向数据库管理系统的实现,物理模型面向计算机系统。
1.2.2 数据模型组成要素
- 数据结构:描述数据库的组成对象和对象之间的联系,静态特性描述
- 数据操作:对数据库中各对象的实例允许执行的操作集合,动态特性描述
- 数据的完整性约束条件:给定数据模型中 数据及其联系所具有的制约和依存条件
1.2.3 常用数据模型
- 层次模型(hierarchical model):用树形结构表示各类实体和实体间的联系,自然直观,查询效率高
- 网状模型(network model):存取效率高,结构复杂
- 关系模型(relational model):建立在严格的数学概念基础上
- 面向对象数据模型(object oriented data model)
1.3 数据库系统结构
1.3.1 三级模式结构
- 模式(schema):又称逻辑模式,所有用户的公共数据视图,中间层,不涉及物理存储细节和具体应用程序,是数据的逻辑结构和特征描述。
- 外模式(subschema):又称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征描述,是与特定应用有关的逻辑表示
- 内模式(storage schema):一个数据库只有一个内模式,是数据的物理结构和存储方式的描述,是数据在数据库内部的组织方式
1.3.2 二级映像与数据独立性
-
外模式-模式映像
模式对应全局逻辑结构,外模式描述局部逻辑结构,一个模式可以对应多个外模式,当模式发生改变时,通过改变外模式-模式映像可以保持外模式不变,即不必修改根据外模式编写的应用程序,从而实现了数据的逻辑独立性
-
模式-内模式映像
模式和内模式映像是唯一的,当数据库的存储结构发生改变时,通过数据库管理员修改模式-内模式映像,模式无需改变,可以保证数据与程序的物理独立性。
2 关系数据库
2.1 关系数据结构
2.1.1 关系概念
- 域(domain):一组具有相同数据类型的值的集合
- 笛卡尔积(cartesian product):若干域中元素为分量构造元组
- 域的基数(cardinal number):域中的不同取值个数
- 关系(relation):若干域的笛卡尔积的子集,域的个数即为关系的度(degree)
- 候选码(candidate key):一组能唯一标识一个元组的属性,其真子集不是候选码,包含候选码的码为超码。
- 主码(primary key):被选中的候选码,用于唯一区别元组
- 关系模式(relation schema):关系的描述称为关系模式,形式化表示为R(U,D,DOM,F),R是关系名,U是属性名集合,D为属性对应的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合,可以简记为R(U)
- 外码(foreign key):关系R中的一组非码属性,是关系S的主码,则称其是R的外码,R称为参照关系,S称为被参照关系
2.1.2 关系完整性
- 实体完整性:主属性不能取空值,用于保证每个元组是唯一的,可区分的
- 参照完整性:定义了外码与主码之间的引用规则,外码值要么为空,要么与被参照关系中的主码的值对应。
- 用户定义完整性:针对具体关系数据库的约束条件
2.2 关系代数
2.2.1 传统运算
- 并 union R ∪ S R\cup S R∪S
- 差 except R − S R - S R−S
- 交 intersection R ∩ S R \cap S R∩S
- 笛卡尔积 cartesian product R × S R \times S R×S
2.2.2 关系运算
-
选择(selection)
σ F ( R ) = { t ∣ t ∈ R ∧ F ( t ) = ′ 真 ′ } \sigma_{F}(R) = \{t|t\in R \land F(t)='真'\} σF(R)=