2~3第三课关系模型规范化.
- 格式:ppt
- 大小:53.00 KB
- 文档页数:21
第6章关系模式的规范化理论关系数据库的规范化设计是指面对一个现实问题,如何选择一个比较好的关系模式集合。
规范化设计理论对关系数据库结构的设计起着重要的作用。
关系模型有严格的数学理论基础,因此人们就以关系模型为作为讨论对象,形成了数据库逻辑设计的一个有力工具――关系数据库的规范化理论。
本章内容(1)关系模式的冗余和异常问题。
(2)FD的定义、逻辑蕴涵、闭包、推理规则、与关键码的联系;平凡的FD;属性集的闭包;推理规则的正确性和完备性;FD集的等价;最小依赖集。
(3)无损分解的定义、性质、测试;保持依赖集的分解。
(4)关系模式的范式:1NF,2NF,3NF,BCNF。
分解成2NF、3NF模式集的算法。
(5)MVD、4NF、5NF的定义。
一,关系模式设计中的问题1.什么是好的数据库构建好的,合适的数据库模式,是数据库设计的基本问题a) 体现客观世界的信息b) 无过度的冗余c) 无插入异常d) 无删除异常e) 无更新复杂如书上的S_C_G关系。
假设需要设计一个学生学习情况数据库StuDB。
下面我们以模式S_C_G(Sno,Sname,Dname,Age,Cno,Cname,Score,Pre_cno)为例来说明该模式存在的问题。
下表是其一个实例。
3冗余度大:每选一门课,他本人信息和有关课程信息都要重复一次。
4插入异常:插入一门课,若没学生选修,则不能把该课程插入表中。
5删除异常:如S11号学生的删除,有一门只有他选,会造成课程的丢失。
6更新复杂:更新一个人的信息,则要同时更新很多条记录。
还有更新选修课时也存在这样的情况。
2.异常的原因:数据信赖的约束3.解决方法:数据库设计的规范化:分解,每个相对的独立,依赖关系比较单纯,如分解为3NF 我们采用分解的方法,将上述S_C_G分解成以下三个模式:S(Sno,Sname,age,Dname)C(Cno,Cname,Pre_cno)S_C(Sno,Cno,Score)4.规范化设计理论包括三个内容:i> 数据信赖---- 核心,研究数据之间的联系ii> 范式---- 关系模式的标准iii> 模式设计方法---- 自动化设计的基础二,函数依赖(Functional Dependency,FD)1. 函数依赖的定义:(还有非函数的依赖?,什么是函数?给出一个值能唯一确定另外一个值?映射:一对一,多对一,一对多?)定义:函数依赖是指一个或一组属性可以(唯一)决定其它属性的值。
第1章数据库系统概论一、单选题1.数据库管理系统(DBMS是(C )C. 一组软件2.在数据库中存储的是(D )D.数据及数据之间的联系3.若一个关系为R(学生号,姓名,性别,年龄),则哪个属性适合作为该关系的主码?(A)A.学生号4.在数据库的三级模式结构中,模式有(A )A. 1个5.数据库系统的核心是(A )。
A.数据库管理系统6.数据库系统与文件系统的主要区别是(D )。
D.文件系统没有解决数据冗余和数据独立性问题,而数据库系统解决了这些问题7.关系数据库系统中所使用的数据结构是(B ) B.二维表8.关系模型中,一个关键字是(B )。
B.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成9.如果一个班只能有一个班长,而且一个班长不能同时担任其他班的班长,班级和班长两个实体之间的关系属于(A )。
A. —对一联系二、判断题1.在对象数据模型中,对象不但能够继承,而且能够嵌套。
(V )2.在文件管理阶段,文件之间是相互联系的,在数据库管理阶段,文件之间是相互独立的。
(X )3.分布式数据库系统既支持客户的局部应用,又支持客户的全局应用。
(V )4.主码是一种候选码码,主码中的属性个数没有限制。
(V )5.在文件系统中,不容易做到数据共享,而在数据库系统中,容易做到数据共享。
(V )6.若一个联系涉及到两个实体则称为二元联系,若只涉及到一个实体则称为一元联系。
(V )7.在存取数据库的数据的过程中,使用了两个数据缓冲区,分别为系统缓冲区和用户缓冲区。
(V )8.若实体A和B是1对多的联系,实体B和C是1对1的联系,则实体A和C是1对1的联系。
(X )9.数据库系统中四类用户分别为数据库管理员、数据库设计员、应用程序员和终端用户(V )第2章关系运算一、单选题1.域是实体中相应属性的(A )A.取值范围2.把保存关系定义的关系称为对应数据库的( B )B.兀关系3.在下面所给的属性中,哪个属性适宜作为主关键字?( D )D.身份证号码4.设关系R和S的元组个数分别为10和30,关系T是R与S的笛卡尔积则T的元组个数是(C )C.3005.设D,D2和D3域的基数分别为2,3和4,贝U DXDXD的元组数为(B )B. 246.设一个关系A具有a1个属性和a2个元组,关系B具有b1个属性和b2个元组,则关系A B具有的元组个数为(B )B. a2 b27.设一个集合A={3,4,5,6,7},集合B={1,3,5,7,9},则A减B的差集中包含有个元素。
er关系范例ER关系范例:学生选课系统引言:学生选课系统是一种常见的应用系统,它通过建立和管理学生、课程以及选课关系等实体和关系来实现学生选课的功能。
本文将以学生选课系统为例,详细介绍ER关系模型的应用。
一、实体-关系模型介绍实体-关系(Entity-Relationship,简称ER)模型是一种常用的数据模型,用于描述现实世界中的实体和实体之间的关系。
在学生选课系统中,主要包括三个实体:学生、课程和选课。
1. 学生实体:学生实体包括学生ID、姓名、性别、年龄等属性,其中学生ID作为主键用于唯一标识每个学生。
2. 课程实体:课程实体包括课程ID、课程名称、学分等属性,其中课程ID作为主键用于唯一标识每门课程。
3. 选课实体:选课实体包括学生ID和课程ID两个属性,用于记录学生所选的课程。
选课实体的主键由学生ID和课程ID组成,以确保每个学生对每门课程只能选修一次。
二、实体-关系模型的建立在学生选课系统中,可以通过ER图来表示实体和关系之间的联系。
1. 学生实体与选课实体之间的关系:一个学生可以选修多门课程,而一门课程也可以被多个学生选修,因此学生实体和选课实体之间存在多对多的关系。
使用一个关系实体来表示学生和选课之间的关系,该关系实体包括学生ID和课程ID两个属性。
2. 课程实体与选课实体之间的关系:同样地,一门课程可以被多个学生选修,而一个学生也可以选修多门课程,所以课程实体和选课实体之间也存在多对多的关系。
同样地,使用一个关系实体来表示课程和选课之间的关系,该关系实体包括学生ID和课程ID两个属性。
三、实体-关系模型的规范化设计为了满足数据库的设计规范和要求,需要对实体-关系模型进行规范化设计。
常见的规范化设计包括第一范式、第二范式和第三范式。
1. 第一范式:第一范式要求每个属性都是原子的,不可再分。
在学生选课系统中,每个实体的属性都满足第一范式的要求,没有重复的属性。
2. 第二范式:第二范式要求每个非主属性都完全依赖于候选键(也就是主键)。
关系规范化规范化理论是数据库逻辑设计的指南和工具,具体步骤如下:(1)考察关系模型的函数依赖关系,确定范式等级。
逐一分析各关系模式,考察是否存在部分函数依赖、传递函数依赖等,确定它们分别属于第几范式。
(2)对关系模式进行合并或分解。
根据应用要求,考察这些关系模式是否合乎要求,从而确定是否要对这些模式进行合并或分解,例如,对于具有相同主码的关系模式一般可以合并;对于非BCNF的关系模式,要考察“异常弊病”是否在实际应用中产生影响,对于那些只是查询,不执行更新操作,则不必对模式进行规范化(分解),实际应用中并不是规范化程度越高越好,有时分解带来的消除更新异常的好处与经常查询需要频繁进行自然连接所带来的效率低相比会得不偿失。
对于那些需要分解的关系模式,可以用规范化方法和理论进行模式分解。
最后,对产生的各关系模式进行评价、调整,确定出较合适的一组关系模式。
关系规范化理论提供了判断关系逻辑模式优劣的理论标准,帮助预测模式可能出现的问题,是产生各种模式的算法工具,因此是设计人员的有力工具。
扩展阅读:∙1《数据库设计解决方案》1.3 关系规范化 2007-04-07 13:31 史创明、王俊伟清华大学出版社我要评论(0)∙摘要:在数据库中,数据之间存在着密切的联系。
关系数据库由相互联系的一组关系所组成,每个关系包括关系模式和关系值两个方面。
关系模式是对关系的抽象定义,给出关系的具体结构;关系的值是关系的具体内容,反映关系在某一时刻的状态。
∙标签:SQL SQL2000微软数据库∙在数据库中,数据之间存在着密切的联系。
关系数据库由相互联系的一组关系所组成,每个关系包括关系模式和关系值两个方面。
关系模式是对关系的抽象定义,给出关系的具体结构;关系的值是关系的具体内容,反映关系在某一时刻的状态。
一个关系包含许多元组,每个元组都是符合关系模式结构的一个具体值,并且都分属于相应的属性。
在关系数据库中的每个关系都需要进行规范化,使之达到一定的规范化程度,从而提高数据的结构化、共享性、一5.1 数据库表的创建、修改和删除2007-04-07 13:53 史创明、王俊伟清华大学出版社我要评论(0)字号:T | T综合评级:想读(6)在读(0)已读(2)品书斋鉴(0)已有8人发表书评一个数据库中包含一个或多个的表。