【软考】上午题4-数据库-中级软件设计师备考笔记
结构数据模型
层次模型,用树结构
网状模型,用图结构
关系模型,用二维表格结构
三级模式结构
概念模式(模式) 基本表
外模式(用户模式,子模式) 视图
内模式 存储文件
表示层、业务层、数据层
两级映像
模式/内模式映像,与物理有关,改物理改映像
外模式/模式映像,与逻辑有关,改逻辑改映像
保证逻辑独立性和物理独立性
关系模式基本知识
{:height 338, :width 597}
重点是:什么是候选码、主码、主属性
完整性
实体完整性:主码不能为空或部分为空
参照完整性:外码在主码对应,要么找到,要么为空值
连接
西塔连接,也就是在笛卡尔积的基础上有比较的筛选
等值连接,也就是西塔连接中,=
自然连接,去除重复属性的等值连接(相同属性相等)
外连接:
左外连接,沙漏左边有长横,左边信息必须有留,对应右侧若无信息可留空
右外连接和全外连接同理SQL
数据定义语言 DDL
数据操纵语言 DML
数据查询语言 DQL
数据控制语言 DCL
一堆 SQL 的简单填空
SQL 访问控制
grant 权限 on 对象 to 用户
要是有 with grant option ,那么获取权限的用户还能赋予其他用户权限revoke 权限 on 对象 from 用户
public 是全体用户
视图
with check option 操作后保证更新
这是个虚拟表,可从一个或多个基本表或视图中导出
索引
对内模式做修改(存储文件内容)
关系模式
R<U,F> U 是一组属性,F 是一组函数依赖
函数依赖 X->Y
非平凡函数依赖 X->Y, Y不包含于X
平凡函数依赖 X->Y,Y包含于X
完全函数依赖 X->Y,但 X 中任意真子集都不能决定 Y,比如(学号,课程号)-> 成绩
传递依赖 X->Y, Y->Z,则 Z 对 X 传递依赖候选码 能决定 U 的最小属性组,可能有多组,多组时选一个为主码,也可说是最小超码
超码 能决定 U 的属性组合,比如全码也算,不唯一阿姆斯特朗公理
范式
第一范式:1NF 要求值域都是原子项,即不可分割的数据项(比如工资还可以分为基础工资和绩效的情况下则不能说是不可分割),不过不能排除数据冗余和更新异常的问题,因为非主属性对候选码可能存在部分函数依赖
比如:
各属性皆为原子项。成绩完全依赖于学号和课程号,但姓名、学院、院长部分依赖于学号,而课程名部分依赖于课程号,存在部分函数依赖
第二范式,在 1NF 的基础上,要求每个非主属性都完全函数依赖于候选码,但仍可能有删除异常或修改异常,因为非主属性对候选码可能有传递函数依赖
比如
在确定学号和课程号为主属性后,就把完全依赖他们的属性分离出来成一个表第三范式,在 2NF 的基础上,把传递函数依赖的部分取出,再多生成一个表,但主属性对码可能存在部分函数依赖、传递函数依赖
比如
{:height 178, :width 512}
发现学院->院长属于传递数据依赖,可以分离出来BC范式,BCNF,在3NF的基础上,消除了主属性的部分函数依赖和传递函数依赖
例题:
判断此题的范式等级,易得满足 2NF,候选码为 (时间,学生),由于伪传递律,(时间,学生)->课程->教师,不满足 3NF无损连接
可以用自然连接恢复
保持函数依赖
从题目的角度,只要分离后的关系模式都各自满足已有的函数依赖就行
从此题巩固上面两个点的知识好力,首先,两个分解后的关系模式没有 A4,可见并不能用自然连接恢复,故为有损链接;然后,(A1,A2)两个函数依赖都不满足,(A1,A3)只满足第一个函数依赖,故不保持函数依赖数据库设计
步骤:
- 用户需求分析, 确定系统边界,成果为系统需求分析树,包括请求说明文档,数据字典,数据流图
- 概念设计 ER图
- 逻辑设计 ER图转关系模式,关系规范化
- 物理设计 几乎不考
ER图冲突
属性冲突,同一属性,在不同的分ER图的类型,数据范围等不一样,需要统一
命名冲突,相同含义的数据在不同的分 ER图 有不同的名字,或同一名字的属性在不同的分 ER图 有不同的含义
结构冲突,比如某 ER图的属性在另一个 ER 图中分为实体,需要统一
事务特性
原子性,事务要么完成,要么不完成,无中间状态
一致性,数据库从一个一致性状态到另一个一致性状态
隔离性,事务之间是隔离的
持久性,一个提交的事务带来的改变即使数据库崩溃也存在
并发控制技术
X锁 排他锁,若事务 T 对数据对象 A 施加排他锁,在该锁被释放前,只有 T 能对 A 做读写操作
S锁 共享锁,若事务 T 对数据对象 A 施加共享锁,那么在锁释放前,T 只能读取 A,其它事务也能对 A 加 S 锁来读
分布式数据库
*分片透明,用户不需要知道访问的表如何分块存放
复制透明,用户不需要知道复制过程
*位置透明,用户不需要知道数据存放物理位置
*逻辑透明,用户不需要知道使用的数据模型共享性,数据存储在不同节点共享
自治性,每节点在本地独立管理
*可用性,某个场地故障时,可使用其它场地副本,避免瘫痪
分布性,数据在不同场地存储故障
事务故障,事务内程序故障,比如除0
系统故障(软故障),造成系统停机的故障,停电等
介质故障,可能性最小,破坏性最大,硬盘损坏等
计算机病毒
数据字典
存对应视图定义