数据库系统
第一讲 初步认识数据库系统
101 什么是数据库
- 起源于规范化“表”的处理
- 表里有什么
理解–区分–命名–表达 - 表的组成
班级 | 课程 | 教师 |
---|---|---|
1123 | 数据库 | 李四 |
1124 | 计算机 | 李五 |
表名
行/元组/记录
列/字段/数据项/属性
数据库:相互之间有关联关系的表的集合
102 什么是数据库系统
-
五个要素
数据库DB 数据库管理系统DBMS 数据库应用DBAP 数据库管理员DBA 计算机基本系统
103 什么是数据库管理系统(用户角度)
- 数据库定义
数据库定义语言:DDL
定义表的格式 - 数据库操纵
数据库操纵语言:DML
对数据库进行增删改查等 - 数据库控制
数据库控制语言:DCL
使用DCL描述控制数据库权限等 - 数据库维护
由DBA(数据库管理员)
综合起来作为数据库语言:SQL
一条数据库语言可以相当于多条高级语言
嵌入式数据库语言:可以嵌入高级语言
104 什么是数据库管理系统(系统角度)
- 功能
(1)数据库语言
(2)数据库系统 - 为完成DB管理,在后台运行这一系列程序
语言编译器
查询优化与查询实现
数据库存取与索引
通信控制
事务管理
。。。
第二讲 数据库系统的标准结构
201 数据库系统的标准结构
-
数据库系统抽象
三个层次
(1)外部层次(用户层次)
某一用户能够看到处理的数据
(2)概念层次(逻辑层次)
从全局角度理解数据
(3)内部层次(物理层次)
存储在介质上的数据 -
数据/视图 与 模式
数据:某一表示形式表现出来的数据
模式:对数据库进行的一种结构性描述 -
三级模式/三级视图
(1)外模式
用户看到的结构描述
(2)概念模式
全局性的概念描述
(3)内模式
存储介质上的结构描述 -
两层映像
E-C映像:外模式—>概念模式,便于用户观察使用
C-I映像 : 概念模式->内模式,便于计算机存储处理 -
两个独立性
不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
(1)逻辑数据独立性:当概念模式改变时,可以不改变外部模式
(2)物理数据独立性:当内模式改变时,可以不改变概念模式,从而不改变外部模式
202 什么是数据模型
- 模式 与数据的结构:数据模型
规定模式描述方式的模型
包括:数据结构,操作和约束
模式:描述数据的结构
数据模型:描述模式的结构(数据的结构的结构) - (1) 关系模型:表(第二代)
(2)层次模型:树 (第一代)
(3)网状模式:图 (第一代)
203 数据库系统演变与发展
- 四阶段:
(1)探索阶段:研制成功格式文件系统
(2)数据库技术确立阶段:三大数据库相继提出并进行深入研究
(3)成熟阶段:提出了标准化数据库系统,DB系统快速发展,应用普及
(4)数据库技术深入发展:逐步理论化,理论不断完善 - (1)由文件系统到数据库:
文件系统:数据与程序密切结合,不用考虑存储物理细节,但共享性差,冗余度高,不一致性高
数据库系统:由DBMS统一存取,统一的控制功能,整体数据结构化
(2)由层次,网状到关系数据库
层次网状:复杂的指针系统
关系数据库:不依赖于路径信息或过程信息
支持集合操作
数据库重大发展
- 关系的第一范式:数据项的不可再分性
- 对象–关系数据库
以对象来封装需分解的数据项 - 面向对象数据库
支持复杂数据类型
支持面向对象一些特性 - 多种多样数据库到多数据库开放式互联
ODBC JDBC
开放数据库接口 - 新型数据库
第三讲 关系模型概念
301 什么是关系模型
-
一个关系一个Table
关系模型处理Table -
关系模型三要素
(1)基本结构 :关系/Table
(2) 基本操作交,并,差,广义积,选择,投影,连接,除
(3)完整性约束
实体完整性,参照完整性,用户自定完整性 -
关系运算: 关系代数和关系演算:关系演算:元组演算和域演算
R:F表示选择运算 R%表示投影运算 -
元组运算
-
域演算
302 什么是关系
-
列 的取值范围 域
-
定义元组(行),所有可能的元组(笛卡尔积)
-
关系
一组域的笛卡尔积的子集,笛卡尔积中具有某一方面意义的元组称作一个关系。
-
关系模式/表标题:
R(A1:D1,A2:D2,…An:Dn),简记为R(A1,A2,A3…An)
Ai为属性,
Di为域,
n为关系的度
关系中元组的数目为关系的基数 -
关系模式与关系
关系模式是稳定的:而关系是某一时刻的值,随时间改变
303 关系的特性
- 列必须是同质
- 不同列可能来自同一个域,不同属性要给不同属性名
- 行/列 确定靠名字或值
列位置互换性
行位置互换性 - 关系任意两个元组不能完全相同,Table可能不遵守
- 属性不可再分:关系第一范式
304 候选码/候选键
- 关系中的一个属性组,只能唯一标识一个元组,若从该属性组中去掉任何一个属性,他就不具有这一特质。这样的关系组称为 候选码
- 注码/主键
当有多个候选码时选择一个作为主码 - 主属性与非主属性:包含在任何一个候选码中的属性称为主属性
- 外码/外键:两个关系通过外码连接
304 关系模型完整性
- 实体完整性
关系主码的属性值不能为空值(不知道或无意义的值)
空值不能够参与计算 - 参照完整性
外码可以取空值 - 用户自定义完整性
用户针对具体应用环境定义的完整性约束条件 - DBMS对关系完整性的支持
第四讲 关系模型之关系代数
401 什么是关系代数
- 基于集合,提供的一系列关系代数操作:
并,差,笛卡尔积,选择,投影,更名
拓展:交,链接,关系除 - 基本形式
- 关系代数基本操作
(1)集合操作
U 并 | R | S | R U S |
---|---|---|---|
交 | R | S | R ∩ S |
差 | R | S | R- S |
笛卡尔积 | R | S | R x S |
(2)纯关系操作
402 并相容性基本概念
- 定义:
关系R和关系S存在相容性,当且仅当
(1)关系R和关系S属性数
目必须相同
(2)对于任意i,关系R和第i个属性的域相同
403 并操作(Union)
- 加入关系R和关系S是相容的,则R和S运算结果也是关系
- 示例: R∪S
404 差运算(Difference)
- 关系R和关系S是并相容的,R-S:它是由出现在R但不出现在S中元组构成
- 示例: S-R
405 广义笛卡尔积(Cartesian Product)
- 关系R(<a1,a2,…an>)和关系S(<b1,b2,…,bm>)的广义笛卡尔积,记作:R x S
由R中元组和S中元组进行的所有的拼接操作构成 - 数学描述
- 示例: R x S = S x R
- 笛卡尔积的 度(属性个数)和 基数(元组个数)
406 选择操作(Select)
- 给定一个关系R,同时给定一个条件condition,选择运算结果也是一个关系
- 数学描述
- 示例
运算次序:括弧>比较运算>非>与>或
407 投影操作(Progect)
- 给定一个关系R,投影运算结果也是关系 ,记作Πa®,他从关系R中选出属性包含在A中的列构成。
- 数