01数据库系统前言
上午下午题都涉及
1.1数据库模式
1.2ER模型
1.3关系代数与元组演算 (上午题)
1.4规范化理论 (上午题)必考!!!!
1.5并发控制
1.6数据库完整性约束 (下午案例分析)
1.7分布式数据库 (下午案例分析)
1.8数据仓库和数据挖掘 (下午案例分析)
02数据库三级模式-两级映射
选择题
三层模式-两级映射属于层次性架构设计,为应用数据库提供很多便利,也让整个体系可维护性,应变能力更好
物理数据库在计算机上的表现形式是一个文件系统。
内模式和物理层数据库直接关联,内模式负责如何去存储数据,按什么格式,如何优化(数据的存放)
概念模式:数据库中的表,相当于把数据分成若干张表,根据业务,应用划分出来的。
外模式对应的是数据库的视图,外模式让我们对数据的控制更进一步的手段,灵活的处置方式。
外模式对数据进行一定处理后,显示需要显示的信息。选择表中某些字段显示出来。
外模式-概念模式映射主要负责 视图的显示
概念模式-内模式的映射主要管内部的存储形式和表,只需要改映射方式,不用改表
03数据库设计过程说明
数据库设计的流程要知道,然后过程中的产出物。
04 ER模型
学生和课程之间的联系“选课”
学生和课程 多对多,一个学生记录对多个课程,一个课程对多个学生。
先分析局部的ER图,局部的一步步合成全局ER图。
ER模型转关系模式
1:1 最少转成2个关系模式
1:n 每个实体转成单独一个关系模式,最少要转成2个关系模式
n:n 至少转成3个关系模式
05关系代数(选择题小出现,综合题型)
考法:
一般给一个关系代数表达式,找出与之等价的关系代数表达式
给出业务场景,让写出关系代数表达式
笛卡尔积:把两个参与的全部列出来
投影是一种选列的。
连接操作会把相同的只保留一个
06规范化理论_函数依赖
y=x^2 则x—>y (给定X函数确定Y) ,而y不依赖x
部分函数依赖:A确定c,B也确定C
传递函数依赖:A以来B,B依赖C
07规范化理论的价值与用途(重点!!!)
非规范化的 关系模式,要解决的问题:数据冗余,更新异常,插入异常,删除异常
异常如下图:
08规范化理论_求候选关键字
重点: 如何求候选键?
超键:能够唯一标识元组的键,可以是单个属性也可以是属性的组合。可能存在冗余属性(了解就行)
候选键:在超键基础上,消除冗余属性。
举例
超键: (学号,姓名)—成绩
候选键 : 学号,有没有姓名都可以
主键:只能设置一个
外键:别的关系的主键。
求候选键
图示法,首先把关系模式化成图,依赖用箭线表示,找出入度为0的属性,尝试遍历整个图,能够遍历整个图就是候选键。
09规范化理论_范式
规范化程度越高,数据表越多。
一般做到第三范式。
三大范式
第一范式 字段不可分割,字段只存一种信息,具体情况具体分析
第二范式 完全依赖主键 (不存在部分依赖)
第三范式 消除传递依赖,消除冗余 一张表只存一种信息
思考:关系模式中存在问题,该怎么解决?(数据冗余,更新异常,插入异常,删除异常)
三大范式,分为多张表,
BCNF范式,函数依赖中,左边部分必须是候选键。
T–J 还不是BC范式,T不是候选键
10规范化理论_范式练习题
做出找出最接近的答案就好了。
部门号可以当主键,这时候已经消除函数依赖。
部门号和职工号之间没有关联。
职工号关联部门号,商品号关联商品名称。
11规范化理论_模式分解
模式分解:保持函数依赖,无损分解。
R(A,B,C) 函数依赖A确定B,B确定C
拆分为R1(A,B) R2(B,C) R3(A,C)
R3没有保持函数依赖
保持函数依赖:能够把原关系中所有函数依赖保持下来,冗余的不保持。
无损分解:有损是不能还原,无损表示可以还原。
无损联接分解:指将一个关系模式分解成若干个关系模式后,通过自然连接和投影等运算仍能还原到原来的关系模式。
判断无所分解的方式:表格法和一分为二
一分为二局限性比较大,只适用于把关系分为两份的。
表格法
行是字段,列是关系模式
a代表字段有关系模式,如a1表示学号有成绩这个关系模式。
b代表字段没关系模式,如b12表示第一行第二个,姓名没有成绩这个关系模式。
一分为二
只适合一分为二的方式。
判断是否无损分解,求交集,R1-R2结果有一个有函数依赖则,则是无损分解。
12数据库并发控制
事务 transaction : 解决在并发情况下数据的完整性和一致性,提高操作效率
–读与写 读读 写写
–事务是数据库执行的最小单位
–事务是由一条或者多条的sql语句组成
一次连接,多个会话,一个会话可以有多个事务
一次会话中,从上一个commit 到下一个commit 之间的所有sql语句集合
并发中会产生的问题
rollback将所有操作复原
封锁协议
两段锁协议的引入有可能发生死锁,可以甄别后解决,或者预防死锁。
13数据库完整性约束
实体完整性约束:给数据表定义主键,主键不能为空
参照完整性约束:外键,要求填入的数据必须是主键相关的,允许为空
用户自定义完整性约束:用户可以设置值
触发器:写脚本约束数据库
14数据库安全
15数据库备份与恢复
日志文件比数据文件先处理,如果遇到问题,可通过日志文件查找。
数据库故障与恢复
16数据仓库与数据挖掘
数据源:从不同的数据源导入的,需要进行清理。
数据集市是部门级的数据仓库,数据仓库按主题存储数据。
数据挖掘可以挖到未知信息,可以用来预测,分析。
数据仓库的建立
数据挖掘方法分类
17反规范化技术
由于规范化使表不断的拆分,从而导致数据表过多。这样虽然减少了数据冗余,提高了数据的增删改的速度,但会增大查询的工作量。
系统需要进行多次连接,才能进行查询操作,使得系统效率大大下降。
通过技术手段实现。
增加派生性冗余列,增加冗余列,重新组表,分割表(垂直分割,水平分割)。
18大数据基本概念
大数据是指对海量数据处理的相关技术,数据量极大,要求处理的速度要快,数据有多样性,有一定价值。
对于很多的不同类别的数据进行联合分析得到一些结论。