函数依赖

函数依赖:X->Y,X函数确定Y 或 Y函数依赖X

Student(Sno,Sname,Ssex,Sage,Sdept)

假设不能重名

Sno->Ssex,Sno->Sage,Sno->Sdept,

Sname->Ssex,Sname->Sage,Sname->Sdept

Sno<->Sname

如果X->Y且Y->X,则记为X<-->Y

如果Y不函数依赖于X,则记为X-/->Y

平凡函数依赖:(Sno,Cno)->Sno,一般不讨论

非平凡函数依赖:X->Y但Y不是X的子集

完全函数依赖: X-F->Y,Y完全依赖X

例:(Sno,Cno)--F-->Grade,Sno-/->Grade,Cno-/->Grade

Grade是由Sno和Cno共同决定的

理解:因为完全函数依赖的定义是对于X的真子集X‘,X‘-/->Y。所以完全函数依赖的X必须有多个属性。完全函数依赖中的X可以理解为只有X中的所有属性共同作用时才能确定Y,并且X中的所有元素都是缺一不可的。(这可以类比分权,每个人都不能单独做决定,但是每个人都缺一不可)

第一范式就是主码--F->所有属性的集合U

第二范式就是主码--F-->每个非主属性。

部分函数依赖: X-P->Y,Y不完全依赖X

例:(Sno,Cno)--P-->Sdept,(Sno,Cno)-P->Sno

传递函数依赖: X->Y,Y->Z,则称Z对X传递函数依赖 ,X-传递->Z

例:在关系Std(Sno,Sdept,Mname)中有Sno->Sdept,Sdept->Mname,所以Mname传递函数依赖于Sno

码:

K是属性或属性组合,如果K--F-->U,则K为R的候选码。

对于候选码的理解:

候选码是唯一决定U的属性的最小属性组合。

比如在S(Sno,Cno,Sdept,Grade)中(Sno,Cno)可以唯一确定U(Sno,Cno,Sdept,Grade),且Sno和Cno都不能唯一确定U,所以候选码是(Sno,Cno),因为候选码只有一个,所以主码也是(Sno,Cno)。

如果U函数部分依赖于K,则K-->U,K为超码。

候选码是一类特殊的超码,候选码的超集一定是超码,候选码的任何真子集一定不是超码。

如果候选码多于一个,则选定其中的一个作为主码。

主属性:       包含在任何一个候选码中的属性

非主属性:   不包含在任何候选码中的属性

全码:          整个属性组是码

外部码(外码):关系模式R中属性或属性组并非R的码,但X是另一个关系模式的码,则X是R的外部码

主码和外码提供了一个表示关系间联系的手段

范式:

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

关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。

规范化:一个低一级范式的关系模式,通过模式分解,可以转换为若干个高一级范式的关系模式的集合。

1NF:如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。

 2NF:若关系模式R∈1NF,且每一个非主属性都完全函数依赖于任何一个候选码,则R∈2NF。

例:SLC(Sno,Sdept,Sloc,Cno,Grade)Sloc为学生的住处,并且每个系的学生住在同一个地方。SLC的码为(Sno,Cno)

函数依赖有

Sno->Sdept,Sno->Sloc,Sno->Cno,(Sno,Cno)-F->Grade

Sdept->Sloc

(Sno,Cno)-P->Sdept

(Sno,Cno)-P->Sloc

理解:

写部分函数依赖的目的是为了说明该表不属于第二范式。 (考试可以不写部分函数依赖)

可以通过投影分解把关系模式分解为两个关系模式,这两个关系模式都属于第二范式:

S1(Sno,Cno,Grade),S2(Sno,Sdept,Sloc)

理解:

第二范式就是不存在非主属性部分依赖于主码,如果R的主码为单属性或R的全体属性均为主属性,则R∈2NF

3NF:消除传递性依赖

在S2(Sno,Sdept,Sloc)中,Sno->Sdept,Sdept->Sloc,存在传递性依赖。

消除传递性依赖:

将S2分解为两个表S-D(Sno,Sdept),D-L(Sdept,Sloc)

(1)函数依赖:

{Sno->Sname,Sno->SD,Sno->Sdname,

Sno->Course出错!!!!

(Sno,Course)->Grade

SD->Sdname

}

主码:(Sno,Course)

(2)原关系模式是第一范式。将原关系模式规范为2NF。

消除非主属性对主码的部分函数依赖。

(Grade对主码(Sno,Grade)是部分依赖)

分解为两个表(表述不准确,应该说分解为两个关系模式)SC(Sno,Course,Grade),SS(Sno,Sname,SD,Sdname)

(3)

因为Sno->SD,SD->Sdname,存在传递函数依赖

将SS继续分解成两个关系模式,SS1(Sno,Sname,SD),SS2(SD,Sdname)  出错!!

题目中问的是将关系模式分解成3NF,所以要把将SC写进去

SC(sno,course,grade),SS2(SD,Sdname),SS1(Sno,Sname,SD)

【数据库系统】规范化相关推荐

  1. 集美大学计算机工程学院领导班子,数据库-集美大学计算机工程学院.PPT

    数据库-集美大学计算机工程学院 程序设计基础 主编:丁跃潮 第五章 数据库技术 5.1 数据库系统的基本概念 5.2 数据模型 5.3 数据库管理系统 5.4 结构化查询语言SQL 5.5 常用关系数 ...

  2. 6.0 《数据库系统概论》之关系数据库的规范化理论(数据依赖对表的影响[插入-删除-修改-冗余]、1NF-2NF-3NF-BCNF-4NF、函数依赖与多值依赖)

    文章目录 0.思维导图 1.为什么要学习关系数据库规范化理论? (1)基本概念回顾 (2)关系模式的形式化定义 (3)什么是数据依赖F? (4)数据依赖F对关系模式的影响 1️⃣ 数据冗余(Data ...

  3. 数据库系统之(函数依赖,码,范式,规范化)

    文章目录 函数依赖 1.函数依赖(functional dependencies) 2.平凡函数依赖与非平凡函数依赖(trivial and non-trivial) 3.完全函数依赖与部分函数依赖 ...

  4. 计算机系统的分类补充完整,数据库系统原(理B)13春A卷.doc

    数据库系统原(理B)13春A卷 华东交通大学2012-2013学年第二学期考试卷 试卷编号: (A)卷 数据库系统原理(B) 课程 课程类别:必.限.任 闭卷 考试日期: 2013.07.02 (10 ...

  5. sql语言管理中计算机系统,00051管理系统中计算机应用第四章数据库系统考纲

    第四章数据库系统考纲 一.数据库系统概述 识记: 1.数据模型:对现实世界事物特征的模拟和抽象就是这个事物的模型.在数据库中数据模 型是抽象的表示和处理现实世界中数据的工具. 首先按人们的认识观点将现 ...

  6. 2011年给力新作——《数据库系统工程师考试案例梳理、真题透解与强化训练》...

    2011年给力新作--<数据库系统工程师考试案例梳理.真题透解与强化训练> 本书是为有志于通过全国计算机专业技术资格考试(数据库系统工程师)的读者编写的一本针对性强.高效的案例辅导用书,并 ...

  7. 数据库系统概论:第一章 绪论

    1.1 数据库系统概论 1.1.1 数据库系统概论 1. 数据 描述事物的符号记录称为是数据; 数据的解释叫做语义,他与数据时密不可分的; 记录是计算机中表示和储存数据的一种格式或者一个方法; 2. ...

  8. 南京工程学院 数据库复习(数据库系统概论复习 及 数据库原理与应用样题)

    一.数据库系统概论 1.1 百度文库 复习文档(需下载券) <数据库系统概论>(王珊.第五版) ★第一章   绪论 v 本章内容:数据库系统概述.数据模型.数据库系统结构 v 本章主要考点 ...

  9. 软设考试笔记--数据库系统

    软设考试笔记–数据库系统 意义: 对于一些管理软件,其核心就是与业务相关的数据处理,而数据的存储就离不开数据库系统的支持.所以掌握数据库系统的知识是十分有必要的. 考点的提炼: 数据库模式(概念模式. ...

最新文章

  1. localhost访问IIS资源突然不好使了
  2. It's all about buffers: zero-copy, mmap and Java NIO
  3. 构建数据库云管平台 实现数据价值最大化
  4. css3 选择器_IT兄弟连 HTML5教程 CSS3揭秘 CSS3概述
  5. 关于大数据平台,这有一套完整的方法论,你确定不收藏?
  6. 【传感器】HT1621 LCD驱动芯片
  7. Acer E1-471G DMI信息修改案例(硬刷)
  8. 9年技术面试官讲解:计算机专业应届生怎样写简历
  9. 以Skyline问题来看hard问题在面试的时候如何解决?
  10. SQL SERVER中WITH TIES的用法
  11. [OHOS ERROR] FileNotFoundError: [Errno 2] No such file or directory: ‘python‘
  12. 教你解决主板过热导致的频繁死机
  13. 类和函数模板以及特例化
  14. Words Accumulation
  15. 怎么计算一个图像的面积呢?????
  16. 2022,Go终于出八股文了(附100例代码实例)
  17. 免费的线框工具,UI设计工具,PDFs,资源等
  18. leetcode No374 猜数字大小 java
  19. 凝血酶分子机器人_厉害啊!中科院团队发明世界第一个智能抗癌DNA纳米机器人《星际之门:亚特兰蒂斯》...
  20. 天冷 计算机无法启动,电脑也怕冷!低温竟会令硬盘无法启动!

热门文章

  1. =,==和===的区别
  2. 2021年全球高级计量基础设施(AMI)收入大约3202.8百万美元,预计2028年达到4764.5百万美元
  3. CSS font-size字体相关
  4. 断电的方法关闭计算机,win7设置usb关机断电|win7设置usb关机拔出断电的解决方法...
  5. #内存泄露# #valgrind# valgrind简介
  6. 史上最著名的10个思想实验(思想解放运动)
  7. 一步一步学Spring Boot(三)
  8. CSS选择器的优先级是怎样的?
  9. [521]plt.cm.Spectral
  10. EasyBPM进销存之物料管理