关系数据库规范化理论.ppt
文本预览下载声明
第2章 关系数据库规范化理论与SQL语言 能力目标 掌握关系规范化的理论; 掌握关系模式的规范化方法; 掌握关系语言SQL基本语言结构与用法。 态度目标 团队精神; 态度积极; 任务按时完成; 出勤。 重点难点 重点: 掌握关系模式的规范化方法; 掌握关系语言SQL基本语言结构与用法。 难点: 掌握关系模式的规范化方法; 掌握关系语言SQL基本语言结构与用法。 2.1 关系规范化的作用 1. 关系规范化 一个数据库模式是一个关系模式的集合。数据 库设计实际上是从多种可能的组合中选取一个合适 的性能好的关系模式集合作为数据库模式的问题。 规范化,就是用形式更为简洁,结构更加规范 的关系模式取代原有关系模式的过程。 2. 属性间关系 一对一关系(1:1) 一对多关系(1:n) 多对多关系(m:n) 2.1 关系规范化的作用 3. 函数依赖 函数依赖(Functional Dependency,FD),是 属性之间的一种联系。在关系R中,X、Y为R的两 个属性或属性组,如果对于R的所有关系r 都存在: 对于X的每一个具体值,Y都只有一个具体值与之 对应,则称属性Y函数依赖于属性X。或者说,属 性X函数决定属性Y,记作X→Y。其中X称为决定 因素,Y称为被决定因素。 见【案例2.1】。 2.1 关系规范化的作用 【案例2.1】 现有一个学生关系模式:学生(学号,姓名,课程编号, 成绩,课程名称,任课教师姓名,教师年龄),写出函数依 赖形式。 学号→学生姓名(每个学号只能对应一个学生姓名) 课程编号→课程名称(每门课程只能对应一门课程名称) 教师编号→教师年龄(每个教师只能一个年龄) (学号,课程编号)→成绩(每个学生学习一门课程对应 一个成绩) 若Y函数不依赖于X,记作:X→Y。 若X→Y,Y→X,记作:X?Y 2.1 关系规范化的作用 4. 完全函数依赖 在关系模式R中,X、Y为 R 的两个属性或属性 组,若Y函数依赖X(X→Y)但Y函数不依赖X的任 一真子集X′,则称Y对X完全(Full)函数依赖, 记为:X f→Y。若X′→Y,称Y部分(Partial)函 数依赖于X,记为:X p→Y。见【案例2.2】。 5. 传递函数依赖 在关系R中,X、Y、Z是R的三个不同的属性或 属性组,如果 X→Y,Y→Z,但 Y→X,且Y不是 X 的子集,则称Z传递函数依赖于X。见【案例2.3】。 2.1 关系规范化的作用 【案例2.2】 (学号,课程名称)→学生姓名,由于学号、课程名称相 同必定学生姓名相同,同时,学号→学生姓名,由于学号相同 必定姓名相同,则称学生姓名不完全函数依赖(学号,课程名 称)。由于学号是(学号,课程名称)的一个真子集,学生姓 名函数依赖于学号,则学生姓名对(学号,课程名称)不完全 函数依赖,称为部分函数依赖。 但(学号,课程名称)→成绩为完全函数依赖,因为成绩 不函数依赖于(学号,课程名称)的任一真子集。 【案例2.3】 学号→院系名称,院系名称→院系长,则属性院系长函数 传递依赖属性学号。 2.1 关系规范化的作用 6. 码的定义 在关系R中,X、Y、Z是R的三个不同的属性 或属性组,如果 X→Y,Y→Z,但 Y→X,且Y不 是X的子集,则称Z传递函数依赖于X。 相关概念 设K是关系模式R(U,F)中的属性或属性组, K′是K的任一子集。若K→U,而不存在K′→U, 则K为R的候选码(Candidate Key) 若候选码多于一个,则选其中的一个为主码 (Primary Key); 包含在任一候选码中的属性,叫做主属性 (Primary Attribute); 不包含在任何码中的属性称非主属性(Nonprime Attribute)或非码属性(Nonkey Attribute)。 相关概念 关系模式中,最简单的情况是单个属性是码, 称为单码(Single Key); 最极端的情况是整个属性组是码,称为全码 (All Key)。 外码:设有两个关系R和S,X是R的属性或 属性组,并且X不是R的码,但X是S的码(或与S 的码意义相同),则称X是R的外部码(Foreign Key),简称外码或外键。 2.2 关系模式的规范化 1. 非规范化的关系 当一个关系表中存在还可以再分的数据项时, 这个关系表就是非规范化的表。 2. 第一范式(1NF) 如果关系模式R中不包含多值属性,则R满足 第一范式(First Normal
显示全部