软件设计师教程-数据库

三级模式两级映射

在这里插入图片描述
两级映射:
外模式和概念模式映射 也就是如果表发生改变我们只需要改视图而不需要改应用程序
概念模式和内模式映射 也就是如果存储结构发生了改变我们只需要改变这种映射关系不需要修改应用程序
三级模式:
物理数据库:就是电脑中的一个文件
内模式:我们如何存储数据 以什么格式存储在物理数据库中 如何优化
概念模式:就是用数据库中的表
外模式:对应的是数据库中的视图 视图方便了表的使用 表中的几个列组成了视图

E-R模型在这里插入图片描述

关系代数

两个表中相同的元素只显示一次 不相同的还会保留

只显示两个表中相同的元素
在这里插入图片描述

例如S1-S2表 就是显示S1中有S2中没有的

笛卡尔积 ×

投影(选列)

除了图中这样写 图中的等价形式是 π1,2(S1)

选择(选行)

选择一样是这样的等价形式
在这里插入图片描述

链接

在这里插入图片描述
一般不写条件的(图中就是)就是自然链接 也就是数据相同的链接在一起
大多数是会写值的例如S1.Sno = S2.Sno

规范化关系模式的作用

解决 数据冗余 更新异常 插入异常 删除异常的问题

超键

唯一标识的元组

候选键

是消除了多余属性的超键
例如 学号 姓名 性别
学号可以唯一确定性别
学号和姓名的组合键可以唯一确定性别
所以学号是超键也是候选键 但是学号和姓名的这个组合键就只是超键 不是候选键

主键

候选键和主键的区别就是 候选键可以由多个 而主键只能有一个 主键是候选键中选的一个
例如 学号和身份证号都是唯一标识一个人的 这两个都是候选键 这两个都有资格作为主键 但是只能选一个作为主键 不能同时为主键

快速找出候选键

在这里插入图片描述

例1(找入度为0)

先找入度为0的 也就是没有指向他的 图一中是A1 如果从他能遍历整个图 则他是候选键

例2(组合键为候选键)

一定要注意ABD的画法 不能单独指向 答案是ABCD的组合键是候选键

例3(没有入度为0的怎么办)

若没有入度为0的节点 或者入度为0的节点不能遍历图中所有节点 则尝试一些既有入度又有出度的节点 答案A和B

范式

在这里插入图片描述
原子值:属性不能被拆分为其他属性

第一范式

只有原子值
在这里插入图片描述
图中那个就不是第一范式 因为高级职称人数就不是原子值 可以分为教授和副教授 如果把高级职称人数删掉就是第一范式

第二范式

在第一范式的前提下每一个非主属性完全依赖主键(不存在部分依赖)
在这里插入图片描述
CREDIT是学分 GRADE是成绩 CNO是课程号 SNO是学号
学号和课程号的组合键决定成绩
课程号决定学分
主属性是课程号和学号的组合键 但是学分部分依赖于课程号 所以如果把学分删掉 才是第二范式

部分依赖

通过AB能得出C,通过A也能得出C,通过B也能得出C,那么说C部分依赖于AB。
如果只有单主键 也就是没有组合键为主键 则不可能有部分依赖

完全依赖

通过AB能得出C,但是AB单独得不出C,那么说C完全依赖于AB.

非主属性

不包含在任何一个候选码中的属性称为非主属性。非主属性是相对与主属性来定义的。

主属性

在一个关系中,如果一个属性是构成某一个候选关键字(候选码)的属性集中的一个属性,则称它为主属性

第三范式

在这里插入图片描述
在第二范式的前提下 没有非主属性传递依赖

传递依赖

通过A得到B,通过B得到C,但是C得不到B,B得不到A,那么成C传递依赖于A

BC范式

在这里插入图片描述
简单来说就是把所有函数依赖写出来 左边那部分都是主属性
图中SJ是可以是候选键 ST也可以是候选键 所以S和J和T都是主属性
但是把函数依赖写出来 SJ->T T->J SJ是主属性 但是T不是

模式分解

有损无损分解

有损:不能还原
无损:可以还原
在这里插入图片描述
这是无损分解 可以通过连接操作还原原来的表

用表还原表

在这里插入图片描述
a的意思就是拆分后的成绩关系模式有学号这个字段 a1的意思是第一列
b代表这个关系模式没有这个字段 数字一样代表行列
如果像第二行 有两个连续的a 而另外一行有一个a一个b 例如成绩和学生那两行的学号和姓名 就说明可以将学生关系模式和成绩关系模式做一个连接 可以将b12变成a2在这里插入图片描述
如果一行都是a则代表无损

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值