还是不明白什么才叫3NF R={职工号(E#)、工资级别(SG)应发工资(S)}分解为R={R1,R2},其中R1={S#,SG},R2={SG,S}。即R为三范式的数据库模式。请问这个R={R1,R2}是什么意思?能用个例子来说明吗??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一、范式例子 定义: ===== 第一范式:(1NF) 如果关系模式,它的每一分量是不可分的数据项,则此关系模式为第一范式 第二范式:(2NF) 若关系模式R属于1NF,且每个非主属性完全依赖于码,则R为2NF 第三范式:(3NF) 若关系模式R属于2NF,不存在非主属性对码的传递依赖,则称R为3NF 传递依赖:当属性间存在X->Y,Y-\->X,Y->Z,称z传递依赖与X 举例: ===== 将有关学生简历、选课等数据设计成一关系模式student 表示为: student(sno,sname,age,sex,class,department,cno,cname,score,grade) ----------------------------------------------------------------- 该关系模式的每一属性对应的域为简单域,符合第一范式 该关系模式满足函数依赖集 F={sno->sname,sno->age,sno->sex,sno->class,sno->department class->departmet (班级决定系) cno->cname,cno->score(课程号决定课程名、学分) sno,cno->grade(学号和课程号决定成绩) } 下面将低级范式的关系模式转换成若干个高一级范式的关系模式集合 student1(sno,sname,age,sex,class,department) -------------------------------------------- course(cno,cname,score) ------------------------- sc(sno,cno,grade) ----------------- 非主属性对码完全依赖,均为2NF 分析模式student1,存在sno->class ,class-\->sno,class->department 所以存在department(系)对sno(学号)传递依赖,所以关系模式student1不是第三范式 student1分解为: student2(sno,sname,age,sex,class) --------------------------------- class(class,department) ----------------------- 所以关系模式student 可分解成 4个3NF的关系模式student2 ,class ,course,sc R={职工号(E#)、工资级别(SG)应发工资(S)} 分解为R={R1,R2},其中R1={E#,SG},R2={SG,S}。即R为三范式的数据库模式。 请问这个R={R1,R2}是什么意思?能用个例子来说明吗???R = {R1 , R2}{职工号(E#),工资级别(SG),应发工资(S)} = {{职工号(E#),工资级别(SG)}, {工资级别(SG),应发工资(S)}} 参照以上对应关系。 R={职工号(E#),工资级别(SG),应发工资(S)} R1={职工号(E#),工资级别(SG)}R2={工资级别(SG),应发工资(S)}R = {R1,R2}{职工号(E#),工资级别(SG),应发工资(S)} = {{职工号(E#),工资级别(SG)}, {工资级别(SG),应发工资(S)}} R={职工号(E#),工资级别(SG),应发工资(S)} 存在传递依赖,工资级别依赖于职工号;应发工资依赖于工资级别。 该怎样修改这些数据格式 一个模糊查询问题~! 一个关于like的查询语句,请高手指教下 sqlserver作业无法执行 sql 取未来时间 一个纠结的SQL语句 sql存储过程,如何获取总记录数? 用 SQL 怎样为一个已存在的表字段加上一个索引 ? (注意加上索引后,要求不能将原来该列已有的数据删除) 一个查询 请DBA给个建议:SQL2012如何合理配置分区表 很基础的SQL语句问题,求解答 exec内部执行变量语句
=====
第一范式:(1NF)
如果关系模式,它的每一分量是不可分的数据项,则此关系模式为第一范式
第二范式:(2NF)
若关系模式R属于1NF,且每个非主属性完全依赖于码,则R为2NF
第三范式:(3NF)
若关系模式R属于2NF,不存在非主属性对码的传递依赖,则称R为3NF
传递依赖:当属性间存在X->Y,Y-\->X,Y->Z,称z传递依赖与X 举例:
=====
将有关学生简历、选课等数据设计成一关系模式student
表示为:
student(sno,sname,age,sex,class,department,cno,cname,score,grade)
-----------------------------------------------------------------
该关系模式的每一属性对应的域为简单域,符合第一范式
该关系模式满足函数依赖集
F={sno->sname,sno->age,sno->sex,sno->class,sno->department
class->departmet (班级决定系)
cno->cname,cno->score(课程号决定课程名、学分)
sno,cno->grade(学号和课程号决定成绩)
}
下面将低级范式的关系模式转换成若干个高一级范式的关系模式集合
student1(sno,sname,age,sex,class,department)
--------------------------------------------
course(cno,cname,score)
-------------------------
sc(sno,cno,grade)
-----------------
非主属性对码完全依赖,均为2NF 分析模式student1,存在sno->class ,class-\->sno,class->department
所以存在department(系)对sno(学号)传递依赖,所以关系模式student1不是第三范式
student1分解为:
student2(sno,sname,age,sex,class)
---------------------------------
class(class,department)
-----------------------
所以关系模式student 可分解成 4个3NF的关系模式student2 ,class ,course,sc
分解为R={R1,R2},其中R1={E#,SG},R2={SG,S}。即R为三范式的数据库模式。 请问这个R={R1,R2}是什么意思?能用个例子来说明吗???R = {R1 , R2}
{职工号(E#),工资级别(SG),应发工资(S)} = {{职工号(E#),工资级别(SG)}, {工资级别(SG),应发工资(S)}}
参照以上对应关系。
R1={职工号(E#),工资级别(SG)}
R2={工资级别(SG),应发工资(S)}
R = {R1,R2}
{职工号(E#),工资级别(SG),应发工资(S)} = {{职工号(E#),工资级别(SG)}, {工资级别(SG),应发工资(S)}}