数据结构化时数据库主要特征之一,是数据库与文件系统的根本区别
数据库主要包括四个部分: 数据库、用户、软件、硬件
ER图组成:实体、联系、属性
数据模型三要素:数据结构、数据操作、完整性约束
基本数据模型:层次、网状、关系模型
数据库系统三级模型、两级映像:
关系模型的语义约束:实体完整性、参照完整性、用户定义完整性
实体完整性:要有属性或者属性组作为主码,主码的值不可为空或部分为空
参照完整性:X是R的外部码,X是S的主码,那么R中每个X值要么为空,要么等于S中相应的X值
关系演算:
关系代数9种关系运算:
投影检索,可用DISTINCT消去重复
选取检索,使用WHERE表达查询的条件
排序检索,ORDER BY <列名> ASC/DESC
连表检索,如果连表中有属性名相同的话用表名作为前缀区分,否则不用加表名
子查询嵌套检索: 使用IN 、EXISTS(😢hard)
交、并、差检索
库函数检索:只能出现在SELECT子句或者HAVING子句
分组检索:GROUP BY <列名> <列名>
算数表达式检索
部分匹配检索, WHERE <列名> LIKE '%xxx%'
基于派生表的查询
CREATE TABLE <表名> (
... ...
... ...
PRIMARY KEY
FOREIGN KEY () REFERENCES table2(table2主码)
ALTER TABLE <表名>
DROP TABLE <表名>
create view <视图名>
as
<子查询>
drop view <视图名>
需求分析
数据流图和数据字典
概念结构设计
形成概念模型
ER图:实体、属性、联系
应用系统的概念结构设计方法
数据抽象机制
局部ER图设计
集成局部ER图的步骤
ER图向关系模型转换的规则:
逻辑结构设计
物理结构设计
数据库实施
数据库运行和维护
数据依赖:
三种函数依赖:
平凡/非平凡函数依赖
Armstrong公理系统
三条推理规则:
函数依赖集的闭包:对于关系R<U,F>,能由F根据Armstrong公理导出的
Armstrong公理的有效性和完备性
求函数依赖集的闭包
函数依赖集极小化处理(🅰️已经在笔记上总结)
范式:
1NF:保证每个属性不可再分
2NF:消除了非主属性对码的部分函数依赖
3NF:消除了非主属性对码的传递函数依赖(并没有限制主属性对码的部分或传递函数依赖)
BCNF:每个函数依赖都含有码
4NF 4NF规范化????????
模式分解:
达到3NF,保持函数依赖、无损分解的算法
达到BCNF无损连接的分解算法
快速求解候选码
查询处理步骤:
查询优化:
连接操作算法:
事务:是用户定义的数据库操作的序列,这些操作要么都做,要么都不做
事务的特性(ACID):
原子性:事务中包括的操作,要么都做,要么都不做
一致性:事务执行的结果必须从一个一致性状态转移到另一个一致性状态
隔离性:一个事务的执行不能被其他事务干扰
持久性:一个事务一旦提交之后,他对数据库的影响要是永久的
故障种类
数据库恢复的技术(基本原理是:冗余)
必须先写日志文件,再写数据库
事务并发执行的优点:
并发操作导致的数据不一致性
并发控制的主要方法:封锁机制
封锁的两种类型:
封锁协议:
预防死锁
死锁检测:
死锁恢复:
可串行化:多个事务并发执行正确,当且仅当其结果与某一次序串行执行结果一致
一个冲突可串行化的调度一定是可串行化调度
两段锁协议:保证事务可串行化调度
数据库安全性:保护数据库防止不合法的使用造成的数据泄露、更改和破坏
数据安全性控制:
数据完整性控制:包括正确性和相容性
完整性控制的对象:列、元组、关系
完整性控制三个方面的内容
完整性约束按照时机:
SQL完整性支持
分布式数据库:每个结点具有独立处理的能力(场地自治),可以执行局部应用,同时每个结点也能通过网络通信支持全局应用
分布式数据库以“数据分布”为前提,强调场地自治性(局部应用),以及自治场地之间的协作性(全局应用),二者缺一不可
分布式数据库的特点
分布式数据库系统的模式结构
全局外模式; 全局概念模式;分片模式;分布模式;局部概念模式;局部内模式