数据库
2024-09-25 16:21:33 0 举报
AI智能生成
数据库相关知识汇总
作者其他创作
大纲/内容
数据:描述事物符合记录
数据库:长期存储在计算机内、有组织的、可共享的大量数据集合
数据定义功能
数据组织、存储和管理
数据操纵功能
数据库的事务管理和运行管理
数据库的建立和维护功能
其他功能
数据库管理系统:位于用户与操作系统之间的一层数据管理软件。
数据库系统:由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
1.1.1 数据的4个概念
数据不保存
应用程序管理数据
数据不分享
数据不具有独立性
人工管理阶段
数据可以长期存储
数据共享性差,冗余度大
数据独立性差
有文件系统管理数据
文件系统阶段
数据结构化
数据共享性高、冗余度低且易扩充
物理独立性
逻辑独立性
数据独立性高
数据的安全性保护
数据的完整性检查
并发控制
数据库恢复
数据由数据库管理系统统一管理和控制
数据库系统阶段
1.1.2 数据管理技术的产生和发展
1.1 数据库系统概述
概念模型
逻辑模型和物理模型
1.2.1 两类数据模型
实体
属性
码
实体型
实体集
联系
信息世界的基本概念
概念模型的一种表示方法:实体-联系方法
1.2.2 概念模型
数据结构:数据库的组成对象以及对象之间的联系,是对系统静态特性的描述
数据操作:数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则,动态特性的描述
数据的完整性约束:一组完整性规则
1.2.3 数据模型的组成要素
1、有且只有一个结点没有双亲结点,这个结点称为根节点
2、根以外的其他结点有且只有一个双亲结点
层次模型的数据结构
查询
插入
删除
更新
层次模型的数据操纵和完整性约束
数据结构比较简单
查询效率较高
良好的完整性支持
优点
现实中是非层次的,不适用
如果一个结点有多个双亲则冗余
查询子女结点必须访问双亲
由于结构严密,层次命令趋于程序化
缺点
层次模型的优缺点
层次模型
1、允许一个以上结点无双亲
2、一个结点可以有多个双亲
网状模型的数据结构
支持记录码的概念,码即唯一标识记录数据项的集合
保证一个联系中双亲记录和子女记录之间的关系是一对多的关系
可以支持双亲记录和子女记录之间的某些约束条件
网状模型的数据操纵和完整性约束
能够直接的描述现实世界
具有良好的存储效率
结构比较复杂
DDL、DML复杂
合适的存取路径
网状模型的优缺点
网状模型
关系
元组
域
分量
关系模式
关系模型的数据结构
实体完整性
参照完整性
用户自定义完整性
关系模型的数据操纵和完整性约束
数学概念基础
概念单一,通俗易懂
路径透明,简化工作
关系模型优缺点
关系模型
面向对象模型
对象关系数据模型
半结构化数据模型
1.2.4 常用的数据模型
1.2 数据模型:对现实世界数据特征的抽象
外模式:数据库用户能够看见和使用的局部数据逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
模式:数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
内模式:一个数据库只有一内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式
三级模式结构
模式改变时
外模式/模式映像改变
外模式不变
数据的逻辑独立性
外模式/模式映像
存储结构改变
模式/内模式映像改变
模式不变
数据的物理独立性
模式/内模式映像
两级映像功能
1.3.1 数据库系统模式的概念
1.3 数据系统的结构
硬件平台及数据库
软件
人员
1.4 数据库系统的组成
第一章:绪论
域:一组相同数据类型的值的集合
笛卡尔积:域上的一种集合运算
基本关系(表):实际存在的表
查询表:查询结果对应的表
视图表:虚表
关系:用R表示
2.1.1 关系
2.1.2 关系模式:关系的描述
2.1.3 关系数据库:对关系数据库的描述
2.1.4 关系模型的存储结构
2.1 关系数据结构及形式化定义
选择
投影
连接
除
并
差
交
笛卡尔积
修改
2.2.1基本的关系操作
关系代数语言:ISBL
元组关系演算语言:ALPHA、QUEL
域关系演算语言:QBE
关系演算语言
关系代数和关系演算:SQL
2.2.2 关系数据语言的分类
2.2 关系操作
2.3.1 实体完整性:主属性不能为空值
2.3.2 参照完整性:外码,要么空值,要么某个元组的主码
2.3.3 用户自定义完整性
2.3 关系的完整性
第二章:关系数据库
数据定义
数据控制
数据查询
数据操纵
综合统一
高度非过程化
面向集合的操作方式
以同一种语法结构提供多种使用方式
语言简单、易学易用
SQL特点
视图:相当于外模式,从几个基本表导出的表。
基本表:本身独立存在的表,一个关系就对应一个基本表
存储文件
SQL基本概念
3.1 SQL概述
模式的定义:CREATE SCHEMA<模式名>AUTHORIZATION<用户名>;
模式的删除:DROP SCHEMA<模式名><CASCADE|RESTRICT>;
3.3.1 模式的定义与删除
3.3.2 基本表的定义、删除与修改
建立索引:CREATE [UNIQUE][CLUSTER] INDEX<索引名>
修改索引:ALTER INDEX<旧索引名>RENAME TO<新索引名>
删除索引:DROP INDEX<索引名>
3.3.3 索引的建立与删除
3.3 数据定义
选择表中的若干列:投影运算
选择表中的若干元组
ORDER BY 子句
聚集函数
GROUP BY 子句
3.4.1 单表查询
等值与非等值连接查询
自身连接
外连接
多表连接
3.4.2连接查询
带有IN谓词的子查询
带有比较运算符的子查询
带有ANY(SOME)或ALL谓词的子查询
带有EXISTS谓词的子查询
3.4.3 嵌套查询
3.4.4 集合查询
3.4.5 基于派生表的查询
3.4 数据查询
插入元组
插入子查询结果
3.5.1 插入数据
修改某个元组的值
修改多个元组的值
带子查询的修改语句
3.5.2 修改数据
删除某个元组的值
删除多个元组的值
带子查询的删除语句
3.5.3 删除数据
3.5 数据更新
空值的产生
空值的判断
空值的约束条件
空值的算术运算、比较运算和逻辑运算
3.6 空值的处理
建立视图
删除视图
3.7.1 定义视图
3.7.2 查询视图
3.7.3 更新视图
简化用户的操作
用户多角度看待同一数据
对重构数据库提供了逻辑独立性
对机密数据提供安全保护
更清晰的查询和表达
3.7.4 视图的作用
3.7 视图
第三章:关系数据库标准语言SQL
非授权用户对数据库的恶意存取和破坏
数据库中重要或敏感的数据被泄露
安全环境的脆弱性
4.1.1 数据库的不安全因素
4.1.2 数据安全简介
4.1 数据库安全性概述
静态口令鉴别
动态口令鉴别
生物特征鉴别
智能卡鉴别
4.2.1 用户身份鉴别
定义用户权限
自主存取控制
强制存取控制
合法权限检查
4.2.2 存取控制
4.2.3 自主存取控制:数据库对象和操作类型
4.2.4 授权:授予与收回
4.2.5 数据库角色
4.2.6 强制存取控制方法
4.2 数据库安全性控制
4.3 视图机制
审计事件
审计功能
AUDIT语句和NOAUDIT语句
4.4 审计
存储加密
传输加密
4.5 数据加密
推理控制
隐蔽信道
数据隐私保护
4.6 其他安全性保护
第四章:数据库安全性
5.1.1 定义实体完整性
5.1.2 实体完整性检查和违约处理
5.1 实体完整性
5.2.1 定义参照完整性
5.2.2 参照完整性检查和违约处理
5.2 参照完整性
列值非空:NOT NULL
列值为一:UNIQUE
检查列值是否满足条件表达式:CHECK短语
属性上的约束条件定义
属性上的约束条件的检查和违规处理
5.3.1 属性上的约束条件
元组上的约束条件定义
元组上的约束条件检查和违规处理
5.3.2 元组上的约束条件
5.3 用户定义的完整性
完整性约束命名子句
修改表中的完整性限制
5.4 完整性约束命名子句
5.5 域中的完整性限制
创建断言的语句格式
删除断言的语句格式
5.6 断言
只有表的拥有者,才可以创建一定数量的触发器
触发器名可以包含模式名,也可以不包含模式名。同一模式下,触发器名必须唯一的,并且触发器名和表名必须在统一模式下
触发器只能定义在基本表上,不能定义在视图上
触发器按照触发动作的间隔尺寸分为行级触发器和语句级触发器
触发器被激活时,只有触发条件为真时触发动作体才执行
触发动作体既可以是一个匿名的PL/SQL过程块,也可以是对已创建存储过程的调用
如果触发动作体执行失败,激活触发器的事件就会终止执行
5.7.1 定义触发器
执行该表上的BEFORE触发器
激活触发器的SQL语句
执行该表上的AFTER触发器
5.7.2 激活触发器
5.7.3 删除触发器
5.7 触发器
第五章:数据库完整性
1NF:每个分量必须是不可分的数据项
会造成 数据冗余、更新异常、插入异常、删除异常
函数依赖:FD
多值依赖:MVD
6.1 问题的提出
非平凡的函数依赖:X依赖于Y,但X不属于Y
平凡的函数依赖:X依赖于Y,但X属于Y
完全函数依赖
部分函数依赖
传递函数依赖
6.2.1 函数依赖
候选码
超码
主码
主属性
非主属性
6.2.2 码
2NF:属于1NF且每个非主属性完全函数依赖于任何一个候选码
3NF:属于2NF且每个非主属性既不传递依赖于码,也不部分依赖于码
所有非主属性对每一个码都是完全函数依赖
没有任何属性完全函数依赖于非码的任何一组属性
所有主属性对每一个不包含他的码也是完全函数依赖
BCNF
4NF:限制关系模式的属性之间不允许有非平凡且非函数以来的多值依赖
对称性
传递性
函数依赖是其特殊情况
多值依赖
6.2.3 范式
6.2 规范化
自反律
增广律
传递律
6.3 数据依赖的公理系统
第六章:关系数据理论
数据库建设的基本规律:三分技术,七分管理,十二分基础数据
结构设计和行为设计相结合
7.1.1 数据库设计的特点
7.1.2 数据库设计方法
需求分析
概念结构设计
逻辑结构设计
物理结构设计
数据库实施
数据库运行和维护
7.1.3 数据库设计的基本步骤
7.1.4 数据库审计过程中的各级模式
7.1 数据库设计概述
7.2.1 需求分析的任务
7.2.2 需求分析的方法
数据项
数据结构
数据流
实际存储
处理过程
7.2.3 数据字典
7.2 需求分析
7.3.1 概念模型
实体之间的联系
E-R图
7.3.2 E-R模型
ISA联系
基数约束
Part-of联系
7.3.3 扩展的E-R模型
7.3.4 UML
属性:不能再有需要描述的性质
属性:不能与其他实体具有联系
实体和属性的划分原则
属性冲突
命名冲突
结构冲突
合并E-R图,生成初步的E-R图
消除不必要的冗余,设计基本的E-R图
E-R图的集成
7.3.5 概念结构设计
7.3 概念结构设计
7.4.1 E-R图向关系模型的转换
7.4.2 数据模型的优化
7.4.3 设计用户子模式
7.4 逻辑结构设计
7.5.1 数据库物理设计的内容和方法
B+树索引
Hash索引
聚簇
7.5.2 关系模式存取方法选择
确定数据存放位置
确定系统配置
7.5.3 确定数据库的存储结构
7.5.4 评价物理结构
7.5 物理结构设计
7.6.1 数据的载入和应用程序的调试
7.6.2 数据库的试运行
数据库的转储和恢复
数据库的安全性、完整性控制
数据库性能的监督、分析和改造
数据库的重组织与重构造
7.6.3 数据库的运行和维护
7.6 数据库的实施和维护
第七章:数据库设计
8.1.1 嵌入式SQL的处理过程
SQL通信区
主变量
游标
建立和关闭数据库连接
8.1.2 嵌入式SQL语句与主语言之间的通信
查询结果为单记录的SELECT语句
非CURRENT形式的增删改语句
8.1.3 不用游标的SQL语句
查询结果为多记录的语句ELECT
CURRENT形式的UPDATE和DELECT语句
8.1.4 使用游标的SQL语句
使用SQL语句主变量
动态参数
8.1.5 动态SQL
8.1 嵌入式SQL
8.2.1 过程化SQL的块结构
8.2.2 变量和常量的定义
条件控制语句
循环控制语句
错误处理
8.2.3 流程控制
8.2 过程化SQL
存储过程的优点
存储过程的用户接口
8.3.1 存储过程
8.3.2 函数
8.3 存储过程和函数
8.4.1 ODBC概述
8.4.2 ODBC工作原理概述
8.4.3 ODBC API 基础
8.4.4 ODBC的工作流程
8.4 ODBC编程
第八章:数据库编程
查询分析
查询检查
查询优化
查询执行
9.1.1 查询处理步骤
选择操作的实现
嵌套循环算法
排序-合并算法
索引连接算法
hash join算法
连接操作的实现
9.1.2 查询操作的算法示例
9.1 关系数据库系统的查询处理
9.2.1 查询优化概述
9.2.2 一个实例
9.2 关系数据库系统的查询优化
连接、笛卡尔积的交换律
连接、笛卡尔积的结合律
投影的串接定律
选择的串接定律
选择与投影操作的交换律
选择与笛卡尔积的交换律
选择与并的分配律
选择与差的分配律
选择对自然连接的分配律
投影与笛卡尔积的分配律
投影与并的分配律
9.3.1 关系代数表达式等价变换规则
选择运算尽可能先做
把投影运算和选择运算同时进行
把投影同其前或后的双目运算结合起来
把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算
找出公共子表达式
9.3.2 查询树的启发式优化
9.3 代数优化
选择操作的启发式规则
连接操作的启发式规则
9.4.1 基于启发式规则的存取路径选择优化
9.4.2 基于代价的优化
9.4 物理优化
第九章:关系查询处理和查询优化
事务:用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位
事务的ACID特性:原子性、一致性、隔离性、持续性
10.1 事务的基本概念
10.2 数据库回复概述
事务内部故障
系统故障
介质故障
计算机病毒
10.3 故障的种类
静态转储
动态转储
10.4.1 数据转储
10.4.2 登记日志文件
10.4 数据库的实现技术
10.5.1 事务故障的恢复
10.5.2 系统的故障恢复
10.5 恢复策略
10.6 具有检查点的恢复技术
10.7 数据库镜像
第十章:数据库恢复技术
数据库系统概论
0 条评论
回复 删除
下一页