ORACLE数据依赖及范式
一、数据依赖
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数据依赖及范式相关推荐
- oracle 第一范式,数据库范式之第一范式
数据库范式(Database Normalization) 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余 ...
- 【Oracle】数据库范式
为了规范化关系型数据模型,关系型数据库系统在设计时必须遵循一定的规则,这种规则称为关系型数据库系统范式.范式的主要目的是降低数据冗余,设计结构合理的数据库. 1. 第一范式(1NF):字段必须具有唯一 ...
- 数据库 oracle 设计三范式
一:表中的数据不能重复,每个字段不可再分. 2: 建立在第一范式上,表中的非主键字段必须全部依赖主键,不能部分依赖主键 3 建立在第二范式基础上的,非主键字段不能传递依赖于主键字段. 转载于:http ...
- 计算机理论专业研究生论文课题,计算机理论方向论文选题 计算机理论论文标题如何定...
精选了[100道]关于计算机理论方向论文选题供您后续的写作参考,在写计算机理论论文之前,很多大学生总是被计算机理论论文标题如何定难倒怎么办?请阅读本文! 一.比较好写的计算机理论论文题目: 1.如何提 ...
- 插入的数据不能时时查询到_数据库原理笔记
转载自:https://zhuanlan.zhihu.com/c_1236597039825223680 数据库系统的基本概念 数据:描述事物的符号记录 数据库(DB):长期存储在计算机内,有组织,可 ...
- 数据库以及Mysql入门
MySQL 文章目录 MySQL 1. 数据库简述 概念模型 实体 - 联系模型(E-R模型) 数据模型分为 关系模型 关系运算 交集.并集.差.笛卡尔积 比较运算(>,<,>=,& ...
- 《数据库原理》复试面试篇
序言:笔者在进行<数据库>学习中整理的一些题目和笔记,参考书目是施伯乐教授主编的<数据库系统教程第三版>和配套的<习题解答与实验指导>,同时参考了王珊教授主编的&l ...
- 【数据库】 关系模式的规范化理论----一文让你轻松理解其中奥秘
文章目录 关系模式设计中存在的问题 关系的形式化定义 数据依赖的基本概念 函数依赖 非平凡函数依赖.平凡函数依赖 完全函数依赖和部分函数依赖 传递函数依赖 关键字和超关键字 数据依赖的公理系统 函数依 ...
- 数据库总结(考研复试和期末复习皆可用)
数据库总结 点击下载该文档 密码:cqoq 本人自制了简答题的速记卡片 地址,大家可以参考使用.[下载Markji App 使用] 第一章 绪论 1.1 数据库系统概述 数据库管理系统(DBMS)的功 ...
最新文章
- BZOJ4292 : [PA2015]Równanie
- 详解AFNetworking的HTTPS模块
- 第二十二讲 延迟定理(补充)
- Android开发之 当前日期String类型转date类型 java代码中实现方法
- [转载] 深入理解Linux修改hostname
- Jsp对字符串的处理
- Struts2实现简单的在线人数统计
- xp任务栏一直闪跳怎么办_电脑任务栏闪烁以及任务栏图标闪烁解决办法
- 神舟电脑怎么重装系统 神舟电脑重装系统步骤
- iOS:仿微信朋友圈的实现
- Nvidia Jetson AGX Xavier 安装SATA接口固态硬盘
- 山东省计算机应用能力考核初级,山东省计算机应用能力考核.doc
- switch的使用及注意事项
- 神经网络结构搜索 NAS
- CCSV5菜单栏中没有Tools按钮,如何显示出来?
- 爬取起点中文网的小说
- 你必须知道的互联网协议详解
- [BZOJ2844]albus就是要第一个出场
- opencv C艹:读取视频文件,保存图像,视频文件,读取保存XML YAML文件
- What is ESI?