ER图转换为关系模型
- 格式:doc
- 大小:63.00 KB
- 文档页数:5
er转换关系模型
1. 什么是关系模型
关系模型是一种用于描述和处理数据的方法,它使用一组表格来表示数据和关系。
这些表格包含行和列,列包含字段(属性)名称和数据类型,行包含一组相关的数据记录。
通过这种方式,关系模型可以将数据分解为更小的单元和属性,从而更好地组织和管理数据。
2. ER图的作用
在设计关系模型的过程中,ER图(实体-关系图)是一个非常有用的工具。
ER图是一个图形化表示实体、属性和它们之间关系的图表,可以帮助设计者更好地理解和抽象数据的结构和管理要求。
通过可视化表示数据实体、属性和关系,ER图能够较直观地展示关系型数据库的内部结构,有利于维护和管理数据。
3. ER图和关系模型的转换
ER图和关系模型之间是可以相互转换的。
转换的过程通常包括以下几个步骤:
1. 将ER图中的实体和属性转换为关系模型中的表和字段。
2. 将实体之间的关系转换为关系模型中的外键。
3. 对ER图中的特殊情况进行特殊处理,如多对多关系、一对一关系等。
在进行ER图和关系模型的转换时,需要考虑到模型的一致性和完整性。
例如,需要确保所有的实体和属性都能被正确地转换为表和字段,同时需要确保关系模型中的表和字段能够准确地描述数据之间的关系和属性。
4. 总结
关系模型和ER图是设计关系型数据库的两种常用工具。
ER图通过可视化表示实体、属性和关系,帮助我们更好地理解和抽象数据的结构和管理要求。
而关系模型则是将这些抽象化的数据处理成易于管理和操作的表格形式的方式。
通过使用这两种工具的互相转换,我们能够更加科学和高效地设计、维护和管理关系型数据库。
二、概念结构设计1、系统概念模型图1选课系统概念模型E-R 图(注:本例中上课时间可以抽象成实体,也可以抽象成属性。
) 2、详细说明(1)系统涉及的实体集● 班级实体集:具有属性班级名称和选课学分限制。
● 学生实体集:具有属性学号、姓名、性别和生日。
● 课程实体集:具有属性课程号、课程名、学分、授课教师、接纳人数。
● 上课时间实体集:具有属性时间。
(2)系统涉及的联系● 一个班级可以有多个学生,一个学生只能属于一个班级,所以班级和学生之间的联系为1:M 的联系。
● 一个班级可以有多门必修课程,一门课程是多个班级的必修课,所以班级和课程之间的必修联系是M :N 的联系。
● 一个学生课以选修多门课程,一门课程可以被多个学生选修,所以学生和课程之间的联系是M :N 的联系。
班级学分限制班级名学生学号 姓名性别生日属于必修课程选修上课时间上课时间授课教师接纳人数课号课名学分1mmnmmnn一门课程可以有多个上课时间,同一时间内可以有多门课程在上课,所以课程和上课时间的联系是M:N的联系。
三、逻辑结构设计将E-R模型转换为关系模式(1)班级实体集可以转换为关系CLASS(CLASSNAME,MAXCREDIT,MINCREDIT)CLASSNAME表示班级名称,MAXCREDIT表示最大学分限制,MINCREDIT表示最小学分限制。
(2)学生实体集可以转换为关系STUDENT(STUDENTID , NAME , SEX , BIRTHDAY)STUDENTID表示学号,NAME表示姓名,SEX表示性别,BIRTHDAY表示生日(3)课程实体可以转换为关系COURSE(COURSEID, COURSENAME, CREDIT, TEACHER, ACCEPTION)COURSEID表示课程号,COURSENAM表示课程名,CREDIT表示学分,TEACHER表示授课教师,ACCEPTION表示接纳人数。
在数据库设计过程中将er模型转换为关系模型的转换原则在数据库设计过程中,将ER模型转换为关系模型是一个重要的步骤。
ER模型是一种描述现实世界中实体、属性和关系之间关联的图形化工具,而关系模型则是一种用表格结构表示数据之间关系的方式。
以下是将ER模型转换为关系模型的转换原则:1. 实体转换为表:在ER模型中,实体是指现实世界中的一个对象或概念,例如学生、课程、雇员等。
在关系模型中,每个实体都被转换为一个表。
表由一系列的行和列组成,每一行表示一个实体的实例,每一列表示一个属性。
2. 属性转换为列:在ER模型中,属性是实体的特征或描述。
在关系模型中,每个属性都被转换为表中的列。
例如,一个学生实体具有姓名、性别、年龄等属性,这些属性会对应为学生表中的列。
3. 主键定义:在ER模型中,每个实体都有一个唯一标识符,称为主键。
在关系模型中,主键用来唯一地标识一个实体。
主键的定义原则是唯一性和非空性。
通常,一个表的主键可以是一个或多个属性的组合。
4. 关系转换为外键:在ER模型中,关系表示不同实体之间的关联。
在关系模型中,这些关联被转换为外键。
外键是用来连接不同表的属性,它通过引用其他表中的主键,以建立表之间的关系。
5. 多对多关系处理:在ER模型中,多对多关系是指一个实体与另一个实体之间存在多个联系。
在关系模型中,多对多关系需要通过引入中间表进行处理。
例如,一个学生可以选择多门课程,而一门课程也可以被多个学生选择,这种多对多关系可以通过引入一个学生课程中间表来解决。
6. 索引定义:索引是用来提高数据库查询效率的数据结构。
在关系模型中,可以为表中的一个或多个列定义索引。
索引的目的是快速定位数据,以加快查询速度。
7. 规范化:规范化是一种优化数据库结构的过程,旨在消除冗余、提高数据的一致性和完整性。
规范化过程包括一至五个范式,每个范式都有特定的要求和目标。
由于篇幅有限,上述仅为将ER模型转换为关系模型的基本原则。
如何把ER模型转换为关系模型这是数据库工程设计进行到逻辑设计的一重大环节,简单的说,如果概念设计是用ER模型,整合为全局的ER模型,那么在逻辑设计这块,主要任务就是把ER模型转换为关系模型。
转换只需知道三个转换准则:1:1遇到1:1 关系的话在两个实体任选一个添加另一个实体的主键即可。
1:N1:N 遇到1:N 关系的话在N端添加另一端的主键,假如有学生和班级两个实体,一个班级可以容纳多个学生,但是一个学生只能选择一个班级,因此班级和学生是1:N的关系,现在要转换为关系模型,我们只需在学生的这端加上班级的唯一标识即可,这样做的原因是,因为一个学生只能有一个班级,班级是相对学生唯一的。
N:M遇到N:M我们需要将联系转换为实体,然后在该实体上加上另外两个实体的主键,作为联系实体的主键,然后再加上该联系自身带的属性即可。
例如有学生和老师两个实体,一个学生可以由多名老师来授课,一名老师也可以授课多名学生,它们是M:N关系的,假如联系为授课,该联系上有成绩属性,因此当我们把它转换为关系模型时,我们把联系转换为联系实体,并添加学生实体的主键(学号)和教师实体的主键(教师编号)作为自己的主键,值得注意的是,授课实体的外键分别是学号和教师编号,但是它的主键是(学号,教师编号),另外它还拥有自己的一个属性成绩。
1:1:N这是三元联系的对应关系,但是当转换为关系模型时,和1:N的情况是差不多的。
我们只需将N端添加另外两端的主键即可。
M:N:P这种三元联系的三种多对应关系,看上去很复杂,其实转换起来并不是那么复杂了,我们要做的仅仅是将其中的联系转换为联系实体,然后在联系实体上添加M 端N端P端的主键,然后加上联系实体自身的属性,就行了。
例子:说了这么多看个小例子。
这是一份关于商店商品仓库的ER图。
先看仓库和商品之间是M:N的关系,于是我们首先想到的应该是把联系库存转换为库存实体。
库存(仓库号,商品号,日期,库存量)然后是商品实体和仓库实体商品(商品号,商品名,单价)仓库(仓库号,仓库名,地址)除此之外仓库和商品还有一个供应关系,同样是M:N关系:供应(仓库号,商品号,月份,月供应量)在上图的商店和仓库之间的关系可能写漏了,但是它们应该也是M:N的关系,一个商店可以被多个仓库供应,一个仓库也可以供应多个商店。
5.11 设某商业集团数据库中有三个实体集。
一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
(1) 试画出ER 图,并在图上注明属性、联系的类型。
(2) 将ER 图转换成关系模型,并注明主键和外键。
解:(1) ER 图如图5.1所示。
M1NN5.12 设某商业集团数据库中有三个实体集。
一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
(1) 试画出ER 图,并在图上注明属性、联系的类型。
(2) 将ER 图转换成关系模型,并注明主键和外键。
解:(1) ER 图如图5.21N1N地址商店编号职工商店商店名业绩姓名性别商品商品号 规格月薪月销售量商品名销售聘用单价职工编号聘期(2)这个ER 图可转换4个关系模式: 商店(商店编号,商店名,地址)职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)商品(商品号,商品名,规格,单价)销售(商店编号,商品号,月销售量)地址公司编号职工公司 公司名姓名性别仓库 工资 仓库名仓库编号 聘期聘用隶属职工编号地址 (2)这个ER 图可转换3个关系模式: 公司(公司编号,公司名,地址)仓库(仓库编号,仓库名,地址,公司编号)职工(职工编号,姓名,性别,仓库编号,聘期,工资)5.13 设某商业集团数据库有三个实体集。
二、概念结构设计1、系统概念模型图1选课系统概念模型E-R 图(注:本例中上课时刻能够抽象成实体,也能够抽象成属性。
) 2、详细说明(1)系统涉及的实体集班级实体集:具有属性班级名称和选课学分限制。
学生实体集:具有属性学号、姓名、性别和生日。
课程实体集:具有属性课程号、课程名、学分、讲课教师、接纳人数。
上课时刻实体集:具有属性时刻。
(2)系统涉及的联系班级学分限制班级名学生学号 姓名性别生日属于必修课程选修上课时间上课时间授课教师接纳人数课号课名 学分1mmnmmnn一个班级能够有多个学生,一个学生只能属于一个班级,因此班级和学生之间的联系为1:M的联系。
一个班级能够有多门必修课程,一门课程是多个班级的必修课,因此班级和课程之间的必修联系是M:N的联系。
一个学生课以选修多门课程,一门课程能够被多个学生选修,因此学生和课程之间的联系是M:N的联系。
一门课程能够有多个上课时刻,同一时刻内能够有多门课程在上课,因此课程和上课时刻的联系是M:N的联系。
三、逻辑结构设计将E-R模型转换为关系模式(1)班级实体集能够转换为关系CLASS(CLASSNAME,MAXCREDIT,MINCREDIT)CLASSNAME表示班级名称,MAXCREDIT表示最大学分限制,MINCREDIT表示最小学分限制。
(2)学生实体集能够转换为关系STUDENT(STUDENTID , NAME , SEX , BIRTHDAY)STUDENTID表示学号,NAME表示姓名,SEX表示性别,BIRTHDAY 表示生日(3)课程实体能够转换为关系COURSE(COURSEID, COURSENAME, CREDIT, TEACHER, ACCEPTION)COURSEID表示课程号,COURSENAM表示课程名,CREDIT表示学分,TEACHER表示讲课教师,ACCEPTION表示接纳人数。
(4)班级和学生之间的联系是1:M的联系,因此没有必要为其成立一个关系,能够通过扩展学生关系来表示。
简述e-r模型转换为关系模型的转换规则E-R模型(实体-关系模型)和关系模型是数据库设计中两种不同的建模方法。
E-R模型的重点是实体、关系和属性,而关系模型的重点是表、字段和主键等。
将E-R模型转换为关系模型需要把ER 图中的实体、关系和属性转换为关系模型中的表、字段和主键。
下面介绍E-R模型转换为关系模型的转换规则。
1.实体转换为表E-R模型中的实体转换为关系模型中的表,实体的名称对应表的名称,属性对应表中的字段。
每个实体会对应一个表,并且表的主键将会对应实体的标识符。
2.属性转换为表的字段实体中属性的名称和类型都可以转换为表的字段名称和类型,并且属性所在的实体的标识符将成为表的主键。
比如,Person 实体有两个属性 name 和 age,那么就可以映射为 Person 表,其中 name 和 age 两个属性分别对应表中的 name 和 age 字段,Person 实体的标识符将映射为表的主键。
3.关系转换为表如果有两个实体之间的关系,那么就需要将关系转换为表,其中关系表的表名可以采用关联的两个实体的名称拼接而成,关系表的每一行对应一个实体之间的关系。
4.关系属性转换为字段如果关系具有属性,则需要将关系属性映射为关系表的字段。
比如,如果实体 A 和实体 B 之间有关系 R, R 具有属性 C,那么关系表 R 将有一个名为 C 的字段。
5.主键的确定在关系模型中,每个表都需要有一个主键,而在E-R模型中实体之间的关系也可以有主键。
主键的确定是要根据具体情况而定,如果关系表中只有两个实体关联,那么可以将两个实体的主键作为关系表的复合主键,如果关系表有额外属性,则需要使用一个独立的主键,该主键同时也可以使用两个实体的标识符的组合方式。
6.外键的确定如果在E-R图中,两个实体 A 和 B 之间有一个一对多的关系,那么在关系模型中表A 将拥有对表 B 的外键。
表 A 中包含了 B 表主键的引用,这样在A表中就可以引用B表中的数据。
ER模型转换为关系模型规则
关系模型是一种用于描述数据之间关系的模型,而ER模型是一种用于描述实体、实体之间关系、实体的属性的模型。
将ER模型转换为关系模型的规则如下:
1. 实体转换为关系表:
- 实体的每个属性转换为关系表中的一个列。
- 实体的主键属性作为关系表中的主键列。
- 若实体存在多值属性,则将其拆分为独立的关系表,与实体的关系表之间通过主键-外键关系连接。
2. 实体之间的一对多(1:N)关系:
- 子实体的主键作为父实体的外键列。
3. 实体之间的多对多(N:N)关系:
- 将多对多关系转换为独立的关系表,并包含两个实体的主键作为外键列。
4. 实体之间的一对一(1:1)关系:
- 将一对一关系的实体合并为一个关系表。
5. 属性与属性之间的关系:
- 若两个属性之间存在函数依赖关系(其中一个属性根据另
一个属性能够确定),则将其合并为同一个关系表的不同列。
这些规则可以帮助将ER模型转换为关系模型,并保持数据的一致性和完整性。
转换后的关系模型可以进一步用于数据库设计和数据处理。
1:1联系得转化
第一步:联系形成得关系独立存在:
职工表(职工号,姓名,年龄) 主码:职工号
产品表(产品号,产品名,价格) 主码:产品号
负责(职工号,产品号)主码:职工号或产品号合并方案1:“负责”与“职工”两关系合并:
职工(职工号,姓名,年龄,产品号)
产品(产品号,产品名,价格)
合并方案2:“负责”与“产品"两关系合并:
职工(职工号,姓名,年龄)
产品(产品号,产品名,价格,职工号)
1:n联系得转化
步骤一:联系形成得关系独立存在.
仓库(仓库号,地点,面积)主码:仓库号产品(产品号,产品名,价格)主码:产品号仓储(仓库号,产品号,数量) 主码:产品号合并后方案:联系形成得关系与n端对象合并。
仓库(仓库号,地点,面积)
产品(产品号,产品名,价格,仓库号,数量)m:n联系得转化
该模型可转换为三个关系模式:
学生(学号,姓名,性别,年龄)主码:学号
课程(课程号,课程名,学分)主码:课程号
选课(学号,课程号,成绩) 主码:学号+课程号
这个ER图可转换4个关系模式:
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪) 商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)。
数据库技术试题四、综合题1. 假设某商业集团数据库中有一关系模式R如下:R (商店编号,商品编号,数量,部门编号,负责人)如果规定:(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。
试回答下列问题:(1) 根据上述规定,写出关系模式R的基本函数依赖;(2) 找出关系模式R的候选码;(3) 试问关系模式R最高已经达到第几范式?为什么?(4) 如果R不属于3NF,请将R分解成3NF模式集。
2. 有一学生-课程数据库,包括学生关系stu(学号sno,姓名sname,性别sex,年龄sage,所在系sdept)、课程关系Course(课程号cno,课程名cname,学分credit)、选修关系sc(学号sno,课程号cno,成绩grade)。
用SQL语句完成下列查询。
(1) 查询信息系(information)的全体学生的的学号、姓名、年龄。
(2) 查询选修操作系统的学生姓名、课程号和成绩。
(3) 查询学号为95001的学生2号课程的姓名和成绩。
3. 有一学生-课程数据库,包括学生关系stu(学号sno,姓名sname,性别sex,年龄sage,所在系sdept)、课程关系Course(课程号cno,课程名cname,学分credit)、选修关系sc(学号sno,课程号cno,成绩grade)。
用SQL语言完成下列查询。
(1) 查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。
(2) 查询所有比“王华”年龄大的学生姓名、年龄和性别。
(3)查询选修“computer”课程的“女”学生的姓名及成绩。
4. 下表给出的关系SC为第几范式?是否存在插入、删除异常?若存在,则说明是什么情况下发生?发生的原因是什么?将它分解为高一级范式,分解后的关系能否解决操作异常问题?5. 某医院病房计算机管理中需要如下信息:科室:科名,科地址,科电话,医生姓名病房:病房号,床位号,所属科室名医生:姓名,职称,所属科室名,年龄,工作证号病人:病历号,姓名,性别,诊断,主管医生,病房号其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
如何绘制E-R图并将其转换成关系数据模型E-R图是描述概念数据模型的主要工具,利用E-R图实现概念结构设计的方法叫做E-R方法;而概念设计是数据库设计的第一个阶段,所以E-R图是个极其重要的考点。
E-R图也称为实体-联系模型(E-----entity, R-----relation),由实体,属性,联系三个要素构成。
图形符号为:实体(长方形),属性(椭圆),联系(菱形)绘制E-R图的方法:1,绘制数据流程图2,数据字典分析3,确定局部E-R图:A,画出部分实体E-R图B,画出分E-R图,即实体之间的联系图:4,集成完整的E-R图,即全部实体之间的联系图E-R图转换成关系模型的方法:只要记住以下转换原则,即可:(1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码(2)一个联系也转换为一个关系,联系的属性即联系所连接的实体的码都转换为关系的属性,但是关系的码会根据联系的类型变化,如果是:1:1联系,两端实体的码都成为关系的候选码1:多联系,端实体的码成为关系的码多:多联系,两端实体码的组合成为关系的码(3)具有相同码的关系可以合并以自底向上设计概念结构的方法为例,它通常分为两步:第一步:首先要根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部视图即分E-R图。
第二步:集成局部视图。
概念结构是对现实世界的一种抽象,一般有三种抽象:⑴分类( is member of )⑵聚集 ( is part of)⑶概括 (is subset of ) 设计分E-R图的步骤是:⑴选择局部应用在需求分析阶段,通过对应用环境和要求进行详尽的调查分析,用多层数据流图和数据字典描述了整个系统。
设计分E-R图的第一步,就是要根据系统的具体情况,在多层的数据流图中选择一个适当层次的(经验很重要)数据流图,让这组图中每一部分对应一个局部应用,我们即可以以这一层次的数据流图为出发点,设计分E-R图。
将ER模型转换成关系数据库ER模型转换关系数据库的一般规则:(1)将每一个实体类型转换成一个关系模式,实体的属性为关系模式的属性。
(2)对于二元联系,按各种情况处理,如下面所示。
二元关系ER图转换成的关系联系的处理主键外键1:1(2个关系)模式A模式B(有两种)处理方式(1):(1)把模式B的主键,联系的属性加入模式A处理方式(2):(2)把模式A的主键,联系的属性加入模式B(略)(依据联系的处理方式)方式(1):模式B的主键为模式A外键方式(2):表A的主键为表B的外键1:M(2个关系)模式A 模式B 把模式A的主键,联系的属性加入模式B(略)模式A的主键为模式B的外键M:N (3个关系)模式A模式B模式A-B联系类型转换成关系模式A-B;模式A-B的属性:(a)联系的属性(b)两端实体类型的主键两端实体类型的主键一起构成模式A-B主键两端实体类型的主键分别为模式A-B的外键M:N联系的示例比如,ER图如下:可以转换成以下模式:学生(学号,姓名,性别,年龄)主键为学号课程(课程号,课程名,任课教师)主键为课程号选课(学号,课程号,成绩)主键为课程号、学号,外键为课程号,学号;1:N联系的示例比如,ER图如下:可转换为如下关系模式:商店模式(商店编号,店名,店址,店经理)主键为商店编号商品模式(商品编号,商品名,单价,产地,商店编号,月销售量)主键为商品编号,外键为商店编号职工模式(职工编号,职工名,性别,工资,商店编号,开始时间)主键为职工编号,外键为商店编号真子集就是一个集合中的元素全部是另一个集合中的元素,但不存在相等;1、完全依赖与部分依赖:对于函数依赖W A,如果存在V是W的真子集而函数依赖V A成立,则称A部分依赖于W;否则,若不存在这种V,则称A完全依赖于W;2、传递依赖:对于函数依赖X Y,如果Y X(X不函数依赖于A)而函数依赖Y Z成立,则称Z 对X传递依赖;例:设有关系模式选课SC1(SNO,CNO,GRADE,CREDIT),其中,SNO 表示学号,CNO表示课程号,GRADE表示成绩,CREDIT表示学分。
将ER模型转换成关系数据库
ER模型转换关系数据库的一般规则:
(1)将每一个实体类型转换成一个关系模式,实体的属性为关系模式的属性。
(2)对于二元联系,按各种情况处理,如下面所示。
二元
关系ER图
转换成的关
系
联系的处理主键外键
1:1(2个关系)
模式A
模式B
(有两种)
处理方式(1):
(1)把模式B的
主键,联系的属性
加入模式A
处理方式(2):
(2)把模式A的
主键,联系的属性
加入模式B
(略)
(依据联系
的处理方式)
方式(1):
模式B的主键
为模式A外
键
方式(2):
表A的主键
为表B的外键
1:M
(2个关系)
模式A 模式B 把模式A的主键,
联系的属性加入
模式B
(略)
模式A的主
键为模式B的
外键
M:N (3个关系)
模式A
模式B
模式A-B
联系类型转换成
关系模式A-B;
模式A-B的属性:
(a)联系的属性
(b)两端实体类型
的主键
两端实体
类型的主
键一起构
成模式
A-B主键
两端实体类
型的主键分
别为模式A-B
的外键
M:N联系的示例比如,ER图如下:
可以转换成以下模式:
学生(学号,姓名,性别,年龄)
主键为学号
课程(课程号,课程名,任课教师)
主键为课程号
选课(学号,课程号,成绩)
主键为课程号、学号,外键为课程号,学号;
1:N联系的示例
比如,ER图如下:
可转换为如下关系模式:
商店模式(商店编号,店名,店址,店经理)
主键为商店编号
商品模式(商品编号,商品名,单价,产地,商店编号,月销售量)
主键为商品编号,外键为商店编号
职工模式(职工编号,职工名,性别,工资,商店编号,开始时间)
主键为职工编号,外键为商店编号
真子集就是一个集
合中的元素全部是另一
个集合中的元素,但不
存在相等;
1、完全依赖与部分依赖:
对于函数依赖W A,如果存在V是W的真子集而函数依赖V A成立,则称A部分依赖于W;否则,若不存在这种V,则称A完全依赖于W;
2、传递依赖:
对于函数依赖X Y,如果Y X(X不函数依赖于A)而函数依赖Y Z成立,则称Z 对X传递依赖;
例:设有关系模式选课SC1(SNO,CNO,GRADE,CREDIT),其中,SNO 表示学号,CNO表示课程号,GRADE表示成绩,CREDIT表示学分。
(SNO,CNO)-F->GRADE (完全函数依赖)
因为CNO→CREDIT,所以
(SNO,CNO)X-P->CREDIT (部分函数依赖)
(SNO,CNO)→CNO(平凡函数依赖),反之不成立,CNO→CREDIT,形成传递依赖(SNO,CNO)→CREDIT。
第1范式:如果一个关系模式R的所以属性都是不可分的基本数据项,则这个关系属于第1范式;
第2范式:若关系R属于第1范式,且每个非主属性都完全函数依赖于键码,则R属于第2范式;
第3范式:若关系模式R属于第1范式,且每个非主属性都不传递依赖于键码,则R属于第3范式;。