公务员预测关系数据理论

上传人:Z****0 文档编号:51579159 上传时间:2018-08-15 格式:PPT 页数:68 大小:404.50KB
返回 下载 相关 举报
公务员预测关系数据理论_第1页
第1页 / 共68页
公务员预测关系数据理论_第2页
第2页 / 共68页
公务员预测关系数据理论_第3页
第3页 / 共68页
公务员预测关系数据理论_第4页
第4页 / 共68页
公务员预测关系数据理论_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《公务员预测关系数据理论》由会员分享,可在线阅读,更多相关《公务员预测关系数据理论(68页珍藏版)》请在金锄头文库上搜索。

1、关系数据理论单世民SsmPlan A or Plan B?SnoSNameDnameDLeaderCnoGradeSnoSNameDnameSnoCnoGradeDnameDLeaderSsm数据模式应规范化 在数据库的设计中,如何构造一个适合于它 的数据模式,即应该构造几个关系模型,每 个关系由哪些属性组成等。这是数据库设计 的问题。 实际上任何一种数据库应用系统,不论是层 次的、网状的还是关系的,都会遇到如何构 造合适的数据模型及逻辑结构的问题。 规范化理论对于一般的数据库逻辑设计同样 具有理论上的意义。Ssm概念回顾域笛卡尔积关系关系模式 R(U,D,DOM,F)候选码主码全码主属性非主

2、属性(超码)外码Ssm概念回顾 关系模式形式化定义 关系模式关系模式: 对关系的描述称为关系模式。可以形式化的表示为:R(U,D, dom,F) 其中: R:关系名 U:组成关系的属性名集合 D:属性来自的域 dom:属性到域的映射 F:属性间数据的依赖关系 简记: R(U),或者R(A1,A2,An) 关系模式的表示可简化为一个三元组:R(U, F)。当且仅当U上的 一个关系r 满足F时,r称为关系模式 R(U, F)的一个关系Ssm数据依赖 什么是数据依赖? 数据依赖是关系中的属性值之间的相互关系 。它是现实世界属性间相互联系的抽象,是 数据内在的性质,是语义的体现语义的体现。 例: 在某

3、学校的学生的关系中,只要学号确定了 ,他(她)的姓名就确定了。这相当于对于 一个由学号到姓名的映射 。这 样的数据依赖称为函数依赖函数依赖(Functional Dependency)。记为:Sno-Sname;Ssm数据依赖 为什么要关注数据依赖? 充分了解函数依赖有助于形成好的,规范的关系模 式,减少数据冗余。 例: 假设要建立一个学生数据库,要描述的对象包括: 学号(Sno),学生姓名(SName),系(DName) ,系负责人(DLeader),课程号(Cno)和成绩( Grade)。于是可设定其对应的属性集合为:U= Sno,SName,DName,DLeader,Cno,Grade

4、Ssm数据依赖 如果根据以上分析将所有属性放入一个关系模式中 (如下例),可否?SnoSNameDnameDLeaderCnoGradeSsm数据依赖 如果一个系刚好成立但还没有招生,怎样表 示存在这个系呢? 若插入该系的信息(系名,系负责人),学 生信息及选课信息如何表达? 若虽然有学生,但还没有成绩,如何表达?Ssm数据依赖 若某个系的学生全部毕业了,但系还要保留 ,这样若删除所有学生的记录,系的信息将 不复存在。 又若某学生只选了一门课,现在这门课也不 选了,删除时会删除学生的信息。 又如:每条记录都有系名,系领导的信息, 浪费存储,另外换系领导后,所有的记录都 要一起更新。Ssm数据依

5、赖 问题:怎样才不会发生以上这些问题呢? 问题的关键源于关系的模式设计有问题,造 成了数据冗余,即没有考虑好数据依赖,从 而没有设计成好的、规范的模式。 由实际中的知识可知,前述情况存在着如下 数据依赖: 一个系有若干学生,一个学生只属于一个系。 一个系只有一名负责人(正职)。 一个学生可选修多门课程,每门课程有若干学生 选修,每个学生选修的每门课程有一个成绩。Ssm规范化 规范化理论被用来改造关系模式,通过分解分解 关系模式关系模式来消除其中不合适的数据依赖,以 解决插入异常、删除异常、更新异常和数据 冗余问题。 1971年Edgar Codd提出了规范化理论,规范 化理论研究已经取得了很多

6、的成果。根据属属 性数据依赖的情况性数据依赖的情况,规范化理论采用范式来 区分关系的规范化程度(1NF,2NF,3NF, )。Ssm规范化 函数依赖 函数依赖是最常见的一种数据依赖。 两种定义 函数依赖函数依赖:设R(U)是属性集U上的关系模式,X,Y是U的 子集。若对于R(U)的任意一个可能的关系r, r中不可能存 在两个元组在X上的属性值相等,而在Y上的属性值不等 ,则称X X函数确定函数确定Y Y或Y Y函数依赖函数依赖X X。记作 X XY Y。X称为 这个函数依赖的决定属性集决定属性集(Determinant)。 函数依赖函数依赖:r中任意两个元组t,s,若tX=sX,则tY=sY

7、,则称XY。Ssm规范化 对于前例中所述语义,可知存在(但不限于)如下 的函数依赖: 一个系有若干学生,一个学生只属于一个系。 一个系只有一名负责人(正职)。 一个学生可选修多门课程,每门课程有若干学生选修, 每个学生选修的每门课程有一个成绩。 若XY,并且YX, 则记为XY。若Y不函数 依赖于X, 则记为XY。U= Sno,SName,DName,DLeader,Cno,GradeSnoDNameDnameDLeader(Sno,Cno)GradeSsm规范化 函数依赖-如何理解 函数依赖不是指关系模式R的某个或某些关系实 例满足的约束条件,而是指R R的所有关系实例均的所有关系实例均 要满

8、足的约束条件要满足的约束条件。 函数依赖是语义范畴的概念。只能根据数据的语只能根据数据的语 义来确定函数依赖义来确定函数依赖。例如,“姓名年龄”这个函 数依赖只有在不允许有同名人的条件下成立 数据库设计者可以对现实世界作强制的规定数据库设计者可以对现实世界作强制的规定。例 如规定不允许同名人出现,函数依赖“姓名年龄 ”成立。所插入的元组必须满足规定的函数依赖, 若发现有同名人存在, 则拒绝装入该元组。Ssm规范化 函数依赖 (Sno, Cno) Grade (Sno, Cno) Cno 形式化定义 XY,但Y X则称XY是平凡的函数依赖平凡的函数依赖。 XY,但Y X则称XY是非平凡的函数依赖

9、非平凡的函数依赖。 对于任一关系模式,平凡函数依赖都是必然成立, 它不反映新的语义。因此若不特别声明,总是讨论 非平凡函数依赖。SnoCnoGrade非平凡的函数依赖 平凡的函数依赖Ssm规范化 函数依赖 由于:Sno Grade,Cno Grade 因此:(Sno, Cno) Grade 形式化定义 在R(U)中,如果XY,并且对于X的任何一个真子集 X,都有XY,则称Y对X完全依赖,记作:XY。 若XY但Y不完全依赖于X,则称Y对X部分函数依赖 ,记作:XY。SnoCnoGrade ?FFPSsm规范化 函数依赖 Sno DName,DName DLeader 形式化定义 在关系模式R(U

10、)中,如果XY,YZ,且 Y X,YX,则称Z传递函数依赖于X。 注: 如果YX, 即XY,则Z直接依赖于 X。SnoDnameDLeaderSsm规范化 码 在关系模式的所有属性中,各个属性的地位 是不一样的。 候选码候选码(Candidate key): 设K为R中的属性或属性的组合,若K U,则称K为R的候选码。若候选码多于一 个,则选定其中的一个为主码主码(Primary key) 。FSsm规范化 码 包含在任一个候选码中的属性,叫做主属性主属性 。不包含在任何码中的属性称为非主属性非主属性。 关系模式R中属性或属性组X并非R的码,但 X是另外一个关系模式的码,则称X是关系R 的外码

11、外码(Foreign key)。 主码和外部码一起提供了表示关系间联系的 手段。Ssm范式 范式是符合某一种级别的关系模式的集合。 关系数据库中的关系必须满足一定的要求。 满足不同程度要求的为不同范式。 范式的种类: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) Boyce-Codd范式(BCNF) 第四范式(4NF) 第五范式(5NF)Ssm范式 各种范式之间存在联系: 某一关系模式R为第n范式,可简记为 RnNF。1NF 2NF 3NF BCNF 4NF 5NFSsm1NF 如果关系模式R的所有属性域都是原子(不 可分的基本数据项)的,称R属于1NF,记为 :R 1NF。 注

12、意:在关系模型中就假设所有的属性域都 是原子的。即不能出现表中表的情况。但是 满足第一范式的关系模式并不一定是一个好 的关系模式。 这是关系模式的基本要求,后面关系模式的 讨论都是满足这一要求的。Ssm范式示例 当前模式(S-D-C)的疑惑: 如果一个系刚好成立但还没有招生,怎样表示存在这个系呢? 若插入该系的信息(系名,系负责人),学生信息如何表达? 若插入该系的信息(系名,系负责人),选课信息如何表达?若插入该系的信息(系名,系负责人),选课信息如何表达? 若虽然有学生,但还没有成绩,如何表达?若虽然有学生,但还没有成绩,如何表达? 若某个系的学生全部毕业了,但系还要保留,这样若删除所有学

13、生 的记录,系的信息将不复存在。如何避免? 又若某学生只选了一门课,现在这门课也不选了,删除时会删除学又若某学生只选了一门课,现在这门课也不选了,删除时会删除学 生的信息。如何避免?生的信息。如何避免? 每条记录(针对每个学生的每条选课信息)都有系名,系领导的信每条记录(针对每个学生的每条选课信息)都有系名,系领导的信 息,浪费存储,另外换系领导后,所有的记录都要一起更新。如何息,浪费存储,另外换系领导后,所有的记录都要一起更新。如何 避免?避免?SnoSNameDnameDLeaderCnoGradeSsm范式示例 关系模式S-D-C中的函数依赖SnoCnoGradeDNameSNameDL

14、eaderXYFXYPSsm范式示例 相比于S-D-C,当前模式(S-D及S-C)具有如下优 点: 若虽然有学生,但还没有成绩,可以直接将学生信息加 入到S-D模式的实例中 若某学生只选了一门课,现在这门课也不选了,删除时 只删除S-C模式的实例中的元组,并不会删除学生的信息 。 对于某个学生的每个课程成绩记录,不必重复存储有关 系名和系领导的信息,减少了冗余,降低了更新时的复 杂性。 插入系的信息时不必考虑如何表达选课信息。SnoSNameDnameDLeaderSnoCnoGradeSsm2NF 模式(S-D及S-C)属于2NF 定义: 若关系模式R1NF,并且每一个非主属性都 完全函数依

15、赖于R的码,则R2NF。 S-C(Sno, Cno, Grade)2NF S-D(Sno,SName,DName, DLeader) 2NFSsm范式示例 但是,对模式(S-D,S-C)仍然存在疑惑: 如果一个系刚好成立但还没有招生,怎样表示存在这个 系呢? 若插入该系的信息(系名,系负责人),学生信息如何 表达? 若某个系的学生全部毕业了,但系还要保留,这样若删 除所有学生的记录,系的信息将不复存在。如何避免? 每条学生记录都有系名,系领导的信息,浪费存储,另 外换系领导后,对所有学生的记录都要一起更新。如何 避免?SnoSNameDnameDLeaderSnoCnoGradeSsm范式示例 关系模式S-D,S-C中的函数依赖SnoCnoGradeDNameSNameDLeaderXYFXYPSnoSsm范式示例 相比于S-D,S-C,当前模式(S、D及S-C)具有如下优点 : 如果一个系刚好成立但还没有招生,那么可以将系的信息放入模式D 的实例中,而不必理会此系中有无学生。 若插入该系的信息(系名,系负责人),不必理会学生信息如何表 达 若某个系的学生全部毕业了,但系还要保留,这样可以删除模式S的 实例中所有学生的记录,但模式D的实例中系的信息仍

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号