目录
数据库
1、数据库的三层模式
-
外模式:用户模式,用户的数据视图,存放视图,是一个虚拟表
-
模式:概念模式,用户公共数据视图的集合,基本表
-
内模式:存储模式,描述数据的物理结构和存储方式,聚簇索引,改变的是内模式,存放存储文件
-
逻辑独立性:应用程序和数据库的数据逻辑结构相对独立,数据逻辑结构变化,不影响程序使用
-
外模式—模式映像
-
-
物理独立性:应用程序和数据库中物理存储的数据相对独立,数据物理存储位置变化,不影响程序使用
-
模式—内模式映像
-
2、数据库设计
需求分析:分析用户需求,包括数据、功能和性能需求,得到数据流图、数据字典和需求说明文档
概念设计:用数据模型表示用户的数据需求,与数据库具体实现技术无关,E-R图
逻辑设计:设计转换规则和关系规范化
物理设计:为一个确定的逻辑数据模型,选择一个最适合应用要求的物理结构的过程
关系数据库设计理论:数据依赖(核心)、范式、关系模式规范化
数据模型三要素:静态特征(数据结构)、动态特征(数据操作)、完整性约束条件
3、数据依赖和函数依赖
函数依赖定律 | 说明 |
---|---|
传递律 | X Y 和 Y Z 成立,X Z |
合并律 | X Y 和 X Z 成立,X YZ |
伪传递律 | X Y 和 WY Z 成立,WX Z |
4、关系代数
基本运算 | 公式 |
---|---|
广义笛卡尔积 | R S = {t =< t, t> t R t S} |
投影 | (R) = {t[A]···· |
选择 | (R) = {t R F(t) = True} 从关系模式R中选择满足条件的元组 F中的对象可以是属性名、列的序号、常量 |
自然连接:属性列数是二者关系模式之和,元组行满足同名属性列取值相等,减去重复属性列
左外连接:取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值NULL填充所有来自右侧关系的属性。
右外连接:取出右侧关系中所有与左侧关系中任一元组都不匹配的元组,用空值NULL填充所有来自左侧关系的属性
完全外连接:完成左外连接和右外连接操作
查询效率最高:减少参与笛卡尔积运算的数据量
无损连接的判断方法 — 构造二维表
-
步骤1:构造属性(列)和模式(行)的二维表,若属性属于模式,填 a ,否则 b
-
步骤2:观察关系式中的函数依赖,存在,将表中 b 修改成 a
-
步骤3:只要修改后,存在a1、a2、a3、a4、a5的情况,则属于无损连接
5、数据库操作
-
AS是命名为
-
WHERE针对单条记录查询
-
HAVING只能和GROUP BY连用
-
DISTINCT代表消除重复值
-
LIKE表示字符匹配
-
GRANT是授权,REVOKE是撤回废除
6、规范化🌟(大题)
关系数据库规范化是为了解决“存储异常”的问题
-
数据冗余
-
更新异常
-
插入异常
-
删除异常
满足条件 | 存在问题 | |
---|---|---|
1NF | 属性不可以分,一个属性仅有一个值,无重复列 | 数据冗余、更新冗余、插入冗余、删除冗余 |
2NF | 每个非主属性都完全函数依赖 每个非主属性都是由整个码函数决定的,不能由码的一部分决定 如果一个关系的码只有一个属性,那么满足2NF | 数据冗余、更新冗余、插入冗余、删除冗余 |
3NF | 非主属性都不传递依赖于码 消除传递依赖 |
通过模式分解来消除某些属性依赖
7、数据库的控制功能
事务是DBMS的基本工作单位:
-
原子性:要么都做,要么都不做
-
一致性:中间状态对外不可见,初始状态和结束状态对外可见
-
隔离性:多事务间相互不干扰
-
持久性:一旦事务提交成功,即时数据库崩溃,对数据库的更新操作结果也不会丢失
-
COMMIT来提交,ROLLBACK来回滚
-
DBA使用DBMS的授权功能来保证数据库的安全性
8、数据流图和数据字典
数据字典:为数据流图中每个数据流、文件、加工和组成数据流或文件的数据项做说明,不包括外部实体
数据流图:数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模
-
数据流
-
数据项
-
数据存储
-
基本加工
决策树能够清楚地表示复杂的条件组合与应做的动作之间的对应关系。
9、数据仓库
OLAP:针对特定问题的联机访问和分析,通过多维的方式进行数据分析
10、分布式数据库
-
逻辑透明性:局部映像透明性,最低层,用户不必知道数据模型和操作语言,大多由系统完成
-
位置透明性:用户不必知道数据分配在什么地方,那个站点,对用户透明
-
分片透明性:用户不必要知道如何分片,不需要知道具体如何分块存储,对用户透明
-
复制透明性:用户不必知道数据库在网络中各个节点的复制情况
分布性:当某一场地数据库故障时,场地上的副本不至于使得整个系统瘫痪(这样做是为了提高系统的可靠性和可用性)
可用性:当某一场地数据库故障时,系统可以使用其他场地上的副本不至于使得整个系统瘫痪
11、E-R图
冲突
-
结构冲突:同一对象在某一分E-R图中被抽象为实体,而在另一分E-R图中又被抽象为属性
-
人力部门定义的职工实体具有属性:职工号、姓名、性别和出生日期;教学部门定义的教师实体具有属性:教师号、姓名和职称
-
-
属性冲突:同一属性可能会存在于不同的分E-R图,由于设计人员不同或是出发点不同,对属性的类型、取值范围和数据单位等可能会不一致。
-
命名冲突:相同意义的属性在不同的分E-R图中有着不同的命名,或是名词相同的属性在不同的分E-R图中代表这不同的意义。
12、数据恢复
数据文件:包含数据和对象,例如表、索引、存储过程和视图。
日志文件:包含恢复数据库中的所有事务所需的信息
为了保证数据库中数据的安全可靠和正确有效,系统在进行事务处理时,对数据的插入、删除或修改的全部有关内容先写入日志文件,当系统正常运行时,按一定的时间间隔,把数据库缓冲区内容写入数据文件;当发生故障时,根据现场数据内容及相关文件来恢复系统的状态。