2021-05-23软考数据库知识点总结

三级模式-两层映射


所谓的三级模式为外模式,概念模式,内模式。

外模式又被称为用户模式,让用户和引用程序打交道,对数据结构的逻辑描述,操作数据的逻辑。(呈现为视图级)
内模式又被称为存储模式。讲数据结构的物理存储,主要考虑到数据到底用什么方法存储。形成文件级结构
概念模式不用管是如何存储的以及如何访问 数据库的技术,其又被称为模式,主要表现为表级结构
何为两层映射

外模式和模式的映射
模式和内模式的映射
映射的作用是为了让数据具有独立性,让数据和程序进行分离。数据的物理独立性在模式和内模式的映射中。当数据在物理结构上发生了变化,只需要改变次层映射。当数据的逻辑独立性发生变化时。我们只需要改变外模式和模式之间的映射关系

数据库的设计过程

四个阶段及对应的产物

需求分析–>需求说明书,数据流图,数据字典
概念结构设计–>ER模型
逻辑结构设计–>关系模式
物理设计–>物理设计
ER模型
反应实体和实体之间的关系


图的映射关系表

图    代表什么
矩形    实体
菱形    联系
椭圆形    属性
矩形加两条竖线    弱实体(上图中的经历和服务员就是弱实体)
椭圆形    属性
矩形加两条竖线    弱实体,是某一个实体的特殊化,线上也会加上一个点(上图中的经历和服务员就是弱实体)
ER模型-1对1的联系

校长和学长就是一对一的关系,任职就是他们之间的联系。下面图中的每一个实体就可以制作一张表。表中使他们的属性。联系也可建立一张表,每张表中的主键是唯一的。具有代表性的属性。对于他们之间的关系模式可以写成右边两种方式,联系可以并到校长表上,也可以并到学校表上**


所以1对1的的联系表两端都可以并

ER模型-1对n(多)的联系

1个客户对应多个账户,一个账户对应一个客户

1:n(多)的情况只能将联系关系往多的一方并

ER模型-m(多)对n(多)的联系

1个学生可以选多们课,一个课也对应多个学生。

多对多的联系必须产生一个新表

E-R模型特点总结
一个实体转换为一个关系模式
联系转关系模式的注意点如下:
1:1的联系可以将联系合并至任意一段的实体关系模式中。
1:n的联系可将联系合并至n端实体关系模式中。
m:n联系 :联系必须单独转换成关系模式

3.三个以上实体间的一个多元联系

关系代数
并,交,差运算

所有运算,主要是看主键(主码)

笛卡尔集
它的符号就是乘号

看上面s1和s2两张表,它们分别有三条记录。3乘以3等于九,所以笛卡尔积的表有9条记录

投影
这里的投影其实就是将表的属性做投影,把选择的属性再做一张表

选择
就是过滤掉不符合条件的表的记录

自然连接
投影、选择和笛卡儿积这一系列组成了自然连接

两个关系R和S的自然联接操作具体计算过程如下:

计算R×S ;
设R和S的公共属性是A1,…,AK,挑选R×S中满足R.A1=S.A1,…,R.AK=S.AK的那些元组;
③去掉S.A1,…,S.AK这些列。

规范化理论
规范化理论的产生
先看下面的一张表

从上表可以看出上面的选修课程名,任课教师名,任课教师地址等数据都产生了数据冗余,如过需要修改这张表将会很容易出现修改异常,比如我们需要修改数学课上课的地址,如果只修改一个是肯定不行的,需要修改多个,只要有数据冗余还会出现插入异常,删除异常问题

所以我们需要要对某些表结构进行规范化,并解决下列的极大问题:

数据冗余
修改异常
插入异常
删除异常
所以最后需要将此张表进行拆分

规范化理论-依赖
设R(u)是属性U上的一个关系模式,X和Y是U的子集,r为R的任一关系,如果对于r中的任意两个元组u,v,只要有u[x] =v[x],就有u[y] =v[y],则成x函数决定y,或称之为Y函数依赖于x,记为x->y

看下面的图,小学生都应该能理解什么是部分函数依赖,什么是传递函数依赖


规划化理论-键
候选码(键):唯一标志元组(一条记录,表中的一行),且无冗余,候选键可以是多个
主键:在候选键上任选一个都是主键
其他关系表的主键
求候选键
图示法求候选键

将关系的函数依赖关系,用有向图的方式表示
找出入度为0的属性,并以该属性集合为起点,尝试遍历所有有向图,若能正常遍历图中所有节点,则该属性即为关系模式的候选键
若入度为0的属性集不能遍历图中的所有节点,则徐亚so尝试性的将一些中间节点(即有入度,也有出度的节点)并入入度为0的的属性集中,直至该集合能遍历所有节点
看下面的三个例题

画图:

分析得a1能走完全图所以候选码是a1

分析能得出 ABCD才是候选码

规范化理论的主属性和非主属性
组成候选码的属性就是主属性,其它的就是非主属性

规范化理论-范式
第一范式:在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,

上面因为高级职称人数使得不是第一范式,变成第一范式的方法是拆

第二范式:当且仅当关系模式R是第一范式(1NF),且每一个非主属性完全依赖于候选键(没有不完全依赖),也就是第二范式没有部分函数依赖
第三范式是在第二范式的基础上去除传递函数依赖
BC范式:在第三范式的基础上,F依赖集中每个依赖的决定因数必定包含R的某个候选码


规范化理论模式分解
设数据库模式p={R1,R2,…Rk}是关系模式R的一个分解,F是R上的函数依赖集,p中的每个模式Ri上的FD集是Fi。如果{F1,F2,…,Fk}与F是等价的(即相互逻辑蕴含),那么分解p保持FD。

看例题:

上图中:第一个分解的所有依赖关系都保持了,而第二个A->BC BC->E的两个依赖关系没保持所以不行

无损分解
有损分解是分解之后就不能还原原来的依赖关系了,反之这就是无损失分解,指将一个关系模式分解成若干个关系模式后,通过自然连接和投影灯运算扔能还原原来的关系模式

将最大的成绩表分解后的三个表还可以还原到原来的成绩表就是无损分解

表格法求解是否是无损分解:
将上一张图的分解的三个模式的属性画成如下表所示

如果根据已有的依赖关系能将表上的一行的所有属性都打勾说明是无损分解

sql语句
这东西对于程序员也在熟悉不过了,我这里只过一遍
建表:


主键-PRIMARY KEY
外键-FOREIGN KEY
删除表

选择查询


插入,修改


并发控制
事物的几大特性

原子性
一致性
隔离性
持续性


s锁是共享锁,x锁是排他锁

数据库完整性约束
实体完整性约束 (主键不为空,唯一)
参照完整性约束 (外键有的话一定要索引,要么没有)
用户自定义完整性约束
————————————————
版权声明:本文为CSDN博主「阿锋不知道丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43342105/article/details/109160332

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值