Day18-【软考】超长文!一文看懂数据库系统所有标题!ER模型、关系代数、规
数据库系统总览下午上午的标题都会涉及到,很重要
https://i-blog.csdnimg.cn/direct/cd2b8c6d718a457da7a15b36d98c35c0.png#pic_center
一、数据库分级模式
二三四、数据库设计,此中关系代数,规范化理论上午必考
五、六,简单点
七、八,重要下午的案例分析会考
一、数据库模式
什么是两级映射,三级模式?
https://i-blog.csdnimg.cn/direct/a27285f5dda641b997943ed66fdafb58.png#pic_center
物理数据库,计算机的表现情势,每每就是一个文件
access数据库,success数据库等等,都是一个文件
1、内模式,用什么格式存储数据,如何优化;存储情势和表有映射关系,存储结构改变,调解映射关系即可,无需修改应用程序
2、概念模式,其实就是表,数据分成多少张表,比如用户信息表;表和视图有映射关系,表发生变革,改映射即可,不需改应用程序
3、外模式,对应数据库的视图,方便控制,处理数据,直接调用所有用户信息,不太安全,把表处理之后,再出现;
二、数据库设计-ER模型
数据设计流程是怎样的?
https://i-blog.csdnimg.cn/direct/5420943610fc48819efbf389506187ed.png#pic_center
严酷来讲,数据库设计应该从概念结构设计开始
1、概念结构设计重要表达情势,就是ER模型,和数据库管理系统没有关系DBMS,就是转成MySQL数据库,照旧Oracle数据库都行
2、ER模型转成关系模式,就是一个一个表的情势,这种转换,涉及规范化理论,必考!
3、把DBMS的特性融入进来,比如类型方面有差异
ER模型是怎样的?
https://i-blog.csdnimg.cn/direct/8bcceb49d9e14cdc84c4a775a465e55c.png#pic_center
多对多是如何来的?
1、1个门生的纪录,可以对应多个课程的纪录,业务没标题
2、1个课程,可以供多个门生来选择,形成多对多
一般通过先部分,再整体的方式,绘制ER图
合成的时间,有两种方式:
https://i-blog.csdnimg.cn/direct/f8f33ee02ed64905a035bbffef748706.png#pic_center
渐渐集成,相对耗时一些,但简单不易出错
什么是冲突标题?
就是两张ER图不一致的方面
[*]属性冲突,两个局部系统都涉及老师,有些老师的性别,是男女代表,有些是用TF取代,节省空间用了逻辑来取代
[*]名字一样,意义差别,差别名字,效果意义一样,有的叫老师,有的叫教职工
[*]老师即是字段(即一个列),也是表(即一张完整的表),有大概导致冲突,这就是抽象级别不一样
ER模型如何转为关系模式?
一个实体就是一个关系模式
三种差别联系,处理时有差异
[*] 1对1,实体必转关系模式,中心的联系,可以分别和一方合并,也可以单独转为关系模式,最少可以转成2个
[*] 1对多,实体必转关系模式,中心的联系,可以并入N端,也可以单独转,只是选择少了一种而已,少的那个不能合并联系了
比如部分,员工,或者班级,门生,联系只能纪录在员工,门生一端,员工表,门生表,加一个部分号班级号即可,就能对应到相应部分
反之,部分,加员工号,有的部分2员工号,有的部分几百号员工,添加不了纪录
[*] 多对多,联系必须转为实体,选择又少了一个,并且最少可以转成实体数为3了
课程和门生,是典型例子
https://i-blog.csdnimg.cn/direct/6b768b17680d459689cbcab6d3649b99.png#pic_center
三个实体,都要转
1个联系,必然转,最少共4个,选C
三、关系代数(必考!)
重要考综合知识,选择题
一般是给一个关系代数表达式,找一个等价的关系代数表达式
关系代数基本运算包括哪几种?它们分别是什么?
https://i-blog.csdnimg.cn/direct/b05a435135054e24a2649464ae89f86a.png#pic_center
并,交,差,是典型的集合运算
[*]似乎在哪里见过集合这个字样,应该是一个图片中
[*] 并,两个集合内容合并,并且两个集合中都有的数据,也就是重复数据只表现一次,也就是去重
https://i-blog.csdnimg.cn/direct/eda744fd627d4f06be80bd44eec8e884.png#pic_center
[*] 交,就是去重的那部分,只表现去重的这部分;并且注意这个纪录在并集合中也肯定会存在
[*] 差,S1-S2,就是在S1中,把交的部分去掉,也就是把去重的这部分去掉,就是S1少了和其他表类似的项,它就成为一个和其他表完全差别的项了
考试重要考后面几个
特别是笛卡尔积和联接之间的差异,方式差别,效果类似
https://i-blog.csdnimg.cn/direct/70643ba15fd24b43a8453a53f7d3796b.png#pic_center
笛卡尔积,投影
[*]笛卡尔积,就是组合,S1和S2组合,形成全新的纪录,纪录数是两个纪录数之乘积,注意,效果集的属性个数,是两个关系的属性数之和,
再加上投影和选择,可以实现数据库操作的绝大部分功能
[*] S1投影,只有投影的列表现,没有投影的列不表现,相称于隐藏,投影就是选列,这个是最直观的视图控制操作了
前面的Sno,Sname下标,表明了选哪些列;等价情势是π,下标1,2(S1),表明的就是1列和2列
[*] S1选择,下标是Sno=No0003,就是选这一行;等价情势σ,下标1=No0003,就是选第1列的这一行,就是说上面这个表头,都可以用第几列的数字来取代
https://i-blog.csdnimg.cn/direct/0d48f2ddfdfe4b9292d6894ae598301e.png#pic_center
联接
[*] 联接,把S1和S2都有的字段,重复的元素,只保存一个
写了条件,叫等值联接
没有写条件,叫自然联接,联接条件就是类似字段做等值,也就是类似的表头做等值
其他的三个表头,都排到后面,相当于创建了一个合并的表,确实和笛卡尔积有点像,但是表头差异也挺大的
假如自然联接之后,要对字段做投影,也就是选列,比如只需要Sno,Sname,Age,可以直接写,也可以写π,下标1,2,4,
假设是笛卡尔积操作之后,只需要Sno,Sname,Age了,那么是对哪些列进行投影?是π,下标1,2,5,因为笛卡尔积不会删除重复的表头,这就是最大的区别!
四、规范化理论(必考!)
什么是规范化理论中的函数依靠?
后面讲到的键,以及范式,都需要函数依靠的理论
[*] 难怪说键,需要用到函数依靠,特别是候选键就是如此
https://i-blog.csdnimg.cn/direct/a29a640a2e514a7685f3c3c87dca5ef9.png#pic_center
什么是函数?有什么特点?
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就等价了,就没有转达的说法了
规范化理论的代价和用途是什么?
https://i-blog.csdnimg.cn/direct/af75cfe5344541c698098d83b7121b32.png#pic_center
[*] 没有规范化,存在冗余数据,D01是计算机系,其他的D01,肯定也都是计算机系,也都是1号楼
[*] 计算机系,改计算机科学系,改了2条,第3条没改,就是更新非常
[*]插入非常,后面再举例子,大概是说,两个属性结合做为主键,主键没有明确时,无法进行插入
其实意思就是,主键还没定,也就是学号,课程号这种组合主键的表,你只有课程号和学分,门生还没选,没有学号,就无法录入
这就是所谓的主键不明确,通常出如今组合主键的关系中
[*]删除非常一样,大概是说,把不该删的删掉了
规范化理论的目标,就是降低冗余,减少非常
[*]也有一种反规范化理论,异规范化理论,会参加数据冗余,后面会学;因为规范化水平进步到更高,反而一项指标就降下去了,不能极端,要符合
就像安全和性能,本来就是冲突的,只能相对安全,分身性能
规范化理论的键有哪些?
https://i-blog.csdnimg.cn/direct/3462af0c64c3453fb4349dbd8f040803.png#pic_center
详细学习的是求候选键的标题
[*]唯一标识元组,可以是单个属性,也可以是属性的组合,这是超键
[*]超键大概存在冗余属性,而候选键也是唯一标识元组,但是不会有冗余属性
比如学号,姓名,性别,这几个字段,或者叫属性,属性就是表头,一定要记着
学号和姓名的组合键,可以确定性别的唯一对应关系,就是超键,实际上有冗余,因为学号就能确定性别的唯一对应关系
[*] 这不就是上面讲的部分函数依靠,部分函数依靠就会产生超键
但此时不是候选键,因为有冗余属性,就是有你没你一回事,加你进来就是冗余的
[*] 主键的区别是,主键只有一个,就像选总统一样,候选键其实都可以标识唯一元组,但是只选此中一个为主键
[*] 外键,是别的关系的的主键,是为了对表做关联
员工表,一般设置部分号,和部分表进行关联,部分号肯定是部分表的主键
如何求解候选键(常考!)?
图示法,方便解决复杂标题,假如只是唯一标识元组的线索,复杂标题不轻易求解
https://i-blog.csdnimg.cn/direct/64cda4e517274cec8120edd733834f4a.png#pic_center
例题1求解
1、将关系模式画为图形
https://i-blog.csdnimg.cn/direct/54c580bdfc53439dbb21f75b4f22aa97.png#pic_center
关系中的多个属性,用结点表现
有依靠关系,就用箭头进行指向
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,那个是组合的意思
什么是范式?(必考!)
https://i-blog.csdnimg.cn/direct/e5cd99248d8e473283397d779b634fe8.png#pic_center
从上往下,规范化水平越来越高,但是数据的执行性能越小了
因为进步级别,都是进行数据表的拆分,越高级别,拆分越细,太细又会有性能标题
平衡折中的方式是,拆到第三范式就差不多了
要达到下一级范式,必先达到上一级范式,也就是得渐渐拆分
第一范式要求是什么?1NF只有二级表头才会有第一范式规范标题!
原子值就是,属性不能拆成几个属性
https://i-blog.csdnimg.cn/direct/b542b343ff9f4c038725b5227eddfae1.png#pic_center
属性中的高级职称,又可以划分为两个属性,就不是原子值
如何满足第一范式?
只保存原子值的属性,其他进一步抽象和概括的属性直接删掉即可,原来我们自己做excel表也需要进行规范化,满足这一点
第二范式要求是 什么?2NF,只有组合主键才能有第二范式规范标题!
1、首先确定主属性,也就是主键是谁,清除掉主键
2、把其他键,固然也包括了候选键,所有的部分依靠,都去掉
https://i-blog.csdnimg.cn/direct/16b105a020fe4df6812a02b7857701e9.png#pic_center
门生号,和课程号组合起来,才可以或许确定效果,确定学分,这是一个组合主键
但是其实是有部分依靠的
因为只需要课程号,就可以或许确定学分,而课程号只是主键的一部分,这存在了部分函数依靠了
部分函数依靠会带来哪些标题?
在“规范化理论的代价和用途是什么?”中讲过
1、数据冗余
学分4,存了许多次
但是课程号,是能确定固定的学分的
2、更新非常
学分4,改成2,只改了两条,就是更新非常
3、插入非常
新课程号C08,学分6分
此时还没人选,但是想先录入,就录入不进去
这就是所谓的主键不明确,是无法录入的
4、删除非常
有门生毕业,效果要清除,因为不需要效果了,已经毕业了
但是学分也给清除掉了,学分照旧要保存的,不然怎么留存毕业资料
总之就是把不该删的删掉了,就是删除非常
解决方案是什么?
1、把课程号,和学分,构成一个新的关系模式
2、原来的关系模式中,去掉学分这一列,但是注意课程号要保存,仍旧是组合主键,因为只有门生号和课程号组合,才能确定效果
也就是说,只不过是把冗余非主键,学分,给抽出去,其他的不变
这就是为何都是对非主属性的操作!
第三范式是什么?
https://i-blog.csdnimg.cn/direct/5c712cd47a214cb58d8ac049ca192f7d.png#pic_center
先看这个表,有没有达到第二范式的要求
肯定达到了,一共才一个主键,只要不是组合主键,都能达到第二范式要求
满足了第二范式,只是相对减少了四个方面的标题,其实还大概有提升的空间,具体每方面还有哪些标题?
1、数据冗余许多,一看计算机系,1号楼都是冗余
看来上面部分“规范化理论的代价和用途是什么?”中的例子,其实是第三范式存在标题,因为第一,第二范式标题其实很轻易清除
2、更新非常
之前说了,更新计算机系这个值,没更新完,会有非常
3、插入非常
新建一个系,还没有门生进入这个系,同样无法操作
和第二范式标题有点像,因为同样都是主键不明确的标题,组合主键,和单主键都会有这个标题
4、删除非常
都是怕删多了的标题
解决方案是什么?
是要将非主属性的转达依靠,给打破
看来都是对非主属性的操作
1、就是将系号,系名,系地址,形成一个新的关系
因为后面两个都是转达依靠关系,
门生号可以或许推出系号,系号可以或许推出系名
门生号可以或许推出系号,系号可以或许推出系地址
2、原关系中,去掉系名,系地址,但是注意,系号不能去掉,因为是把转达依靠关系后面的部分去掉即可,没有进一步转达即可
BC范式是什么?
什么是主属性?
主属性,就是属性属于候选键的一部分,第二范式例子中的主属性,是门生号,课程号
[*] 怎么感觉就是主键中的属性,大概只有一个主属性,也大概有多少个
怎么又和候选键有关系了
说把所有候选关键字列出来,任何一个候选关键字中出现过的属性,都是主属性,比如例题2 中的ABCD组合,都是主属性,后面碰到标题再说…
https://i-blog.csdnimg.cn/direct/3140ea45bc2140d883c440d34b40cc69.png#pic_center
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
规范化理论例题求解
https://i-blog.csdnimg.cn/direct/6db155f381b740d9816610b82808c5e2.png#pic_center
选择题,只有相对正确,没有绝对正确,和人一样,因为标题只是人创造的产物
第一问求解
不属于第三范式,两种大概
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
模式分解有哪些要求?
https://i-blog.csdnimg.cn/direct/431ad625ea424c28bdb9e6e023235d4e.png#pic_center
[*]分解前和分解后的函数依靠仍旧存在
如图中,去掉转达函数依靠时,仍旧保持了函数依靠关系,只是把三节酿成两个两节,每一节的依靠关系是不变的
注意,假如有冗余函数依靠,不需要存在
比如还有个A到C的依靠,实际上是冗余的,那么此时上面的R1,R2仍旧是保存了函数依靠的
因为A到B,B到C,是可以或许推导出A到C的,这个无需保存,也能存在
[*] 什么是无损?就是可以还原
进行压缩时,也会用到这个概念,
假如通过联接操作,也就是上面章节学习的,重复表头删除的操作,可以进行还原,就是无损分解
模式分解例题讲解
https://i-blog.csdnimg.cn/direct/6eb9156f506b4bccab94514bef506a32.png#pic_center
1、看看联接操作后,可以或许还原为原始表
学号可以或许确定姓名
所以:效果(学号,姓名,课程号,分数)
2、课程号能确定课程名
所以:效果(学号,姓名,课程号,课程明,分数)
已经还原了原来的关系模式
[*]书上说用列表的方式,其实也是联接操作,无非直观一点,感觉反而麻烦
https://i-blog.csdnimg.cn/direct/f00e76e6e2094c5e97ca402950415231.png#pic_center
https://i-blog.csdnimg.cn/direct/2985e1af42bb444683e848a1163a0ec8.png#pic_center
[*]书上还讲了第二种方法,有范围性,只适合一分为二的情况,就是R酿成R1,R2才行
https://i-blog.csdnimg.cn/direct/f19990ff42004aef9b79cbedecb2c784.png#pic_center
那个拱门一样的符号,是求交集,交,就是只表现去重的这部分,得到A
减去的符号,就是差,在R1中把交的部分去掉,得到B,或者反之得到C
就是看这个交的,重复的部分,能不能确定去除交的,差部分,只要有一个差的部分满足,就能确定是无损分解
显着是关系代数的运算,噼里啪啦一大堆让人看不懂
五、并发控制
https://i-blog.csdnimg.cn/direct/e5db0ca4b4c24a47b7813a9a0a3e8f41.png#pic_center
什么是事务?
事务,把多个操作封装成一个整体
因为许多操作有关联性,要一次性执行完,不然会有标题
比如银行转账,1钱转出,2钱转入,两个要形成事务,不然轻易出标题
要求要么都做,要么都不做,以保证正确
1、就是把事务看成一个原子,不能再拆分,这就是原子性
2、事务执行前后,数据都是一致的,比如转账,钱总数要一致,只是转移,总量不能减少,只转出,没有转入,这就是不一致
3、事务之间,是独立的,互不影响
4、事务执行之后的效果,是持续的
更多地是把事务作为并发控制的前提条件,便于进行并发
并发固然是为了进步操作效率
并发会产生哪些标题?
https://i-blog.csdnimg.cn/direct/ed4834055a8c47c0a4a34cfdb747fd2d.png#pic_center
标题1、T1,T2并发,正常应该减去13,也就是T2在T1的效果之上再减
实际效果只减去了8,因为T2末了执行完毕,写回了,就把T1的效果覆盖了,而不是在T1效果之上再减
标题2、T1执行两次,进步可靠性,期间,T2对A进行了更新,导致T1两次验算效果不一致
标题3、读取到了临时值,T1中有回滚,也就是复原,并且第一步就写回了,导致T2读取到中心的临时数据
什么是封锁协议?也就是什么是X锁,S锁?
https://i-blog.csdnimg.cn/direct/548809f83f4e47a395b2a4a4e2c5e8e3.png#pic_center
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、两段锁协议,可串行化,大概发生死锁
针对死锁标题要怎么办?
要么预防死锁发生
要么发生后进行识别解除
六、数据库完整性约束
有哪几种完整性约束?
https://i-blog.csdnimg.cn/direct/e63157a747ac4271aff4de40c2552ac6.png#pic_center
1、给数据表定义主键,约束主键值不能为空,且不能重复,就是实体完整性约束;
2、外键的完整性约束,员工表,有部分号,设置了参照完整性约束,员工表中的部分号的参数就不能乱填了,必须是部分号主键有的值,才能填,也就是在别人的实体中要存在,假如员工还没有部分,是允许为空的,唯独不能输错
3、年龄,不允许负数,不允许200以上,x>=0,<=200,就是用户自定义完整性约束
都是为了进步数据可靠性的机制,制止标题数据录入进去了
但是都只能应对简单的情况
复杂情况,需要触发器,原来如此,它是做这个用的
触发器怎么约束?
可以写脚本,来约束数据库中的数据
数据库安全措施有哪些?
https://i-blog.csdnimg.cn/direct/31aca26e794e4694af14108a660390a6.png#pic_center
1、身份认证,账户和口令
2、后面学习安全时的访问控制,就是这里的存取控制,就是权限分级
3、加密传输
4、控制视图权限,和权限分级有点类似,但是它是针对表现视图,上面的是针对操作层面的分级
5、事后机制,日记纪录数据库操作
数据备份方式的优缺点?
https://i-blog.csdnimg.cn/direct/219139027a5747059513201c151b620f.png#pic_center
冷备份,有些业务是7*24小时的,不允许制止,文件级别的拷贝,没法精确的表的级别,也就是没法单独对某个表进行备份
热备份不能出错,否则错误会很严重
另一种数据备份的方式?根据备份数据的量进行区分
https://i-blog.csdnimg.cn/direct/69e93d11883b4e76a128957c11e9b1ea.png#pic_center
a、完全备份
b、差量备份,是针对完全备份
c、增量备份,是针对上一次备份,而不管是哪种类型
比如周日,完全备份
周一二三,五六增量备份
周四,差异备份
那么:
1、周日,完全备份一次
2、周一,以上一次完全备份为基准,看是否变革,变革的进行备份
注意,假如周一,系统故障,需要恢复,不能直接恢复周一的增量版本
应该先恢复周日完全备份的版本, 再恢复周一的增量备份版本
3、周二,以周一的备份为基准
4、周三,以周二的备份为基准
假如周三出故障,同样,先恢复周日,再恢复周一,再周二,再周三,看来这个周日的完全备份很重要
这里感受到增量备份不好的地方,速率固然快,但是要恢复就麻烦,每一个增量都要按照时间次序去恢复,才可以或许进行还原
所以就有了差量备份
5、周四,差量备份,是直接针对周日的,以完全备份为基准,总之完全备份的节点很重要
恢复时,先恢复周日完整版,再恢复周四差量备份版本即可
6、其他的略…碰到标题再说
转储,就是备份
两种分类方式结合,形成四种
a、静态+完全,就是静态海量
b、静态+增量,就是静态增量
c、动态海量
d、动态增量
为何需要日记文件?
因为就算所有备份齐备,也不能保证所有数据都能找得回
因为增量备份,也是一天一次,更小颗粒度的操作,就只能利用日记文件了
数据库故障与恢复?
https://i-blog.csdnimg.cn/direct/8734ae886d6b4c43bdd06f30e1593595.png#pic_center
1、Rollback就是回滚
2、通过日记,回退事务的修改
3、系统故障,大概是DBMS,数据库管理系统的,也大概是操作系统的
4、外存故障,也能用日记来重做业务
八、数据仓库与数据挖掘
https://i-blog.csdnimg.cn/direct/56fc8d6c3ac24054a601f499ffd059ab.png#pic_center
流行于BI中
BI 即商业智能(Business Intelligence),数据仓库和数据挖掘都是 BI 的重要构成部分
数据仓库和数据库的差异差异是什么?
数据库,运行久了,有许多历史数据,效率下降,只能删除相对用不到的历史数据,但是直接删了很惋惜,假如企业需要做决议,又大概会用到
这些数据只是对比如收银员系统来说,比力影响效率,但是对除了这个系统之外的,照旧有代价的
历史数据,一般加进去就不改了,归档了
而更加需要大规模的查询,分析,统计,
需要特别的数据库来处理,这就是数据仓库
数据仓库的特点有哪些?
1、不是面向应用,不是平常的业务数据库,而是面向主题的
比如,分析商品主题,抽取各个数据库的商品数据,按照主题来构造数据
一般操作系统是按照业务来构造数据
2、集成式数据,就是日报表,周报表,月报表,平常数据库不会这么干
难怪,我司需要的,是BI系统,而不是仅仅是一个平常的数据库系统
3、进去的数据,不再删除修改
4、隔一段时间,导入一次历史数据
数据仓库的操作步骤怎么理解?
[*]清理,就是做数据格式统一,冗余数据去除
因为抽取时,是从差别数据库抽出来的,大概有些地方不统一
[*] 刷新,就是定期添加数据
[*] 数据集市,就是部分级别的数据仓库
[*] OLAP,就是联机分析处理服务器,
[*] 表层是数据前端的工具
此中,数据挖掘工具比力独特,形态和查询工具有区别,
查询有明确的目标去做,数据挖掘工具,不太明确,可以或许挖掘到人类未知的事物和特性,应用在商业领域,有点像AI
数据挖掘的多种方法有哪些?
https://i-blog.csdnimg.cn/direct/b03b3e74287c459d920803ca049f43b3.png#pic_center
[*]分类分析,是分成差别种别
[*]聚类,是根据共性聚合成大种别
什么是反规范化技能?
物极必反
https://i-blog.csdnimg.cn/direct/fccba746152948749b69459cb226fe6f.png#pic_center
查询工作量太大,几何级数增长处理时间
技能本领都是规范化的逆过程
1、订单纪录中,单价,数量,能计算总额,但是通常增长派生性冗余列,加上总额的列,制止要用总数时,还要再去计算
这就是空间换时间,指的是物理空间
2、效果表,学号,课程号,效果,快速查或人某科多少分,就把姓名,效果名也写进去,查到的纪录直接表现,否则还要做两次关联查询才能表现完整
3、根据查询效率的原则,重新组表,
4、垂直分割,水中分割,看是不是分割之后,查询效率会变快
核心就在于进步查询的效率,捐躯一些空间和规范水平
什么是大数据?
就是对海量数据加以处理
https://i-blog.csdnimg.cn/direct/9de9c5920d8c47c09406327667d9e001.png#pic_center
接触较多的,是对许多差别种别的数据团结分析,得出结论
比如,百度,用了大数据分析
用户cookie,被售卖
和传统数据技能有哪些区别?
https://i-blog.csdnimg.cn/direct/d0cf6befa40e49ce944de664f6c31258.png#pic_center
量变引起质变
高扩展,高性能,高容错,异构就是高性能,都是集群能支持的
每每和云计算,虚拟化,结合起来进行分析
云计算利用闲置资源,成本较低
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]