文章目录
数据库系统总览
下午上午的题目都会涉及到,很重要
一、数据库分级模式
二三四、数据库设计,其中关系代数,规范化理论上午必考
五、六,简单点
七、八,主要下午的案例分析会考
一、数据库模式
什么是两级映射,三级模式?
物理数据库,计算机的表现形式,往往就是一个文件
access数据库,success数据库等等,都是一个文件
1、内模式,用什么格式存储数据,如何优化;存储形式和表有映射关系,存储结构改变,调整映射关系即可,无需修改应用程序
2、概念模式,其实就是表,数据分成若干张表,比如用户信息表;表和视图有映射关系,表发生变化,改映射即可,不需改应用程序
3、外模式,对应数据库的视图,方便控制,处置数据,直接调用所有用户信息,不太安全,把表处理之后,再呈现;
二、数据库设计-ER模型
数据设计流程是怎样的?
严格来讲,数据库设计应该从概念结构设计开始
1、概念结构设计主要表达形式,就是ER模型,和数据库管理系统没有关系DBMS,就是转成MySQL数据库,还是Oracle数据库都行
2、ER模型转成关系模式,就是一个一个表的形式,这种转换,涉及规范化理论,必考!
3、把DBMS的特性融入进来,比如类型方面有差别
ER模型是怎样的?
多对多是如何来的?
1、1个学生的记录,可以对应多个课程的记录,业务没问题
2、1个课程,可以供多个学生来选择,形成多对多
一般通过先部分,再整体的方式,绘制ER图
合成的时候,有两种方式:
逐步集成,相对耗时一些,但简单不易出错
什么是冲突问题?
就是两张ER图不一致的方面
- 属性冲突,两个局部系统都涉及老师,有些老师的性别,是男女代表,有些是用TF代替,节省空间用了逻辑来代替
- 名字一样,意义不同,不同名字,结果意义一样,有的叫老师,有的叫教职工
- 老师即是字段(即一个列),也是表(即一张完整的表),有可能导致冲突,这就是抽象级别不一样
ER模型如何转为关系模式?
一个实体就是一个关系模式
三种不同联系,处置时有差异
-
1对1,实体必转关系模式,中间的联系,可以分别和一方合并,也可以单独转为关系模式,最少可以转成2个
-
1对多,实体必转关系模式,中间的联系,可以并入N端,也可以单独转,只是选择少了一种而已,少的那个不能合并联系了
比如部门,员工,或者班级,学生,联系只能记录在员工,学生一端,员工表,学生表,加一个部门号班级号即可,就能对应到相应部门
反之,部门,加员工号,有的部门2员工号,有的部门几百号员工,添加不了记录
-
多对多,联系必须转为实体,选择又少了一个,并且最少可以转成实体数为3了
课程和学生,是典型例子
三个实体,都要转
1个联系,必然转,最少共4个,选C
三、关系代数(必考!)
主要考综合知识,选择题
一般是给一个关系代数表达式,找一个等价的关系代数表达式
关系代数基本运算包括哪几种?它们分别是什么?
并,交,差,是典型的集合运算
-
好像在哪里见过集合这个字样,应该是一个图片中
-
并,两个集合内容合并,并且两个集合中都有的数据,也就是重复数据只显示一次,也就是去重
-
交,就是去重的那部分,只显示去重的这部分;并且注意这个记录在并集合中也肯定会存在
-
差,S1-S2,就是在S1中,把交的部分去掉,也就是把去重的这部分去掉,就是S1少了和其他表相同的项,它就成为一个和其他表完全不同的项了
考试主要考后面几个
特别是笛卡尔积和联接之间的差异,方式不同,结果相同
笛卡尔积,投影
- 笛卡尔积,就是组合,S1和S2组合,形成全新的记录,记录数是两个记录数之乘积,注意,结果集的属性个数,是两个关系的属性数之和,
再加上投影和选择,可以实现数据库操作的绝大部分功能
-
S1投影,只有投影的列显示,没有投影的列不显示,相等于隐藏,投影就是选列,这个是最直观的视图控制操作了
前面的Sno,Sname下标,表明了选哪些列;等价形式是π,下标1,2(S1),表明的就是1列和2列
-
S1选择,下标是Sno=No0003,就是选这一行;等价形式σ,下标1=No0003,就是选第1列的这一行,就是说上面这个表头,都可以用第几列的数字来代替
联接
-
联接,把S1和S2都有的字段,重复的元素,只保留一个
写了条件,叫等值联接
没有写条件,叫自然联接,联接条件就是相同字段做等值,也就是相同的表头做等值
其他的三个表头,都排到后面,相当于创建了一个合并的表,确实和笛卡尔积有点像,但是表头差别也挺大的
如果自然联接之后,要对字段做投影,也就是选列,比如只需要Sno,Sname,Age,可以直接写,也可以写π,下标1,2,4,
假设是笛卡尔积操作之后,只需要Sno,Sname,Age了,那么是对哪些列进行投影?是π,下标1,2,5,因为笛卡尔积不会删除重复的表头,这就是最大的区别!
四、规范化理论(必考!)
什么是规范化理论中的函数依赖?
后面讲到的键,以及范式,都需要函数依赖的理论
- 难怪说键,需要用到函数依赖,特别是候选键就是如此
什么是函数?有什么特点?
f(x)= x的平方,
特点是,给定一个x,就会有一个确定的f(x)
x能够确定f(x),并且是唯一的一个f(x),这就是一种函数依赖
而同时,f(x)是无法确定x的,因为一个f(x)可能对应不止一个x,那么就不能确定x
比如学号能够函数确定姓名,意思是,给定一个学号,在数据表中,能够找到唯一对应这个学号的姓名是什么,注意,只是对应关系是唯一的,也就是1对1,而并非姓名的值不能相同
姓名是不能确定学号的,就是因为姓名的值本身,是可能相同的,相同的姓名,有着不止一个对应关系,那么这当然不是函数依赖
什么是部分函数依赖?
通过学号和课程号的组合,可以唯一确定姓名,并且其实无需组合,只要学号,就能确定和姓名的对应关系,这就是部分函数依赖
意思是主键的一个部分,可以确定某个属性,原来属性就是表头!。这就是部分函数依赖
什么是传递函数依赖?
A能够找到B的唯一对应关系,B能够找到C的唯一对应关系,A就能够找到C的唯一对应关系
注意,B不能找到A的唯一对应关系,不然B和A就等价了,就没有传递的说法了
规范化理论的价值和用途是什么?
-
没有规范化,存在冗余数据,D01是计算机系,其他的D01,肯定也都是计算机系,也都是1号楼
-
计算机系,改计算机科学系,改了2条,第3条没改,就是更新异常
-
插入异常,后面再举例子,大概是说,两个属性结合做为主键,主键没有明确时,无法进行插入
其实意思就是,主键还没定,也就是学号,课程号这种组合主键的表,你只有课程号和学分,学生还没选,没有学号,就无法录入
这就是所谓的主键不明确,通常出现在组合主键的关系中
-
删除异常一样,大概是说,把不该删的删掉了
规范化理论的目的,就是降低冗余,减少异常
-
也有一种反规范化理论,异规范化理论,会加入数据冗余,后面会学;因为规范化程度提高到更高,反而一项指标就降下去了,不能极端,要合适
就像安全和性能,本来就是冲突的,只能相对安全,兼顾性能
规范化理论的键有哪些?
详细学习的是求候选键的问题
- 唯一标识元组,可以是单个属性,也可以是属性的组合,这是超键
- 超键可能存在冗余属性,而候选键也是唯一标识元组,但是不会有冗余属性
比如学号,姓名,性别,这几个字段,或者叫属性,属性就是表头,一定要记住
学号和姓名的组合键,可以确定性别的唯一对应关系,就是超键,实际上有冗余,因为学号就能确定性别的唯一对应关系
- 这不就是上面讲的部分函数依赖,部分函数依赖就会产生超键
但此时不是候选键,因为有冗余属性,就是有你没你一回事,加你进来就是冗余的
-
主键的区别是,主键只有一个,就像选总统一样,候选键其实都可以标识唯一元组,但是只选其中一个为主键
-
外键,是别的关系的的主键,是为了对表做关联
员工表,一般设置部门号,和部门表进行关联,部门号肯定是部门表的主键
如何求解候选键(常考!)?
图示法,方便解决复杂问题,如果只是唯一标识元组的线索,复杂问题不容易求解
例题1求解
1、将关系模式画为图形
关系中的多个属性,用结点表示
有依赖关系,就用箭头进行指向
2、什么是结点的入度,就是有箭头指向它,就是入度
什么是结点入度为0,也就是没有箭头指向它
- 这个箭头指向的,好像之前在哪学习过,后面再找找看
以入度为0的A1结点,为起点,进行遍历
遍历就是按照路径箭头都走一遍,看能不能走到所有的的结点
如果能,这就是候选键,
- 通常都能的吧,可能也有入度为0的无法走完所有结点的
例题1选A
例题2求解
1、画出有向图
函数依赖中,ABD指向E,图中就是三股源流汇总成一股指向箭头
2、入度为0的结点有哪些?
候选键,居然可以是组合键!
难怪C和其他的根本不通,咋能都跑通呢
C单独跑J,I,肯定没问题
A单独跑G,H没问题
B单独跑F,E没问题
那么还需要D吗?肯定需要,因为到E,B是没法单独到的,
只能ABD同时,才能到E,因为B单独到E,函数依赖就成了B箭头指向E,这和题目的函数依赖不一样
那么候选键就是组合ABCD
例题3求解
1、画出有向图
箭头形成了循环结构,不是之前的树形结构
2、没有入度为0的结点,
那就找中间结点,也就是即有入度,也有出度的结点
就是结点B
结点A
3、同样分别遍历
结点B能走完全部
结点A可也能走完
那么候选键就是A和B,注意不是组合,而是两个单独的都是,选选项B,也就是说不能选选项A,那个是组合的意思
什么是范式?(必考!)
从上往下,规范化程度越来越高,但是数据的执行性能越小了
因为提高级别,都是进行数据表的拆分,越高级别,拆分越细,太细又会有性能问题
平衡折中的方式是,拆到第三范式就差不多了
要达到下一级范式,必先达到上一级范式,也就是得逐步拆分
第一范式要求是什么?1NF只有二级表头才会有第一范式规范问题!
原子值就是,属性不能拆成几个属性
属性中的高级职称,又可以划分为两个属性,就不是原子值
如何满足第一范式?
只保留原子值的属性,其他进一步抽象和概括的属性直接删掉即可,原来我们自己做excel表也需要进行规范化,满足这一点
第二范式要求是 什么?2NF,只有组合主键才能有第二范式规范问题!
1、首先确定主属性,也就是主键是谁,排除掉主键
2、把其他键,当然也包括了候选键,所有的部分依赖,都去掉
学生号,和课程号组合起来,才能够确定成绩,确定学分,这是一个组合主键
但是其实是有部分依赖的
因为只需要课程号,就能够确定学分,而课程号只是主键的一部分,这存在了部分函数依赖了
部分函数依赖会带来哪些问题?
在“规范化理论的价值和用途是什么?”中讲过
1、数据冗余
学分4,存了很多次
但是课程号,是能确定固定的学分的
2、更新异常
学分4,改成2,只改了两条,就是更新异常
3、插入异常
新课程号C08,学分6分
此时还没人选,但是想先录入,就录入不进去
这就是所谓的主键不明确,是无法录入的
4、删除异常
有学生毕业,成绩要清除,因为不需要成绩了,已经毕业了
但是学分也给清除掉了,学分还是要保留的,不然怎么留存毕业资料
总之就是把不该删的删掉了,就是删除异常
解决方案是什么?
1、把课程号,和学分,组成一个新的关系模式
2、原来的关系模式中,去掉学分这一列,但是注意课程号要保留,仍然是组合主键,因为只有学生号和课程号组合,才能确定成绩
也就是说,只不过是把冗余非主键,学分,给抽出去,其他的不变
这就是为何都是对非主属性的操作!
第三范式是什么?
先看这个表,有没有达到第二范式的要求
肯定达到了,一共才一个主键,只要不是组合主键,都能达到第二范式要求
满足了第二范式,只是相对减少了四个方面的问题,其实还可能有提升的空间,具体每方面还有哪些问题?
1、数据冗余很多,一看计算机系,1号楼都是冗余
看来上面部分“规范化理论的价值和用途是什么?”中的例子,其实是第三范式存在问题,因为第一,第二范式问题其实很容易排除
2、更新异常
之前说了,更新计算机系这个值,没更新完,会有异常
3、插入异常
新建一个系,还没有学生进入这个系,同样无法操作
和第二范式问题有点像,因为同样都是主键不明确的问题,组合主键,和单主键都会有这个问题
4、删除异常
都是怕删多了的问题
解决方案是什么?
是要将非主属性的传递依赖,给打破
看来都是对非主属性的操作
1、就是将系号,系名,系地址,形成一个新的关系
因为后面两个都是传递依赖关系,
学生号能够推出系号,系号能够推出系名
学生号能够推出系号,系号能够推出系地址
2、原关系中,去掉系名,系地址,但是注意,系号不能去掉,因为是把传递依赖关系后面的部分去掉即可,没有进一步传递即可
BC范式是什么?
什么是主属性?
主属性,就是属性属于候选键的一部分,第二范式例子中的主属性,是学生号,课程号
- 怎么感觉就是主键中的属性,可能只有一个主属性,也可能有若干个
怎么又和候选键有关系了
说把所有候选关键字列出来,任何一个候选关键字中出现过的属性,都是主属性,比如例题2 中的ABCD组合,都是主属性,后面遇到题目再说…
1、先求关系的主属性
1.1、先把候选键都找出来
结点S就是,一眼找出来,因为只有它入度为0,也能跑通
居然错了,看仔细,T箭头需要S和J共同指向
候选键就是组合SJ
总之S单独是没法当候选键的
居然还有候选键,就是ST,因为这两个组合,也能遍历所有
- 看来候选键的查找这一张章节要多修炼
1.2、也就是说,S,J,T三个都是主属性,没有非主属性!
2、所以必然满足,第三范式,因为根本不就没有非属性!
这样也行我的天
难怪还需要这个BC范式!
3、那这个是不是BC范式呢?
判断方法是:把所有函数依赖写出来,依赖的左边部分,必须是候选键
SJ 到T
T到 J
左边有个T,并不是候选键
所以这不是BC范式
如果要规范化,得让ST也到J
规范化理论例题求解
选择题,只有相对正确,没有绝对正确,和人一样,因为题目只是人创造的产物
第一问求解
不属于第三范式,两种可能
a.是连第二范式都没达到
b.是第二范式达到了,达不到第三范式
直接看这个部门表
1、首先,它;有没有达到第二范式
主键有几个属性,就部门号一个,达到了第二范式
2、达到了第二范式,为何达不到第三范式
首先确定非主属性是什么,部门名,负责人,电话,都是非主属性
非主属性是否存在传递依赖,部门号能够确定唯一负责人对应关系,负责人能够确定唯一电话对应关系
明显存在传递依赖,A,B排除,
主键只有一个,部门号,排除D,选C
第二问求解
根据选项,意思是改这3个表,增加1职工号,或者部门号,来达成
这是要解决什么问题?
1、就是部门号和职工号没有关联,没有联系!
2、而部门,和职工,是1对多的关系
这种联系只能保存在多的一端,也就是职工这一端!
原来如此,这就和“ER模型如何转为关系模式”的章节联系起来了
3、也就是需要在职工表中,加上部门号,选D
第三问求解
要增加什么关系模式,要看表4有什么内容
1、四个选项,都有职工号,职工号肯定需要有
2、那么部门号,还需不需要,肯定不用,因为联系已经在第二问建立了!排除C,D
3、选项B中,有了商品号,肯定无需商品名称,排除B
4、选A
模式分解有哪些要求?
- 分解前和分解后的函数依赖仍然存在
如图中,去掉传递函数依赖时,仍然保持了函数依赖关系,只是把三节变成两个两节,每一节的依赖关系是不变的
注意,如果有冗余函数依赖,不需要存在
比如还有个A到C的依赖,实际上是冗余的,那么此时上面的R1,R2仍然是保存了函数依赖的
因为A到B,B到C,是能够推导出A到C的,这个无需保存,也能存在
-
什么是无损?就是可以还原
进行压缩时,也会用到这个概念,
如果通过联接操作,也就是上面章节学习的,重复表头删除的操作,可以进行还原,就是无损分解
模式分解例题讲解
1、看看联接操作后,能够还原为原始表
学号能够确定姓名
所以:成绩(学号,姓名,课程号,分数)
2、课程号能确定课程名
所以:成绩(学号,姓名,课程号,课程明,分数)
已经还原了原来的关系模式
- 书上说用列表的方式,其实也是联接操作,无非直观一点,感觉反而麻烦
- 书上还讲了第二种方法,有局限性,只适合一分为二的情况,就是R变成R1,R2才行
那个拱门一样的符号,是求交集,交,就是只显示去重的这部分,得到A
减去的符号,就是差,在R1中把交的部分去掉,得到B,或者反之得到C
就是看这个交的,重复的部分,能不能确定去除交的,差部分,只要有一个差的部分满足,就能确定是无损分解
明明是关系代数的运算,噼里啪啦一大堆让人看不懂
五、并发控制
什么是事务?
事务,把多个操作封装成一个整体
因为很多操作有关联性,要一次性执行完,不然会有问题
比如银行转账,1钱转出,2钱转入,两个要形成事务,不然容易出问题
要求要么都做,要么都不做,以保证正确
1、就是把事务看成一个原子,不能再拆分,这就是原子性
2、事务执行前后,数据都是一致的,比如转账,钱总数要一致,只是转移,总量不能减少,只转出,没有转入,这就是不一致
3、事务之间,是独立的,互不影响
4、事务执行之后的结果,是持续的
更多地是把事务作为并发控制的前提条件,便于进行并发
并发当然是为了提高操作效率
并发会产生哪些问题?
问题1、T1,T2并发,正常应该减去13,也就是T2在T1的结果之上再减
实际结果只减去了8,因为T2最后执行完毕,写回了,就把T1的结果覆盖了,而不是在T1结果之上再减
问题2、T1执行两次,提高可靠性,期间,T2对A进行了更新,导致T1两次验算结果不一致
问题3、读取到了临时值,T1中有回滚,也就是复原,并且第一步就写回了,导致T2读取到中间的临时数据
什么是封锁协议?也就是什么是X锁,S锁?
1、X锁,问题1中的T1,读取的第一步之前加X锁,T1完成之后,也就是事务结束之后,才释放,T2才能操作,也就是让其排队,串起来执行,这样结果就符合预期了
X锁,是写入的锁,写锁加上之后,不能再加任何锁
-
不让写了,那让不让读呢
AI说了,读取是不让的,不让你读,当然就不怕你运算了,所以可以避免问题1
可以避免问题1
来自AI:
(Exclusive Lock)
排他性(Exclusive):写操作具有排他性,当一个事务对某一数据对象加上写锁后,其他事务就不能再对这个数据对象加任何类型的锁,包括读锁和写锁,只能等待该写锁被释放。例如,当一个事务正在对某条订单数据进行修改时,不允许其他事务同时对该订单数据进行读取或修改操作,以确保数据的完整性和一致性,这种特性体现了 “排他” 的含义,因此用 “Exclusive” 的首字母 “X” 来表示写锁。
改订单,银行转账,这种确实都需要用写锁,排他锁,X锁
2、S锁,是读取的锁,读锁加上之后,别人还可以继续加读锁,但是不能加写锁
注意是在X锁基础之上,先加S锁,读完后释放S锁,注意,是读完之后立即释放,而不是事务执行完,这样可以避免问题1 和问题3
难怪叫二级封锁协议,锁更多了
- 读完后立即释放,还是会读到脏数据呀?具体题目再看看
来自AI:
(Shared Lock)
- 共享性(Share):读操作通常是可以共享的,多个事务可以同时对同一数据对象加读锁,即多个事务可以同时读取同一个数据而不会相互冲突,它们之间是共享的关系。例如,多个用户同时查询数据库中某条商品信息,这些查询操作可以同时进行,都获取到读锁,共享对该数据的读取权限,所以用 “Shared” 的首字母 “S” 来表示读锁。
3、在X锁基础之上,先加S锁,要等事务结束之后才释放S锁,
可以避免问题1,3,和问题2
不让第二个人读了,肯定就不会有两次验算不一致的,问题2的问题
- 但本身X锁就不让第二个人读,为什么还要加S锁呢
因为只要都是串行了,X锁一加,都串行了,必然不会有这些问题
4、两段锁协议,可串行化,可能发生死锁
针对死锁问题要怎么办?
要么预防死锁发生
要么发生后进行识别解除
六、数据库完整性约束
有哪几种完整性约束?
1、给数据表定义主键,约束主键值不能为空,且不能重复,就是实体完整性约束;
2、外键的完整性约束,员工表,有部门号,设置了参照完整性约束,员工表中的部门号的参数就不能乱填了,必须是部门号主键有的值,才能填,也就是在别人的实体中要存在,如果员工还没有部门,是允许为空的,唯独不能输错
3、年龄,不允许负数,不允许200以上,x>=0,<=200,就是用户自定义完整性约束
都是为了提高数据可靠性的机制,避免问题数据录入进去了
但是都只能应对简单的情况
复杂情况,需要触发器,原来如此,它是做这个用的
触发器怎么约束?
可以写脚本,来约束数据库中的数据
数据库安全措施有哪些?
1、身份认证,账户和口令
2、后面学习安全时的访问控制,就是这里的存取控制,就是权限分级
3、加密传输
4、控制视图权限,和权限分级有点类似,但是它是针对显示视图,上面的是针对操作层面的分级
5、事后机制,日志记录数据库操作
数据备份方式的优缺点?
冷备份,有些业务是7*24小时的,不允许停止,文件级别的拷贝,没法精确的表的级别,也就是没法单独对某个表进行备份
热备份不能出错,否则错误会很严重
另一种数据备份的方式?根据备份数据的量进行区分
a、完全备份
b、差量备份,是针对完全备份
c、增量备份,是针对上一次备份,而不管是哪种类型
比如周日,完全备份
周一二三,五六增量备份
周四,差异备份
那么:
1、周日,完全备份一次
2、周一,以上一次完全备份为基准,看是否变化,变化的进行备份
注意,如果周一,系统故障,需要恢复,不能直接恢复周一的增量版本
应该先恢复周日完全备份的版本, 再恢复周一的增量备份版本
3、周二,以周一的备份为基准
4、周三,以周二的备份为基准
如果周三出故障,同样,先恢复周日,再恢复周一,再周二,再周三,看来这个周日的完全备份很重要
这里感受到增量备份不好的地方,速度虽然快,但是要恢复就麻烦,每一个增量都要按照时间顺序去恢复,才能够进行还原
所以就有了差量备份
5、周四,差量备份,是直接针对周日的,以完全备份为基准,总之完全备份的节点很重要
恢复时,先恢复周日完整版,再恢复周四差量备份版本即可
6、其他的略…遇到题目再说
转储,就是备份
两种分类方式结合,形成四种
a、静态+完全,就是静态海量
b、静态+增量,就是静态增量
c、动态海量
d、动态增量
为何需要日志文件?
因为就算所有备份齐全,也不能保证所有数据都能找得回
因为增量备份,也是一天一次,更小颗粒度的操作,就只能使用日志文件了
数据库故障与恢复?
1、Rollback就是回滚
2、通过日志,回退事务的修改
3、系统故障,可能是DBMS,数据库管理系统的,也可能是操作系统的
4、外存故障,也能用日志来重做业务
八、数据仓库与数据挖掘
流行于BI中
BI 即商业智能(Business Intelligence),数据仓库和数据挖掘都是 BI 的重要组成部分
数据仓库和数据库的差异差别是什么?
数据库,运行久了,有很多历史数据,效率下降,只能删除相对用不到的历史数据,但是直接删了很可惜,如果企业需要做决策,又可能会用到
这些数据只是对比如收银员系统来说,比较影响效率,但是对除了这个系统之外的,还是有价值的
历史数据,一般加进去就不改了,归档了
而更加需要大规模的查询,分析,统计,
需要特殊的数据库来处理,这就是数据仓库
数据仓库的特点有哪些?
1、不是面向应用,不是普通的业务数据库,而是面向主题的
比如,分析商品主题,抽取各个数据库的商品数据,按照主题来组织数据
一般操作系统是按照业务来组织数据
2、集成式数据,就是日报表,周报表,月报表,普通数据库不会这么干
难怪,我司需要的,是BI系统,而不是仅仅是一个普通的数据库系统
3、进去的数据,不再删除修改
4、隔一段时间,导入一次历史数据
数据仓库的操作步骤怎么理解?
- 清理,就是做数据格式统一,冗余数据去除
因为抽取时,是从不同数据库抽出来的,可能有些地方不统一
-
刷新,就是定期添加数据
-
数据集市,就是部门级别的数据仓库
-
OLAP,就是联机分析处理服务器,
-
表层是数据前端的工具
其中,数据挖掘工具比较独特,形态和查询工具有区别,
查询有明确的目标去做,数据挖掘工具,不太明确,能够挖掘到人类未知的事物和特性,应用在商业领域,有点像AI
数据挖掘的多种方法有哪些?
- 分类分析,是分成不同类别
- 聚类,是根据共性聚合成大类别
什么是反规范化技术?
物极必反
查询工作量太大,几何级数增加处理时间
技术手段都是规范化的逆过程
1、订单记录中,单价,数量,能计算总额,但是通常增加派生性冗余列,加上总额的列,避免要用总数时,还要再去计算
这就是空间换时间,指的是物理空间
2、成绩表,学号,课程号,成绩,快速查某人某科多少分,就把姓名,成绩名也写进去,查到的记录直接显示,否则还要做两次关联查询才能显示完整
3、根据查询效率的原则,重新组表,
4、垂直分割,水平分割,看是不是分割之后,查询效率会变快
核心就在于提高查询的效率,牺牲一些空间和规范程度
什么是大数据?
就是对海量数据加以处理
接触较多的,是对很多不同类别的数据联合分析,得出结论
比如,百度,用了大数据分析
用户cookie,被售卖
和传统数据技术有哪些区别?
量变引起质变
高扩展,高性能,高容错,异构就是高性能,都是集群能支持的
往往和云计算,虚拟化,结合起来进行分析
云计算利用闲置资源,成本较低
标签:范式,备份,软考,数据库,属性,Day18,主键,就是,ER From: https://blog.csdn.net/weixin_48146444/article/details/145233938