数据库核心考点
三级模式-两级映射
外模式--视图
概念模式--表(模式、基本表)
内模式--物理文件
数据库设计
概念结构设计:属性冲突、命名冲突、结构冲突
逻辑结构设计:关系模式(层次模型、网络模型)
物理设计:
范式:
1NF:每个属性不可再分(简单属性);
2NF:消除了非主属性对主属性的部分函数依赖
3NF:消除了非主属性之间的传递函数依赖
BCNF:消除了主属性之间的部分函数依赖和传递依赖
4NF:消除了多值依赖
候选键:唯一标识元组;推导出其他属性(没在右边出现过);
主键:任选一个候选键作为主键;
主属性:所有候选键的属性取并集;
推论1:单属性候选键天然是2NF;
推论2:所有属性都是主属性,天然就是3NF;
关系代数
自然连接:显示全部列,相同属性只显示一次;属性相同且值相同的记录。
笛卡尔积:S1和S2的所有列,行是 S1 x S2
投影:选择列,π1,2 (S1), π sno, name (S2)
选择:选择记录 σ 1=N01(S1), σ 2=candy(S2)
select ...(π)...from...(R,S)...where..(σ)...
元组就是行,属性就是列。
事务:ACID四种特性:原子性、一致性、隔离性、持久性
Group by ... having .. 连用; group by 后面跟的属性必须在Select中出现
数据库设计过程:
- 需求分析
- 概念结构设计(ER图)
- 逻辑结构设计
- 物理设计
- 数据库实施
- DB运行和维护阶段
数据库锁
分布式锁:不同系统中
线程锁:方法/代码块枷锁
进程锁:同一OS
分布式死锁:两个进程相互等待资源释放(对方的锁),同时又没有设置超时!
Redis基础
Redis5大数据类型:string、list、set、hash、zset
Redis常用命令:如,zset
Redis发布订阅模式
关系代数和Armstrong公理
基本规则:
自反律:Y ∈ X ∈ U, 则 X -> Y
增广律:X -> Y, Z ∈ U, 则 XZ -> YZ
传递律:X -> Y, Y->Z, 则 X -> Z
推论规则:
合并规则:X -> Y, Y->Z, 则 X -> YZ
分解规则:X -> Y, Z ∈ Y, 则 X -> Z
伪传递依赖:X -> Y, WY -> Z, 则 WX -> Z
保持无损连接(2分解时)需要满足一下两个条件:
R1 ∩ R2 -> R1 - R2 或 R1 ∩ R2 -> R2 - R1
分片透明:不知道逻辑上访问的表是如何分块存储的;
复制透明:复制技术的分布方法,不知道数据复制到哪个节点;
位置透明:不知道数据的物理位置;
逻辑透明:不知道局部场地使用的是哪种数据模型
数据挖掘的任务:
关联分析、聚类分析、分类分析、异常分析、特异群组分析、演变分析