第1讲 初步认识数据库系统
Q:
1.为什么要学习数据库系统?
2.什么是数据库?
3.什么是数据库系统?
4.什么是数据库管理系统?
5.本课程学什么以及学到什么程度?
重难点:
- 概念区分:数据库、数据库系统和数据库管理系统?
- 熟悉“表”的相关要素及术语
- 熟悉数据库的构成
- 了解数据库管理系统的功能:从用户角度和从系统角度
A:
1.为什么要学习数据库系统?
只求关系,不求因果;从部分数据集上的分析,到全数据集上的分析;不要相信经验,一切以数据说话。
数据自有黄金屋,通过数据聚集形成数据库,数据积累之后再从中发掘分析数据的价值。
2.什么是数据库?
相互之间有关联关系的Table的集合
3.什么是数据库系统?
由五个要素构成:数据库DB、数据库管理系统DBMS、数据库应用DBAP、数据库管理员DBA、计算机基本系统
(实例化与抽象化)
4.什么是数据库管理系统?
用户角度
1.数据库定义:定义数据库中Table的名称、标题(内含的属性名称及对该属性的值的要求)等
DBMS提供一套DDL给用户描述要建立的表的格式,DBMS依照用户的操作描述,实际执行这些操作
2.数据库操纵:向数据库的Table中增加/删除/更新数据以及对数据进行查找、检索、统计等
DBMS提供一套DML给用户描述其要进行的增删改查等操作,DBMS依照用户的操作描述,实际执行这些操作
3.数据库控制:控制数据库中数据的使用——哪些用户可以使用,哪些不可以
DBMS提供一套DCL给用户描述其对数据库所要实施的控制,DBMS依照用户描述,实际进行控制
4.数据库维护:转储/恢复/重组/性能监测/分析...
DBMS提供一系列程序(实用程序/例行程序)给用户,在这些程序中提供了对数据库维护的各种功能,用户使用这些程序进行各种数据库维护操作
数据库维护的实用程序,一般都是由DBA来使用和掌握的
系统角度
(见下图)
DBMS为完成DB管理,在后台运行着一系列程序
1.语言编译器
将用数据库语言书写的内容,翻译成DBMS可执行的命令。
例如:DDL编译器、DML编译器、DCL编译器等
2.查询优化(执行引擎)与查询实现(基本命令的不同执行算法)
提高数据库检索速度的手段。
例如:贯穿于数据存取各个阶段的优化程序
3.数据存取与索引
提供数据在磁盘、磁带上的高效存取手段。
例如:存储管理器、缓冲区管理器、索引/文件和记录管理器等
4.通信控制
提供网络环境下数据库操作与数据传输的手段
5.事务管理
提供提高可靠性并避免并发操作错误的手段
6.故障恢复
使数据库自动恢复到故障发生前正确状态的手段
例如:提供了备份、运行日志操控等实用程序
7.安全性控制
提供合法性检验,避免非授权非法用户访问数据库的手段
8.完整性控制
提供数据及数据操作正确性检查的手段
9.数据字典管理
管理用户已定义的信息
10.应用程序接口API
提供应用程序使用DBMS特定功能的手段
典型的数据库管理系统:
——Oracle
——DB2
——Sybase
——MS SQL Server
——MS Access
——MS Foxpro
数据库控制
第2讲数据库系统的结构抽象与演变
Q:
1.数据库系统的标准结构?
2.数据模型?
3.数据库系统的演变与发展?
重难点:
- 一组概念的区分:三级模式两层映像,物理独立性和逻辑独立性
- 一组概念的区分:数据➡️模式➡️数据模型
- 几种数据模型的差异:网状/层次模型➡️关系模型➡️OO数据模型
201数据库系统的标准结构
- 数据库系统的分层抽象
DBMS管理数据的三个层次
- 数据(视图)与模式
模式(schema):对数据库中数据所进行的一种结构性的描述
/所观察到数据的结构信息
视图(view)/数据(data):某一种表现形式
下表现出来的数据库中的数据 - 三级模式(三级视图)
- 数据库系统的标准结构?
- 两个独立性?
逻辑数据独立性:当概念模式变化时,可以不改变外部模式(只需改变E-C Mapping),从而无需改变应用程序
物理数据独立性:当内部模式变化时,可以不改变概念模式(只需改变C-I Mapping),从而不改变外部模式
202数据模型
- 数据模型:(数据的结构的结构)
- 规定模式统一描述方式的模型,包括
数据结构、操作和约束
- 数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象
- 三大经典数据模型
关系模型:表的形式组织数据
层次模型:树的形式组织数据
网状模型:图的形式组织数据
203数据库系统的演变与发展?
简要发展史:四个阶段
消除了层次和网状模型的指针
第3讲 关系模型之基本概念
Q:
1.关系模型概述?
2.什么是关系?
3.关系模型中的完整性约束
重难点:
- 一组概念的区分:围绕关系的相关概念(域、笛卡尔积、关系、关系模式、关键字/键/码、外码/外键、主码/主键、主属性与非主属性)
- 三个完整性:实体完整性,参照完整性和用户自定义的完整性
301 关系模型简述
关系模型的提出
关系模型研究什么
关系模型的三要素
关系运算:关系代数、关系演算
关系演算:元组演算、域演算
为什么要学习关系模型与关系数据库语言
302什么是关系
域:一组值的集合,这组值具有相同的数据类型;集合中元素的个数称为域的基数
关系模型中的完整性:实体完整性、参照完整性、用户自定义完整性