一、数据依赖

1.什么是数据依赖?
  一个关系中的属性相互之间存在联系,称之为数据依赖。
数据依赖可分为函数依赖和多值依赖两种。

1.1函数依赖

定义:设R(U)是属性集U上的一个关系模式,X,Y是U的子集,若对关系模式R(U)的任何一个当前关系,不可能有两个元组在属性集X上的值相同而在属性集Y上的值不同,则称X函数决定Y或Y函数依赖于X,
    记作X  ->  Y。称X为决定因素。

举例:如果X -> Y,但Y ⊈ X,则称其为非平凡的函数依赖,否则称为平凡的函数依赖。
(S#,Sname)-> Sname是平凡的函数依赖

1.1.1传递函数依赖:

在R(U)中,如果X->Y,Y -> Z,且Y ⊈ X,Y -/-> X,则称Z对X传递函数依赖。

如果Y->X则不存在传递函数依赖

传递函数依赖有时会引发异常,需要破坏掉传递函数依赖

1.1.2部分函数依赖

如果AB->C,B->C,则C对AB部分函数依赖,即只需要主码的一部分即可推出函数式右边的。

部分函数依赖引发异常

二、码

候选码:
主码:若R(U , F)有多个候选码,则可以从中选定一个作为R的主码。
主属性:包含在每一个候选码中的属性,称作主属性。
全码:关系模式的码由整个属性组构成。如SCP(S#,C#,P#)

三、范式

定义:

范式就是符合某一种级别的关系模式的集合。

范式表达了关系的不同数据依赖程度。

关系中范式的级别越高越好,通常3范式已经可以达到我们的目标,因为范式级别越高,关系越多。

1NF即1范式

定义:关系中每一个分量不可再分,是最小的分量。关系模式中的所有域为简单域,其元素不可再分,即属性不能再分,是属性项而不是属性组。

2NF

定义:消除了部分依赖的范式

每个非主属性完全依赖于码(消除非主属性对码的部分依赖)

3NF

定义:消除了传递依赖的范式,消除了非主属性对码的传递依赖。

BCNF(改进的第三范式)

定义:在第三范式的基础上,对于每个函数依赖,在函数依赖的左边都包含了主码。

四、模式分解

模式分解要保持函数的依赖,分解要具有无损连接性。

分解算法一

例1.

R(CTHRSG)
    F={C ->T,HT  ->R,HR ->C,HS  ->R,
    CS ->G}

1、每个函数依赖形成一个关系
2、码相同的关系合并
3、如果分解后的某关系R1,是另一关系R2的子集,则消去R1.

F={C ->T,HT ->R,HR ->C,HS ->R,CS ->G}
R1(CT),R2(HTR),R3(HRC),R4(HSR),R5(CSG)

分解算法二

例2.R(CTHRSG)
F={C ->T,HT ->R,HR ->C,HS ->R,CS ->G}

分解方法 
1 在合成法的基础上增加关系R(X),X是原关系的码
2 如果新增加的关系R已经包含在其他关系中,则消去R

F={C ->T,HT ->R,HR ->C,HS ->R,CS ->G}
R1(CT),R2(HTR),R3(HRC),R4(HSR),R5(CSG)
R6(HS)

HS为码,因为R4(HSR)中已经包含了HS两项属性,故不需要R6
最终分解结果:
R1(CT),R2(HTR),R3(HRC),R4(HSR),R5(CSG)

五、最小函数依赖集

定义:如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。

(1) F中任一函数依赖的右部仅含有一个属性。
(2) F中可以被间接推出来的去掉

ORACLE数据依赖及范式相关推荐

  1. oracle 第一范式,数据库范式之第一范式

    数据库范式(Database Normalization) 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余 ...

  2. 【Oracle】数据库范式

    为了规范化关系型数据模型,关系型数据库系统在设计时必须遵循一定的规则,这种规则称为关系型数据库系统范式.范式的主要目的是降低数据冗余,设计结构合理的数据库. 1. 第一范式(1NF):字段必须具有唯一 ...

  3. 数据库 oracle 设计三范式

    一:表中的数据不能重复,每个字段不可再分. 2: 建立在第一范式上,表中的非主键字段必须全部依赖主键,不能部分依赖主键 3 建立在第二范式基础上的,非主键字段不能传递依赖于主键字段. 转载于:http ...

  4. 计算机理论专业研究生论文课题,计算机理论方向论文选题 计算机理论论文标题如何定...

    精选了[100道]关于计算机理论方向论文选题供您后续的写作参考,在写计算机理论论文之前,很多大学生总是被计算机理论论文标题如何定难倒怎么办?请阅读本文! 一.比较好写的计算机理论论文题目: 1.如何提 ...

  5. 插入的数据不能时时查询到_数据库原理笔记

    转载自:https://zhuanlan.zhihu.com/c_1236597039825223680 数据库系统的基本概念 数据:描述事物的符号记录 数据库(DB):长期存储在计算机内,有组织,可 ...

  6. 数据库以及Mysql入门

    MySQL 文章目录 MySQL 1. 数据库简述 概念模型 实体 - 联系模型(E-R模型) 数据模型分为 关系模型 关系运算 交集.并集.差.笛卡尔积 比较运算(>,<,>=,& ...

  7. 《数据库原理》复试面试篇

    序言:笔者在进行<数据库>学习中整理的一些题目和笔记,参考书目是施伯乐教授主编的<数据库系统教程第三版>和配套的<习题解答与实验指导>,同时参考了王珊教授主编的&l ...

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

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

  9. 数据库总结(考研复试和期末复习皆可用)

    数据库总结 点击下载该文档 密码:cqoq 本人自制了简答题的速记卡片 地址,大家可以参考使用.[下载Markji App 使用] 第一章 绪论 1.1 数据库系统概述 数据库管理系统(DBMS)的功 ...

最新文章

  1. BZOJ4292 : [PA2015]Równanie
  2. 详解AFNetworking的HTTPS模块
  3. 第二十二讲 延迟定理(补充)
  4. Android开发之 当前日期String类型转date类型 java代码中实现方法
  5. [转载] 深入理解Linux修改hostname
  6. Jsp对字符串的处理
  7. Struts2实现简单的在线人数统计
  8. xp任务栏一直闪跳怎么办_电脑任务栏闪烁以及任务栏图标闪烁解决办法
  9. 神舟电脑怎么重装系统 神舟电脑重装系统步骤
  10. iOS:仿微信朋友圈的实现
  11. Nvidia Jetson AGX Xavier 安装SATA接口固态硬盘
  12. 山东省计算机应用能力考核初级,山东省计算机应用能力考核.doc
  13. switch的使用及注意事项
  14. 神经网络结构搜索 NAS
  15. CCSV5菜单栏中没有Tools按钮,如何显示出来?
  16. 爬取起点中文网的小说
  17. 你必须知道的互联网协议详解
  18. [BZOJ2844]albus就是要第一个出场
  19. opencv C艹:读取视频文件,保存图像,视频文件,读取保存XML YAML文件
  20. What is ESI?

热门文章

  1. 互联网黑话最全收录|还在说大白话?看完这篇包你成为职场“社牛”
  2. 全国高校计算机专业,全国高校计算机专业排名
  3. HDU 5387 乱搞
  4. 企业信息化基本指标构成方案
  5. 标普全球普氏推出区块链网络追踪阿联酋的石油数据
  6. 普氏分析 matlab,降维和特征提取 - MATLAB Simulink - MathWorks 中国
  7. iOS操作本地视频 - 获取,压缩,取第一帧
  8. 网易企业邮箱申请,申请企业邮箱流程分享~
  9. 远程娃娃机直播抓娃娃技术方案
  10. MongoDB---数据类型,集合操作