2 关系数据理论

合集下载

[工学]关系数据模型与关系运算

[工学]关系数据模型与关系运算

单个关系内属性指定
关系查询
单个关系内元组选择
多个关系的合并
7
第2章 关系模型与运算: 2.1 关系数据模型(3)
2.1.3关系数据操作(2)
关系更新
元组插入 元组删除 元组修改
8
第2章 关系模型与运算: 2.1 关系数据模型(3)
2.1.3关系数据操作(3)
空值处理
限定主键不能取空值 定义空值相应运算
S( R): 更名运算,将R更名为S
∏ ( (R S.姓名 R.成绩S.成绩 R.课程=数学 S.课程=数学 R.姓名=王红 S( R))
R
姓名 课程 成绩
张军 物理 93 王红 数学 86
2.2.2基于查询的代数运算
元组集合的选择:选择运算
设有k元关系R,条件用一命题公式F表示,则从 关系R中选择出满足条件F的行定义为:
F (R) {t | t R F(t) true}
F是选择的条件: t∈R, F(t)要么为真,要么为假
F的形式:由逻辑运算符连接算术表达式而成
21
R
AB
1 2
S
CDE
10 a 10 a 20 b 10 b
RxS ABCDE
1 10 a 1 19 a 1 20 b 1 10 b 2 10 a 2 10 a 2 20 b 2 10 b
22
• 求数学成绩比王红同学高的学生
逻辑表达式:∧,∨,┐
算术表达式:X Y
X,Y是属性名、常量、或简单函数
是比较算符,∈{ , , , , , ≠}
19
R
A
B
C
3

数据库考试习题六答案

数据库考试习题六答案

第六章 关系数据理论一、 单项选择题1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是 ( )A 、关系规范化理论B 、关系运算理论C 、关系代数理论D 、数理逻辑2、关系数据库规范化是为解决关系数据库中( )问题而引入的。

A 、插入、删除和数据冗余B 、提高查询速度C 、减少数据操作的复杂性D 、保证数据的安全性和完整性3、当关系模式R (A ,B )已属于3NF ,下列说法中( )是正确的。

A 、它一定消除了插入和删除异常B 、一定属于BCNFC 、仍存在一定的插入和删除异常D 、A 和C 都是4、在关系DB 中,任何二元关系模式的最高范式必定是( )A 、1NFB 、2NFC 、3NFD 、BCNF5、当B 属性函数依赖于A 属性时,属性A 与B 的联系是( )A 、1对多B 、多对1C 、多对多D 、以上都不是6、在关系模式中,如果属性A 和B 存在1对1的联系,则说( )A 、A B B 、B A C 、A B D 、以上都不是7、关系模式中,满足2NF 的模式,( )A 、可能是1NFB 、必定是1NFC 、必定是3NFD 、必定是BCNF8、关系模式R 中的属性全部是主属性,则R 的最高范式必定是( )A 、2NFB 、3NFC 、BCNFD 、4NF9、关系模式的候选关键字可以有( ),主关键字有( )A 、0个B 、1个C 、1个或多个D 、多个10、如果关系模式R 是BCNF 范式,那么下列说法不正确的是( )。

A 、R 必是3NFB 、R 必是1NFC 、R 必是2NFD 、R 必是4NF11、图4.5中给定关系R ( )。

A 、不是3NFB 、是3NF 但不是2NFC 、是3NF 但不是BCNFD 、是BCNF12、设有如图4.6所示的关系R ,它是( )A 、1NFB 、2NFC 、3NFD 、4NF二、填空题1、如果模式是BCNF,则模式R必定是(3NF),反之,则(不一定)成立。

数据库系统概论复习重点

数据库系统概论复习重点

数据库系统概论复习重点第一章绪论1.数据库系统的基本概念:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员构成。

2.数据库管理系统的主要功能:数据定义功能、数据操作功能、数据库的运行管理、数据库的建立和维护。

3.数据模型的分类:概念模型、逻辑模型。

4.概念模型的表示:层次模型、网状模型、关系模型、面向对象模型、对象关系模型。

5.数据管理技术的产生和发展经历的三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。

6.实体是现实世界中客观存在,且能相互区别的。

7.数据模型的组成要素:数据结构、数据操作、数据的完整性的约束条件。

8.DBS包括DB和DBMS,而DB与DBSM是相互独立的。

9.概念模型独立于操作。

10.数据库三级结构有利于保证数据的安全性和独立性。

11.数据库物理存储视图为内模式12.用户通过DML语言对数据进行操作,其实是在操作外模式中的记录。

13.数据库系统的三级模式结构:外模式、模式、内模式。

14.有了“模式/内模式映像”可以保证数据的物理独立性。

15.数据库系统的核心是——数据库。

16.数据库系统的三级模式存在有二级映像,使之可以有较高的数据独立性。

17.数据库的外部存储方法和存储设备变化不影响逻辑结构,这种情况为物理数据独立性。

第二章关系数据库1.本章重点:关系数据库概念,可以用关系表达式来表达实际问题,可以用元祖表达式来表达实际问题,可以用域表达式来表达实际问题。

可以将这三种表达式相互转换。

2.关系代数运算:并、交、笛卡儿积、选择、投影。

3.常用的关系运算:关系代数、关系演算。

5.“列”可以出自一个域。

6.DBMS和OS之间的关系是:DBMS可以调用OS。

7.关系演算谓词变元可分为:元祖关系、演算关系、域关系演算。

8.若Sno由八位数组成,则此种情况称为:用户定义完整性。

9.一般情况下“R”“S”连接,则“R”“S”必有相同的属性。

关系数据库设计理论

关系数据库设计理论

五、FD的推理规则
从已知的FD集推导未知的FD,可以使用的推导规则 (Armstrong) 设有关系模式R(U),X、Y、Z是U的子集: A1(自反性):如果 Y X ,则有 XY 在R上成立。 A2(增广性):如果 XY 在R上成立,那么有 XZYZ A3(传递性):如果 XY和 YZ在R上成立,则有 XZ
S# -> SNAME C# -> TNAME (S#,C#) ->GRADE
三、属性间的联系和函数依赖 属性间的联系有三种,但并不是每一种关系中都存在函数 依赖,设有属性集X、Y属于关系模式R,
如果X和Y之间是‘1-1’关系,则存在函数依赖:
X YY, X
如果X和Y之间是‘1-M’关系,则存在函数依赖:
第五章 关系数据库设计理论
5.1 问题的提出-什么是不好的数据库设计
实际问题,假定在设计数据库时出现如下的关系模式: Student(Sno, Sname, Dept,Cno, Grade) 学生(学号,姓名,院系,课程号,成绩)
Sno Sname Dept Cno Grade
1000 李平 计算机 001
FD的分类: 1、对于FD:XY ,如果 Y X ,则称为“平凡的FD” 2、对于FD:XY ,如果 YX ,则称为“非平凡的FD” 3、对于FD:XY ,如果 YXφ则为“完全非平凡的FD”
Armstrong的推论: 1、合并规则: 由 XYX,Z可以 得 YZ 到X 2、分解规则: 由 XYZ可以 得 YX, 到 ZX 3、伪传递规则:由 XYY,WZ则得 到 Z XW
86
1000 李平 计算机 002
97
1000 李平 计算机 003
83
1001 王莉 计算机 001

第2章 关系模型

第2章 关系模型


4. 关系模式

关系模式是关系的形式化描述。

最简单的表示为:
关系名(属性名1,属性名2,…,属性名n)
注意:主键要用下划线表明。但有时,关系模式 中并没有表明主键。 例如:Students关系的关系模式为:
Students(Sno,Sname,Ssex,Sbirthdate,Sdept)


一个二维表就是一个关系
字段
属性
元组 学号 1001 1002 1003 姓名 张军 李红 王伟
学生表
记录
年龄 21 22 19
性别 男 女 男
系号 D01 D01 D02

域:关系中一个属性的取值范围。例如,Ssex的取值 范围是{‘M’, ‘F’},代表性别为男性和女性。。

关系示例:

关系的等价术语之间的对应关系
实体(Entity):实体是客观存在的并且相互区分的事务。实体 可以是实际事务,也可以是抽象事件。例如,一个职工、一 个部门等属于实际的事务;一次订货、借阅若干本图书、一 场比赛等活动是比较抽象的事件。 实体集( Entity Set):同型实体的集合称为实体集。例如 全体职工集合,全馆图书等。 实体型( Entity Type):具有相同属性的实体具有共同的 特征和性质,用实体名及其属性名来抽象和刻画同类实体称 为实体型。例如实体型“职工”表示全体职工的概念,并不 具体指职工甲或职工乙。每个职工是职工实体“型”的一个 具体“值”,必须明确区分“型”与“值”的概念。在数据 模型中的实体均是指“型”而言的。以后在不致引起混淆的 情况下,说实体即是实体型。
关系模式即是一个表的表头描述。 表头也称为关系的结构、关系的型等。

除表头一行以外的所有行的集合(即表内 容), 称为关系的值。 一个关系(表),由表头和表内容两部分组 成,表头是相对不变的,而表内容是经常 改变的。如Students表中,当有新学生入 学时,就增加若干行,当学生毕业时,就 要删除若干行,所以表是动态的。

数据库原理

数据库原理

《数据库原理》第一章、绪论1.四个基本概念的掌握:数据——描述事物的符号记录数据库——长期存储在计算机内的有组织,可共享的数据集合。

例如:SQLServer2000中默认的数据库master。

DBMS——位于用户与操作系统之间的一层数据管理软件。

例如:SQLServer2000,Access,Orecal 等。

数据库系统——数据库、DBMS、应用程序等有关软件、硬件及各类人员(数据库管理员和用户)。

例如:学生个人信息管理系统。

数据库系统的核心是数据库管理系统。

2.四者的关系,核心,理解P6图1.13.数据管理的三个阶段——人工管理、文件系统、数据库系统,了解每个阶段的特点4.数据库系统的特点——数据整体结构化;数据冗余度低,共享性高,易扩充;数据的物理独立性与逻辑独立性强(物理、逻辑独立性的概念,体现在那些地方);由DBMS统一管理控制的四个功能(P11四点)5.数据模型的组成要素——数据结构、数据操作、数据的完整性约束6.概念模型——实际上是现实世界到机器世界的一个中间层次(第一层抽象),表示方法——E-R图(能熟练掌握绘制方法)。

7.概念模型中的基本概念——实体、属性、码、域、实体型、实体集、联系(事物内部的联系、两个事物之间的联系【1:1,1:n,n:m】、多个事物之间的联系)P158.数据模型——层次、网状、关系(主流)9.关系模型中的概念——关系,元组,属性,码,域,分量,关系模式P2910.模式,外模式,内模式定义,有哪两种模式映像及其作用P31-P34书上习题回顾—— p.19-20 1.6.2和1.6.3(1、2题)第二章关系数据库1.关系模型的组成要素——关系数据结构(关系)、关系操作集合(选择、投影、连接、除、并、交、差等查询操作和增加、删除、修改操作,特别是某些关系操作的表达式)、关系完整性约束(后面具体介绍)2.基本概念——笛卡尔积、关系候选码、主码、主属性、非码属性、全码3.基本关系的性质——P45六点4.关系的完整性:实体完整性——规定关系中的所有主属性不能为空,而不仅是整体不能为空NULL的含义(不知道或者无意义的值)。

数据库原理与应用第2章答案解析主编肖海蓉、任民宏

数据库原理与应⽤第2章答案解析主编肖海蓉、任民宏第2章关系数据库基础2.1关系的概念2.2关系数据模型2.2.1关系模型及其要素2.2.2关系的性质及类型2.3关系代数2.3.1关系代数概述2.3.2传统的集合运算2.3.3专门的关系运算2.3.4关系代数运算实例分析及查询优化2.4关系演算2.4.1元组关系运算2.4.2域关系运算本章⼩结习题2第2 章关系数据库基本理论课后习题参考答案1、选择题(1)~(4):C、A、C、B(5)~(8):D、B、C、C(9)~(12):C、A、D、C2、简答题1)定义并解释下列术语,说明它们之间的联系。

答:候选码:在关系中可以唯⼀标识⼀个元组的属性或属性组。

主码:如果⼀个关系中有多个候选码,则选定其中最⼩属性组为主码;主码⼀般⽤下划横线标⽰。

外码:如果属性 X 不是关系R2 的主码,⽽是另⼀关系R1 的主码,则该属性X 称为关系R2 的外码;外码⼀般⽤波浪线标⽰。

域:域是⼀组具有相同数据的值的集合。

笛卡尔积:设定⼀组域 D1,D2,D3,…,D n,这些域中允许有相同的, D1,D2,D3,…,D n 的笛卡尔积为:D1×D2×D3×…×D n={(d1,d2,d3,…,d n)∣d i∈D i ,i=1,2,…,n} 即诸域 D1,D2,D3,…,D n 中各元素间的⼀切匹配组合构成的集合。

其中每个元素(d1,d2,d3,…,d n)称为⼀个元组,元素中的每个值 d i(i=1,2,…,n)称为⼀个分量。

关系:笛卡尔积 D1×D2×D3×…×D n 的⼦集称为域D1,D2,D3,…,D n 上的⼀个 n 元关系,表⽰为:R(D1,D2,D3,…,D n);关系是笛卡尔积的⼦集,故关系也是⼀张⼆维表,关系中每个元素(d1,d2,d3,…,d n)是关系的元组,对应⼆维表中的⾏,关系中的每个域 D i(i=1,2,…,n)对应表中的⼀列即属性。

数据库逻辑模型设计


n
(2) 笛卡尔积(Cartesian Product)
5)笛卡尔积的表示方法 – 笛卡尔积可表示为一个二维表。表中的每行 对应一个元组,表中的每列对应一个域。
在上例中,12个元组可列成一张二维表
表 2.1
SUPERVISOR 张清玫 张清玫 张清玫 张清玫 张清玫 张清玫 刘逸 刘逸 刘逸 刘逸 刘逸 刘逸
– 所有域的所有取值的一个组合 – 不能重复
(2) 笛卡尔积(Cartesian Product)
例2-1 给出三个域: D1=SUPERVISOR ={ 张清玫,刘逸 } D2=SPECIALITY={计算机专业,信息专业} D3=POSTGRADUATE={李勇,刘晨,王敏} 则D1,D2,D3的笛卡尔积为: D1× D2× D3 = {(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨), (张清玫,计算机专业,王敏),(张清玫,信息专业,李勇), (张清玫,信息专业,刘晨),(张清玫,信息专业,王敏), (刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨), (刘逸,计算机专业,王敏),(刘逸,信息专业,李勇), (刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) }
项目3 逻辑模型设计
数据库设计的步骤: 1. 需求分析 2. 概念结构设计 3. 逻辑结构设计 4. 数据库的物理设计 5. 数据库实施 6. 数据库运行与维护
数据库三级模式结构
不同的人员涉及不同的数据抽象级别,具有不同的数 据视图,如下图所示
各种人员的数据视图
项目3 逻辑模型设计
学习目标:
1.了解关系模型的基本概念; 2. 理解关系数据库的概念; 3. 掌握函数依赖、范式的定义; 4. 理解关系模式规范化的意义; 5. 熟练掌握模式分解的方法; 6. 熟练掌握E-R图向关系数据模型转换 的规则和方法。

数据库完整第2章ppt课件

但实际中,常把二者统称为关系
18
3、关系数据库
➢ 在关系模型中,实体以及实体间的联系都是用 关系来表示的。在一个给定的现实世界领域中 ,相应于所有的实体及实体之间的联系的关系 集合构成一个关系数据库。
➢ 关系数据库也有型和值之分。型称为关系数据 库模式,是对关系数据库的描述,定义了域和 域间的关系模式,值称为关系数据库。
RS
和添加可通过并运算实现。
32
2. 差(Difference)
➢ 关系R与关系S的差由属于R而不属于S的所有元组组
成,即R中删去与S中相同的元组,组成一个新关系,
其结果仍为n目关系。记作:
R-S={t|t∈R∧┐t∈S}
RS
➢ 通过差运算,可实现关系数据库
记录的删除。
33
3. 交(Intersection)
R:关系名 U:属性名集合 D:属性组U中属性所来自的域 DOM:属性向域的映象集合 F:属性间数据的依赖关系集合。
简记为:R(U)或 R(A1,A2, … An) R为关系名;An为属性名
17
关系是值,是关系模式在某一时 刻的状态或内容,动态的、随时 间不断变化 关系模式是型,关系模式是静态 的,稳定的
关系操作
集合
非关系 数据模 型的数 据操作 模式为 一次一 记录的 方式
关系操作(查询):选择、投影、 连接、除、并、交、差
关系操作(修改):增、删、改
5
2.1 关系数据库概述
关系模型中的关系操作:关系代数和关系演算


关系代数:用关系运算表达查询要求


关系演算:用谓词表达查询要求
, 评

关系代数语言
第2章 关系数据库

数据库第7章 关系数据库理论


● 7.2 关系模式的分解算法
● 7.2.1 关系模式分解的算法基础
1. 函数依赖的逻辑蕴含 2. Armstrong公理系统 (1) Armstrong公理系统 1) 自反律:若YXU,则X→Y为F所蕴含。 2) 增广律:若X→Y为F所蕴含,且ZU,则XZ→YZ为F 所蕴含。 3) 传递律:若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴 含。
={YZ,CTX,CSG,HRC,HSR,THR}.
2. 将关系转化为3NF、且既具有无损连接性又能保持函数依赖的分解 【 例 7-7】 有 关 系 模 式 R〈U , F〉 , U={C , T , H , R , S , G} , F={C→T,CS→G,HR→C,HS→R,TH→R},将R分解为3NF, 且既具有无损连接性又能保持函数依赖。 解:可以求得关系模式R的码为HS,它的一个保持函数依赖的3NF为 :
F={A→B,A→C,B→A,B→C,C→A} 2) 去掉F中冗余的函数依赖。 判断A→B。设:G1={ A→C,B→A,B→C,C→A}, 得:AG1+=AC ∵ BAG1+ ∴ A→B不冗余 判断A→C。设:G2={ A→B,B→A,B→C,C→A},
得:AG2+=ABC ∵ CAG2+ ∴ A→C冗余 判断B→A。设:G3={ A→B,B→C,C→A}, 得:BG3+=BCA ∵ ABG3+ ∴ B→A冗余 判断B→C。设:G4={ A→B,C→A}, 得:BG4+=B ∵ CBG4+ ∴ B→C不冗余 判断C→A。设:G5={ A→B,B→C }, 得:CG5+=C ∵ ACG5+ ∴ C→A不冗余
第7章 关系数据库理论
● 7.1 关系数据模式的规范化理论
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据依赖对关系模式的影响(续)
属性组U上的一组函数依赖F:
F ={ Sno → Sdept, Sdept → Mname, (Sno, Cname) → Grade }
Sno Cname Grade
Sdept
Mname
12/108
关系模式Student<U, F>中存在的问题
1. 数据冗余太大
更换系主任? 更改系名?
Y。
24/108
完全函数依赖与部分函数依赖(续)
F [例1] 中(Sno,Cno)→Grade 是完全函数依赖, P (Sno,Cno)→Sdept 是部分函数依赖
因为Sno →Sdept成立,且Sno是
(Sno,Cno)的真子集
25/108
四、传递函数依赖
定义3 在R(U)中,如果X→Y,(Y X) ,Y→X Y→Z, 则称Z对X传递函数依赖。 记为:X 传递 →Z

主码与外部码一起提供了表示关系间联系的手段
31/108
2 规范化
2.1 函数依赖
2.2 码
2.3 范式 2.4 2NF
2.5 3NF
2.6 BCNF 2.7 多值依赖 2.8 4NF 2.9 规范化小结
32/108
2.3 范式

范式是符合某一种级别的关系模式的集合 关系数据库中的关系必须满足一定的要求。满足不同程度 要求的为不同范式 范式的种类:
“X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。
20/108
说明
1. 所有关系实例均要满足 2. 语义范畴的概念 3. 数据库设计者可以对现实世界作强制的规 定
姓名→系别?
21/108
二、平凡函数依赖与非平凡函数依赖
在关系模式R(U)中,对于U的子集X和Y, 如果X→Y,但Y X,则称X→Y是非平凡的函数依赖 若X→Y,但Y X, 则称X→Y是平凡的函数依赖
码(续)
[例2]
关系模式S(Sno,Sdept,Sage),单个属性Sno是码,
SC(Sno,Cno,Grade)中,(Sno,Cno)是码 [例3]
关系模式R(P,W,A)
P:演奏者 W:作品 A:听众 一个演奏者可以演奏多个作品
某一作品可被多个演奏者演奏
听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key
40/108
2NF(续)
函数依赖图:
SC
Grade Cno
S-L Sno Sno Sdept
Sloc
关系模式SC的码为(Sno,Cno) 关系模式S-L的码为Sno 这样非主属性对码都是完全函数依赖
41/108
2NF(续)

2NF的定义
定义6 若R∈1NF,且每一个非主属性完全函数依赖于码, 则R∈2NF。 例:S-L-C(Sno, Sdept, Sloc, Cno, Grade) ∈1NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) ∈2NF
6/108
三、什么是数据依赖
1. 完整性约束的表现形式

限定属性取值范围:例如学生成绩必须在0-100之间

定义属性值间的相互关连(主要体现于值的相等与
否),这就是数据依赖,它是数据库模式设计的关键
7/108
什么是数据依赖(续)
2. 数据依赖

一个关系内部属性与属性之间的约束关系 现实世界属性间相互联系的抽象 数据内在的性质 语义的体现
3 数据依赖的公理系统
*4 模式的分解
5 小结
16/108
2 规范化
规范化理论正是用来改造关系模式,通过分解关 系模式来消除其中不合适的数据依赖,以解决插 入异常、删除异常、更新异常和数据冗余问题。
17/108
2 规范化
2.1 函数依赖
2.2 码
2.3 范式 2.4 2NF
2.5 3NF
规范化小结
18/108
2.1 函数依赖

函数依赖 平凡函数依赖与非平凡函数依赖 完全函数依赖与部分函数依赖 传递函数依赖
19/108
一、函数依赖
例:X1=“学号” Y1=“姓名” X2=“学号” Y2=“成绩”
定义1 设R(U)是一个属性集U上的关系模式,X和Y是U的子 集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个 元组在X上的属性值相等, 而在Y上的属性值不等, 则称
关系数据理论
关系数据理论
1 问题的提出 2 规范化
3 数据依赖的公理系统
*4 模式的分解(略)
5 小结
1 问题的提出
关系数据库逻辑设计
针对具体问题,如何构造一个适合于它的数据
模式
数据库逻辑设计的工具──关系数据库的规范化
理论
问题的提出
一、概念回顾 二、关系模式的形式化定义 三、什么是数据依赖 四、关系模式的简化定义
14/108
分解关系模式

把这个单一模式分成3个关系模式:
S(Sno,Sdept,Sno → Sdept); SC(Sno,Cno,Grade,(Sno,Cno) → Grade); DEPT(Sdept,Mname,Sdept→ Mname)
15/108
第六章 关系数据理论
1 问题的提出 2 规范化
30/108
外部码
定义5 关系模式 R 中属性或属性组X 并非 R的码,但 X
是另一个关系模式的码,则称 X 是R 的外部码
(Foreign key)也称外码

如在SC(Sno,Cno,Grade)中,Sno不是码,但 Sno是关系模式S(Sno,Sdept,Sage)的码,则 Sno是关系模式SC的外部码
注: 如果Y→X, 即X←→Y,则Z直接依赖于X。
例: 在关系Std(Sno, Sdept, Mname)中,有: Sno → Sdept,Sdept → Mname Mname传递函数依赖于Sno
26/108
2 规范化
2.1 函数依赖 2.2 码 2.3 范式 2.4 2NF 2.5 3NF
2.6 BCNF
五、数据依赖对关系模式影响
一、概念回顾

关系 关系模式


关系数据库
关系数据库的模式
5/108
二、关系模式的形式化定义
关系模式由五部分组成,即它是一个五元组:
R(U, D, DOM, F)
R: U: D: 关系名 组成该关系的属性名集合 属性组U中属性所来自的域
DOM: 属性向域的映象集合
F: 属性间数据的依赖关系集合
张明
张明 张明 张明 张明 ..
C1
C1 C1 C1 C1 ..
一个系的学生全部 Grade 毕业了? 95 90 88 70 78 ..
13/108
数据依赖对关系模式的影响(续)
结论:

Student关系模式不是一个好的模式。 “好”的模式:
不会发生插入异常、删除异常、更新异常,
数据冗余应尽可能少 原因:由存在于模式中的某些数据依赖引起的 解决方法:通过分解关系模式来消除其中不合适 的数据依赖

例:在关系SC(Sno, Cno, Grade)中, 非平凡函数依赖: (Sno, Cno) → Grade 平凡函数依赖: (Sno, Cno) → Sno (Sno, Cno) → Cno
22/108
平凡函数依赖与非平凡函数依赖(续)
若X→Y,则X称为这个函数依赖的决定属性
组,也称为决定因素(Determinant)。
第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BC范式(BCNF) 第四范式(4NF)

第五范式(5NF)
33/108
2.3 范式

各种范式之间存在联系:
1NF 2 NF 3 NF BCNF 4 NF 5 NF


某一关系模式R为第n范式,可简记为R∈nNF。
一个低一级范式的关系模式,通过模式分解可以转换为若 干个高一级范式的关系模式的集合,这种过程就叫规范化
插入一个学生信息,但学 生还没有选课? 学生取消选课,如果所有 选课都取消了? 学生转系?住处也要修改
(4) 修改复杂
S-L-C(Sno, Sdept, Sloc, Cno, Grade)
39/108
S-L-C不是一个好的关系模式(续)


原因 Sdept、 Sloc部分函数依赖于码。 解决方法 S-L-C分解为两个关系模式,以消除这些部分函 数依赖 SC(Sno, Cno, Grade) S-L(Sno, Sdept, Sloc)
(Prime attribute)
SC(Sno,Cno,Grade)
包含在任何一个候选码中的属性
,称为主属性
不包含在任何码中的属性称为非主属性
(Nonprime attribute)或非码属性(Non-key attribute)

全码
整个属性组是码,称为全码(All-key)
29/108
SC(Sno, Cno, Grade) ∈ 2NF
S-L(Sno, Sdept, Sloc) ∈ 2NF
42/108
2NF(续)

采用投影分解法将一个1NF的关系分解为多个 2NF的关系,可以在一定程度上减轻原1NF关系
中存在的插入异常、删除异常、数据冗余度大、
修改复杂等问题。

将一个1NF关系分解为多个2NF的关系,并不能
2.7 多值依赖 2.8 4NF 2.9 规范化小结
27/108
2.2 码
定义4 设K为R<U,F>中的属性或属性组合。若K U, 则K称为R的侯选码(Candidate Key)。 若候选码多于一个,则选定其中的一个做为 主码(Primary Key)。
相关文档
最新文档