软考-高级架构师冲刺精华 二 数据库

数据库考点汇总

基本概念:三级模式-两级映像、数据库设计

数据库模型:E-R模型、关系模型、关系代数(结合SQL语言)

规范化:函数依赖、键与约束、范式、模式分解

事务并发:并发三种问题、三级封锁协议

数据库新技术:数据库安全与备份、反规范化、分布式数据库、缓存数据库、数据库集群,NoSql

案例考点:ER图+关系模式设计、反规范化技术、缓存数据库等新技术。

202311选择题考察约4-5分:范式(传递依赖和2NF,多值依赖和4NF)、数据库

语句(having+ group by )、三级模式、202311案例考察:读写分离、主从复制、redis 缓存数据库

用户A1用户A2用户A3用户BI用户B2主语言主语言主语言主语言主语言+ DMI + DMI + DMI + DMI tDMI 外模式外部视图A外部视图B外模式/概念模式外模式/概念模式由数据库映像A映像B管理员建数据库立和维护管理系概念模式概念视图统DBMS概念模式/内模式映像内模式数据库(内部视图)

三级模式-两级映像

◆内模式:管理如何存储物理的数据,对应具体物理存储文件。

模式:又称为概念模式,就是我们通常使用的基本表,根据应用、需求将物理数据划分成一张张表。

外模式:对应数据库中的视图这个级别,将表进行一定的处理后再提供给用户使用

外模式一模式映像:是表和视图之间的映射,存在于概念级和外部级之间,若表中数据发生了修改,只需要修改此映射,而无需修改应用程序。

:是表和数据的物理存储之间的映射,存在于概念级和内部级之间,若修改了数据存储方式,只需要修改此映射,而不需要去修改应用程序。

数据库设计

求、系统要求。当前和未来应数据处理要求(2)概念结构设计:就是设计E-R图,也即实体-联系图。工作步骤用的数据要求Ψ数据流图包括:选择局部应用、逐一设计分E-R图、E-R图合并。需求分析数据字典需求说明书主要有以下3类。◆属性冲突。同一属性可能会存在于不同的分E-R图中。Ψ→概念结构设计ER模型◆命名冲突。相同意义的属性,在不同的分E-R图上有着不同的命名,用户的数据模型或是名称相同的属性在不同的分E-R图中代表着不同的意义。(即与DBMS无关转换规则、规范化理论的概念模型)◆结构冲突。同一实体在不同的分E-R图中有不同的属性,同一对象:逻辑结构设计关系模式在某一分E-R图中被抽象为实体而在另一分E-R图中又被抽象为属性。视图、完整性约束(3):将E-R图,转换成关系模式。工作步骤包括:确及应用处理说明书DBMS特性定数据模型、将E-R图转换成为指定的数据模型、确定完整性约束和物理设计确定用户视图。硬件、0S特性(4)物理设计:步骤包括确定数据分布、存储结构和访问方式。(5)。根据逻辑设计和物理设计阶段的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。(6)阶段。数据库应用系统经过试运行即可投入运行,但该阶段需要不断地对系统进行评价、调整与修改。

(1)需求分析:即分析数据存储的要求,产出物有数据流图、数据

字典、需求说明书。获得用户对系统的三个要求:信息要求、处理要

考试真题

A.外模式B.模式C.内模式D.用户模式

5.采用三级模式结构的数据库系统中,如果对一个表创建聚簇索引,那么改变的是数据库的()。

6.假设系统中有正在运行的事务,若要转储全部数据库,则应采用()方式。

A.静态全局转储B动态增量转储C.静态增量转储D动态全局转储

函数依赖

◆给定一个X,能唯一确定一个Y,就称X确定Y,或者说Y依赖于X,例如Y=X*X函数。

函数依赖又可扩展以下两种规则:

◆部分函数依赖:A可确定C,(A,B)也可确定C,(A,B)中的一部分(即A)可以确定C,称为部分函数依赖。◆传递函数依赖:当A和B不等价时,A可确定B,B可确定C,则A可确定C,是传递函数依赖;若A和B等价,则不存在传递,直接就可确定C。

AB

部分函数依赖

传递函数依赖

◆候选键:超键中去掉冗余的属性,剩余的属性就是候选键。

主键:任选一个候选键,即可作为主键。

外键:其他表中的主键。

主属性:候选键内的属性为主属性,其他属性为非主属性。

函数依赖

◆函数依赖的公理系统(Armstrong )

设关系模式R<U,F>,U是关系模式R的属性全集,F是关系模式R的一个函数依赖集。对于

R<U,F>来说有以下的:

◆自反律:若YCXCU ,则X→Y为F所逻辑蕴含

◆增广律:若X→Y为F所逻辑蕴含,且ZCU,则XZ→YZ为F所逻辑蕴含

◆传递律:若X→Y和Y→Z为F所逻辑蕴含,则X→Z为F所逻辑蕴含

◆合并规则:若X→Y,X→Z,则X→YZ为F所蕴涵

◆伪传递率:若X→Y,WY→Z,则XW→Z为F所蕴涵

◆分解规则:若X→Y,ZCY,则X→Z为F所蕴涵

考试真题

7.给定关系模式R(U,F),其中U为属性集,F是U上的一组函数依赖,那么函数依赖的公理系统(Armstrong 公理系统)中的分解规则是指()为F所蕴涵。

A.若X→Y,Y→Z,则X→YB.若YCXU,则X→Y

C.若X→Y,ZCY,则X→Z

D.若X→Y,Y→Z,则X→YZ

5&6.某企业开发信息管理系统平台进行E-R图设计,人力部门定义的是员工实体具有属性:员工号、

姓名、性别、出生日期、联系方式和部门,培训部门定义的培训师实体具有属性:培训师号,姓名和职称,其中职称={初级培训师,中级培训师,高级培训师},这种情况属于(5),在合并E-R图时,解决这一冲突的方法是(6)

B.结构冲突

A.属性冲突

C.命名冲突

D实体冲突

A.员工实体和培训师实体均保持不变

B.保留员工实体、删除培训师实体

C.员工实体中加入职称属性,删除培训师实体

D将培训师实体所有属性并入员工实体,删除培训师实体

范式

◆第一范式1NF:关系中的每一个分量必须是一个不可分的数据项

◆实例:用一个单一的关系模式学生来描述学校的教务系统:学生(学号,学生姓名,系号,系主任

姓名,课程号,成绩)

◆依赖关系(学号->学生姓名,学号>系名,系名->系主任姓名,(学号,课程号)->成绩)

学号学生姓名。所在系。系主任姓名课程号成绩。201102张明计算机系。章三0470201103王红。计算机系。章三0560201103王红计算机系。章三。0480201103王红计算机系。章三0687201104李青机械系王五0979…

范式

◆第二范式:如果关系R属于1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R属于

2NF。通俗地说,2NF就是在1NF的基础上,表中的每一个非主属性不会依赖列。按照定义,上面的学生表就不满足2NF,因为学号不能完全确定课程号和成绩(每个学生可以选多门课)。将学生表分解为:

◆学生(学号,学生姓名,系名,系主任)

◆选课(学号,课程号,成绩)。

每张表均属于2NF。

◆第三范式:在满足1NF的基础上,表中不存在非主属性对码的传递依赖。

◆继续上面的实例,学生关系模式就不属于3NF,因为学生无法直接决定系主任,是由学号->系

名,再由系名>系主任,因此存在非主属性对主属性的传递依赖,

学生(学号,学生姓名,系名)

系(系名,系主任)

选课(学号,课程号,成绩)

每张表都属于3NF。

范式

若关系模式R(U)中,X、Y、Z是U的子集,并且Z=U-X-Y。当且仅当对R(U)的任何一个关系T,给定

一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关,则称“Y多值依赖于X”或“X多值决定Y”成立。记为:X→→Y。(若Z为空集是平凡的多值依赖,Z不为空是非平凡)多值依赖具有如下6条性质:

·多值依赖具有对称性。即若X→→Y,则X→→Z,其中Z=U-X-Y。

·多值依赖的传递性。即若X→→Y,Y→→Z,则X→→Z-Y。

·函数依赖可以看成是多值依赖的特殊情况。

若X→→Y,X→→Z,则X→→YZ。

若X→→Y,X→→Z,则X→→Y∩z。【定义7.14】关系模式R∈1NF,若对于R的每个非平凡多值依赖X→→Y且YX时,

若X→→Y,X→→Z,则X→→Z-Y。X必含有码,则关系模式R(U,F)∈4NF。

4NF是限制关系模式的属性间不允许有非平凡且非函数依赖的多值依赖。

注意:如果只考虑函数依赖,关系模式最高的规范化程度是BCNF;如果考虑多值依赖,关系模式最高的规范化程度是4NF。

凡多值依赖关系。

根据4NF的定义可知,4NF所允许的非平凡的多值依赖实际上就是函数依赖,4NF就是消除表中的非平

范式

实例:有一个用户联系方式表TELEPHONE (CUSTOMERID ,PHONE ,CELL)。

CUSTOMERID 为用户ID,PHONE 为用户的固定电话,CELL为用户的移动电话。这是一个非常简单的BCNF。主键为CUSTOMERID 。如果只有一个固定电话和移动电话,这个表就没问题。

但是,如果用户有两个固定电话,两个移动电话。这时,表的具体表示如下:

CELL

CUSTOMERID PHONE

10008828-123414908888888810008838-1234149099999999

由于PHONE 和CELL是互相独立的,而有些用户又有两个和多个值。这时此表就违反第四范式,因为其非主属性互相独立且含有多值。

在这种情况下,此表的设计就会带来很多维护上的麻烦。例如,如果用户放弃第一行的固定电话和第

二行的移动电话,那么这两行会合并吗?解决问题的方法为,设计一个新表ENEW PHONE (CUSTOMERID ,NUMBER ,TYPE).这样就可以对每个用户处理

不同类型的多个电话号码,而不会违反第四范式。

显然,第四范式的应用范围比较小,因为只有在某些特殊情况下,要考虑将表规范到第四范式。所以在实际应用中,一般不要求表满足第四范式。

考试真题

试题(6)、(7)

给出关系R(UF),U={A,B,C,D,E},F={A→B,D→C,BC→E,AC→B},求属性闭包的等式成立的是(6)。R的候选关键字为(7)。

(6)A.(A)=UB.(B)=U(

C. (AC) = U D. (AD);=U

(7) A. AD

B. AB

C. AC

D. BC

5.数据库的安全机制中,通过提供(5)供第三方开发人员调用进行数据更新,从而保证数据库的关系模式不被第三方所获取。

A.索引

B.视图

C.存储过程

D.触发器

关系代数

◆笛卡尔积:S1*S2,产生的结果包括S1和S2的所有属性列,并且S1中每条记录依次和S2中所有记录组合成一条记录,最终属性列为S1+S2属性列,记录数为S1*S2记录数。◆投影:实际是择某关系模式中的某列,列也可以用数字表示。

◆选择:实际是按条件选择某关系模式中的某条记录。

S1×S2(笛卡尔积)

Sno

Sname

Sdept

Sno

Sname

Sdept

关系S1

No0001

Mary

15

No0001

Mary

15

Sno Sname Sdept No0001Mary Is No0003Candy ISNo0004Jam IS

关系S2Sno Sname Sdept No0001Mary ISNo0008Katter ISNo0021IS Tom

No0001Mary 5No0008Katter IS No0001Mary I5No0021Tom ISNo0003Candy I5No0001Mary I5No0003Candy Is No0008Katter No0003Candy ISNo0021Tom I5No0004Jam I5No0001Mary 5No0004Jam 15No0008Katter 5No0004Jam I5No0021Tom IS (选择)5no Sname Sdept

(投影)Sno Sname No0001Mary No0003Candy No0004lam

No0003

Candy

Is

关系代数

◆自然连接的结果显示全部的属性列,但是相同属性列只显示一次,显示两个关系模式中属性相

设有关系R、S如下左图所示,自然连接结果如下右图所示:

ABCabcbadcdedfg

ACDa Cdf8g。d

ABCD4bcdbadg

RDS

(a)关系R

(b)关系S

SQL语句关键字

◆数据库查询select …from…where ;

◆分组查询group by ,分组时要注意select.后的列名要适应分组,having 为分组查询附加条件:

select sno, avg (score) from student group by sno having (avg (score)>60)

◆更名运算as:select sno as “学号”fromt 1◆字符串匹配like,%匹配多个字符串,匹配任意一个字符串:select *from t 1where sname

like a

◆数据库插入insert into …values ):insert into t 1values (a',66)

◆数据库删除delete from …where :delete t 1where sno =4

数据库修改update …set.where :updatet 1set sname ='aa'where sno =3

◆排序Forder by ,默认为升序,降序要加关键字DESC:select *fromt 1order by sno desc

◆DISTINCT :过滤重复的选项,只保留一条记录。

UNION :出现在两个SQL语句之间,将两个SQL语句的查询结果取或运算,即值存在于第一句或第二句都会被选出。

INTERSECT :对两个SQL语句的查询结果做与运算,即值同时存在于两个语句才被选出。

MIN、AVG、MAX:分组查询时的聚合函数

考试真题

8.给定关系R(A,B,C,D)和S(A,C,E,F),以下()与R.B>S.E(RS)等价。A. 02>7(RxS)B.π1,2,3,4,7,8(a1=5∧2>7∧3=6(RxS))

C.a2>'7'(RxS)D.π1,2,3,4,7,8(a1=5∧2>7'∧3=6(RxS))

分布式数据库两阶段提交协议中的两个阶段是指(12)。

A.加锁阶段、解锁阶段

B.获取阶段、运行阶段

D.扩展阶段、收缩阶段

C.表决阶段、执行阶段

考试真题

给定元组演算表达式R*={t(3u)(R(t)S(u)t[3]<u[2]),若关系R、S如下图所示,则()。

ABC、23456789101112

ABC371156591361014

R

S

A.R*={(3,7,11),(5,9,13),(6,10,14)}

B.R*={(3,7,11),(4,5,6),(5.9,13),(6,10,14)}

C.R*={(1,2,3),(4,5,6),(7,8,9)}

D.R*={(1,2,3),(4,5,6),(7,8,9),(10,11,12)

案例考点

特征关系数据库模式NoSQL 模式并发支持支持并发、效率低并发性能高存储与查询关系表方式存储、SQL查询海量数据存储、查询效率高扩展方式向上扩展向外扩展索引方式B树、哈希等键值索引应用领域面向通用领域特定应用领域。数据一致性实时一致性弱一致性数据类型结构化数据非结构化事物高事务性弱事务性水平扩展弱强数据容量有限数据海量数据

比较实例

案例考点

主要数据模型读写性能存储容巢可靠性key-Value 模式内存直接读写基于内存存储恢复机制复杂内存数据库(键-值对模式)性能相对较高存储容量受限可靠性较低外存读写,性能基于存盘存储,内建恢复机制关系数据库关系模式相对较低存储容巢太可靠性较

设计难度数据元余程度数据架构应用扩展性关系型针对特定应用系遵守数据库范式,数以数据库为中数据库独立于应用系统,数数据库统设计,难度较据冗余较小心组织,管理据库系统接口标准化,易于大数据在不同应用之间共享数据文件系针对特定应用系可能在多个文件中以应用为中心符合特定应用系统要求的统。统设计,难度较复制相同的数据属管理数据文件数据很难在不同的应小性,数据冗余较大用系统之间共享

案例考点

反规范化技术:规范化设计后,数据库设计者希望牺牲部分规范化来提高性能。

采用反规范化技术的益处:降低连接操作的需求、降低外码和索引的数目,还可能减少表的数目,率。

可能带来的问题:数据的重复存储,浪费了磁盘空间;可能出现数据的完整性问题,为了保障数据的一致性,增加了数据维护的复杂性,会降低修改速度。

具体方法:

(1)增加冗余列:在多个表中保留相同的列,通过增加数据冗余减少或避免查询时的连接操作。(2)增加派生列:在表中增加可以由本表或其它表中数据计算生成的列,减少查询时的连接操作并避免计算或使用集合函数。

(3)重新组表:如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个

(4)水平分割表:根据一列或多列数据的值,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。

(5)垂直分割表:对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中,在查询时减少/O次数。

案例考点

数据库集群:分为主从库客户端携带session 的cookie 主从复制负载均衡器读写分离>学费视频直播学视频直播web应用web应用应用服务器1应用服务器2写读学员表视频表5直播表数据库数据库主库从库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值