把关系模式R分解成p以后,如何测试分解p是否为有损分解方法:

1.根据分解模式和属性列表

列:分解模式

行:属性

比如R(ABC) 分为p=(AB,AC)  满足F(A—>C)

列表

A

B

C

AB

AC

填表

若分解模式中包含属性 则填a下标i,i为对应列数。

若分解模式中不包含属性 则填b下标为ji,j为行号,i为列号

所以表填完结果为:

A

B

C

AB

a1

a2

b13

AC

a1

b22

a3

2.修改表中元素 根据FD X——>Y

若FD X——>Y,则在X属性列找是否有相同的值:

若有,则到y属性下修改。(修改规则:有a则改为和a相同的,没有a则修改成 b下标小的那个相同。

若没有,则不用修改

所以例题修改如下F(A——>C)

A

B

C

AB

a1

a2

a3

AC

a1

b22

a3

3.若修改的最后一张表格中,有一行全为a,则称为无损分解,否则为有损分解

所以例题将b13改为a3

所以此题为无损分解

如何判断是否保持函数依赖的分解

设F属性集U上的FD集,Z是U的子集,F在Z上的投影用 兀z(F)①表示

若p=(R1,R2.......)是R的一个分解,F是R上的FD集,如果①式的所有并集 的集合蕴涵F集合,则则称分解保持函数依赖集

例题 设关系R(ABC),F是R上成立的FD集,F={ B——>C,C——>A},p={AB,AC}是R上的一个分解,那么分解p是否保持FD集F。

1.求F在AB上的投影

兀AB(F)=

AB可以是

A——>B:A的集合闭包:A+=A 没有B所以不成立

B——>A :B的集合闭包:B+=BCA   有A所以,成立,则 兀AB(F)={B——>A}

同样方法求在AC上的投影

兀AC(F)=

AC可以是

A——>C:A+=A  没有C所以 不成立

C——>A  :C+=CA  有A所以  成立

则兀AC(F)={C——>A}

2.求投影的并集

兀AB(F)U兀AC(F)={B——>A,C——>A}②

3.判断F是否被②式蕴含

因为都有C——>A,所以F中这个不用判断,判断B——>C  B+=BA  没有C

注意:::判断闭包时要在②式中判断。

所以 这个题p不保持FD集G

怎么求候选键

①先找到关系R的最大超键

例如 R(ABCD)  F={B——>C,D——>A}  p={BC,AD}

最大超键就是 ABCD

先在每一个F中 通过求闭包方式 划去冗余的属性

例如  最大超键ABCD 先从F中 B——>C 所以把C划去,再从D——>A 划去A 所以此时候选键有可能是BD,再看从D——>A开始,可以划去A,再看 B——>C可以划去C,所以候选键可能是BD

③ 把可能候选键验证 看是否候选键闭包集是全集U

例如

BD闭包集=ABCD=U,所以BD是候选键

怎么判断范式级别?

例题 中判断p中的级别,p={BC,AD}

先在BC,AD在F中做投影,然后在投影的集合中找出候选键

主属性:

如果A是关系模式R的候选键中的属性,那么称A是R的主属性,否则A是R的非主属性。

第1范式

定义:如果关系模式R的每个关系r的属性值都是不可分的原子值

第2范式

定义  如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键

局部依赖:对于FD,W——>A,如果存在X属于W,有X——>A成立,那么称W——>A是局部依赖

否则 完全依赖

第3范式

设F是关系模式R的FD集,如果对于FD中每个X——>Y,都有X是R的超键,或者Y的每个属性都是主属性。

BCNF

设F是关系模式R的FD集,如果对于FD中每个X——>Y,都有X是R的超键

转载于:https://www.cnblogs.com/fmust/p/9050344.html

数据关系模式设计的标准化相关推荐

  1. 关系模式设计的问题 函数依赖

    关系模式设计的问题 一.关系模式设计的问题 张表 1.假设有描述学生选课及住宿情况的关系模式 S-L-C CSno,Sname,Ssex,Sdept,Slol,Cno,Grade) 主键(Sno,Cn ...

  2. 关系模式设计优化(数据库学习重点,难点)

    关系模型潜在的问题 1.添加异常(当在关系中添加数据时可能会导致数据的不一致) 2.修改异常(随意的修改关系中的一行记录也可能导致数据的不一致) 3.删除异常(当删除一定数量的记录时可能会导致一些其他 ...

  3. DBMS-数据库设计与E-R模型:E-R模型、约束、E-R图、E-R扩展特性、E-R图转换为关系模式、UML建模...

    设计过程概览 1. 设计阶段 ·最初阶段:刻画未来数据库用户的数据需求,产品为用户需求规格说明: ·概念设计阶段(conceptual-design phase):(关注描述抽象数据及其联系,通常使用 ...

  4. 关系模式(关系模式必须遵循)

    关系模式和关系是什么意思? 关系模式和关系:描述模式描述关系的静态结构,由模式名.关系模式所包含的属性及属性值所满足的条件组成模式定义. 委托代理关系有哪些内涵及模式? 委托代理关系有5种模式 (1) ...

  5. 【数据库】 关系模式的规范化理论----一文让你轻松理解其中奥秘

    文章目录 关系模式设计中存在的问题 关系的形式化定义 数据依赖的基本概念 函数依赖 非平凡函数依赖.平凡函数依赖 完全函数依赖和部分函数依赖 传递函数依赖 关键字和超关键字 数据依赖的公理系统 函数依 ...

  6. 学习关系模式并了解如何辨别范式

    1. 什么是关系模式? 关系模式:关系模式相当于一张二维表的框架,在这个框架下填入数据,称为关系模式的一个实例,或者叫关系(R) R(A1,A2,A3-Ai):R是关系名,Ai是关系的属性名.一个关系 ...

  7. MOOC战德臣数据库课程自用笔记_2_关系模式

    关系模式 一. 关系模式研究内容 一个关系就是一个Table 关系模型就是处理Table的,有三个部分: 描述DB各种数据的基本结构形式(Table/Relation) 描述Table与Table之间 ...

  8. 企业级数据仓库:数据仓库概述;核心技术框架,数仓理论,数据通道Hive技术框架,HBase设计,系统调度,关系模式范式,ER图,维度建模,星型/雪花/星座模式,数据采集同步,业务数据埋点,数据仓库规范

    文章目录 第一章 数据仓库概述 1.1 数据仓库简介 1.1.2 什么是数据仓库? 1.1.3 OLTP 与 OLAP 1.2 数据仓库技术架构 1.3 课程目标 第二章 核心技术框架 2.1 数据仓 ...

  9. 关系模式规范化(设计范式)

    目录 数据库之六大范式详解 1. 第一范式 1NF 规范化: 2. 第二范式 2NF 候选码: 主属性: 函数依赖: 判断一个关系是否属于第二范式: 改进: 3. 第三范式 3NF 改进 结论 4. ...

最新文章

  1. Too many links;mkdir
  2. 重磅!PyTorch 中文手册已开源!理论、实践、应用都有了!
  3. 推荐算法炼丹笔记:序列化推荐算法Bert4Rec
  4. 迭代加深搜索与埃及分数求解
  5. Java后端:10w行级别数据的Excel导入优化记录
  6. 项目管理平台(总结篇二)
  7. Python3.x 基础练习题100例(91-100)
  8. python无法使用物理网卡_Python 实现监控所有物理网卡状态
  9. MS-SQL的智能脚本智能提示失效丢失
  10. Liunx安装 jemalloc == 内存管理工具
  11. vue el-date-picker 直接赋值不生效、数据绑定无效
  12. 前端调用websocket的3种不同写法
  13. java fastjson解析json_fastjson解析json数据 Java类
  14. 怎么查看Java的源代码
  15. 用python生成一段关于文字的二维码(关于刷网课的)
  16. 电脑蓝牙音箱,有效解决笔记本电脑连接不了蓝牙音箱的办法
  17. office教程:如何给excel表格重命名工作表
  18. 30段超实用CSS代码
  19. java8精简的jre,精简版jre,只有9M多哦!
  20. 超强指南!1分钟学会给电脑磁盘分区!

热门文章

  1. leetcode算法题--数组中出现次数超过一半的数字
  2. mongodb消息服务器,win10 MongoDB 3.6 服务端配置
  3. 基于linux操作系统Mysql的基本操作(一)
  4. CodeSalt | Python数据结构的实现 — 链表
  5. docker 与tomcat整合
  6. FoxPro 常用内部函数
  7. xhan/qqbot试用
  8. B/S模式下如何使软件屏蔽系统热键
  9. maskrcnn用于目标检测_用于目标检测的池化渐进网络(Pooling Pyramid Network)
  10. 查看主机内各组件参数——Cpu、内存、显卡、主板、硬盘(不拆主机方式)