数据库系统第七周小结

数据库系统

2023-4-3~2023-4-9

第七周小结

第十三讲–数据库设计之模式分解

1.模式分解
在这里插入图片描述
在这里插入图片描述
规则1–投影连接可能会增加信息;
规则2–投影连接的投影与原模式的投影相等;
规则3–投影连接的投影连接不会再增加信息(只有第一次投影连接增加);
2.当模式不符合关系范式时,进行模式分解;
例如R(A,B,C,D,E,F,G)有函数依赖集合{A→B,A→C,C→D,C→E,E→FG};
模式分解为ρ={R12(A,B,C),R34(C,D,E),R5(E,F,G)};(也可以将所有的函数依赖单独分解为一个关系)
3.无损连接分解
若原关系与投影连接后的关系相等,则为无损连接分解;
在这里插入图片描述

4.无损连接检验算法
输入:关系模式R=A1A2…An,函数依赖集合F,分解ρ={R1,…,Rk};
输出:ρ是否为无损连接分解
方法:
(1)构造k*n的Rρ表,其中第j列对应Aj,第i行对应Ri;若Aj∈Ri,则第i行第j列填入aj,否则为bij;
(2)任意的X→Y∈F,对Rρ表进行如下修改:
给定X→Y,表中寻找对应于X中所有属性分量之列上符号全相同的行,若找到则给这些行的对应与Y中属性的列以相同符号(有aj的都赋值为同一个aj,否则选取最小的bij进行全体赋值)
(3)在(2)中若发现某一行全为a(即存在一行为a1,a2,…,an),则ρ是无损连接分解;
(4)反复遍历F,直至没有表项被修改,若始终不满足(3),则ρ是有损连接分解;
在这里插入图片描述
5.验证ρ是否是无损连接分解[定理]
在这里插入图片描述

6.无损连接分解的性质
(b)原分解是无损连接分解,再新增关系仍为无损连接分解;(原分解的Rρ表中有一行均为a了,再新增几行不改变原来的行)
在这里插入图片描述
7.保持依赖分解
在这里插入图片描述
8.保持依赖的分解可能不是无损连接的;无损连接的分解可能不是保持依赖的;
9.保持依赖性检验算法
输入:关系模式R=A1A2…An,R上的函数依赖集合F,分解ρ={R1,…,Rk};
输出:ρ是否保持依赖;
方法:,只需检查G是否覆盖F;
(1)对每个X→Y∈F计算G中的(若X不包含于Ri则无需计算)
Z=X;while Z的变化发生 do {for i=1 to k do{Z = Z∪(∩Ri}}
(2)判断G是否逻辑蕴涵X→Y:Z是X+,若Z包含Y则G逻辑蕴涵X→Y;
(3)判断ρ是否保持依赖:若G逻辑蕴涵F中的每一个函数依赖,则ρ是保持依赖的分解;
在这里插入图片描述

10.关系模式分解
(1)分解为BCNF–左侧不含候选键的函数依赖单独组成一个关系,包含候选键的组成一关系;
在这里插入图片描述
(2)分解为3NF–每一个函数依赖单独组成一个关系–是保持依赖分解;
在这里插入图片描述
(3)保持依赖分解+无损连接分解(分解为3NF范式,再新增候选键单独的关系模式)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)分解成4NF–无损连接分解
在这里插入图片描述

11.连接依赖(不用管)
在这里插入图片描述
12.5NF
在这里插入图片描述
13.遵循关系范式原则避免了冗余、插入异常、删除异常等问题,但查询速度较慢;

第十四讲–数据库物理存储

1.存储体系–数据组织的基础
将不同性价比的存储器组织在仪器,满足高速度、大容量、低价格需求;
CPU与内存直接交换信息,按存储单元(存储字)进行访问;
外存按存储块进行访问,信息需要先进入内存才可被CPU处理;
2.操作系统对数据的组织
Windows,FAT(文件分配表)-目录(文件夹)-磁盘块/簇
在这里插入图片描述
Linux,inode-目录(文件夹)-磁盘块/簇
在这里插入图片描述
在这里插入图片描述

3.内存管理
一条记录的地址=存储单元的二地址=内存地址=页面:页内偏移量
页面=块
内存页面的分配、置换
在这里插入图片描述

4.磁盘容量–盘面:磁道:扇区
在这里插入图片描述

5.磁盘数据读写时间
寻道时间+旋转时间+传输时间
在这里插入图片描述

降低磁盘数据读写时间–降低I/O次数、降低排队等待时间、降低寻道/旋转延迟时间(同一磁道连续块存储;同一柱面不同磁道并行块存储;多个磁盘并行块存储)
6.RAID技术
在这里插入图片描述

7.数据存储与查询实现
在这里插入图片描述

8.数据库概念与磁盘相关概念映射
SQL–表:记录:属性值
存储–盘面:磁道:扇区
在这里插入图片描述

9.定长记录/变长记录(长度、指针区分记录/分隔符区分开始与结束);
10.记录存储–非跨块/跨块(存储空间使用、是否可以并行);
在这里插入图片描述

11.表所占磁盘块的分配方法
连续分配,数据块被分配到连续的磁盘块上(扩展困难);
链接分配,数据块包含指向下一数据块的指针(访问速度);
按簇分配,簇是若干连续的磁盘块,靠指针连接;
索引分配,索引块中有指向数据块的指针;
在这里插入图片描述

12.文件组织方式
(1)无序记录文件(堆文件、pile文件),记录可存储于任意有空间的位置,更新效率高,但检索效率较低、周期性重新组织数据库(移走被删除的记录使有效记录连续存放,回收因删除记录产生的未利用空间);
在这里插入图片描述

(2)有序记录文件(排序文件),记录按某属性/属性组顺序插入,记录有序,检索效率相对高,但更新效率低;用于存储排序的属性为排序字段(常使用主码,又称排序码);
改进–预留空间/使用一个临时的无序文件保留新增的记录。当采取溢出文件措施时,检索操作操作主文件、溢出文件;周期性重组数据库(将溢出文件合并至主文件,回复主文件记录顺序);
在这里插入图片描述

(3)散列文件,记录按某属性/属性组的值,依据散列函数计算存储位置,检索效率、更新效率有一定的提高;用于散列函数计算的属性为散列字段(常用主码,又称散列码);
不同记录可能在同一桶中,要在桶内顺序检索;
可用链接法处理溢出;
在这里插入图片描述

(4)聚簇文件
聚簇,将有相同/相似属性值的记录存放在连续的磁盘簇块中;
多表聚簇,将若干个相互关联的表存在一个文件中(可能提高多表情况的查询速度);
在这里插入图片描述

13.Oracle数据库的数据组织

在这里插入图片描述
在这里插入图片描述

14.Oracle物理数据库相关的定义语句
在这里插入图片描述

15.SQL的create table功能–定义模式、定义物理存储结构、定义完整性约束;
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深海质粒ABCC9

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值