R={职工号(E#)、工资级别(SG)应发工资(S)}
分解为R={R1,R2},其中R1={S#,SG},R2={SG,S}。即R为三范式的数据库模式。请问这个R={R1,R2}是什么意思?能用个例子来说明吗???

解决方案 »

  1.   

    一、范式例子 定义: 
    ===== 
    第一范式:(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 
      

  2.   

    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)}}
     
    参照以上对应关系。
      

  3.   

    R={职工号(E#),工资级别(SG),应发工资(S)} 
    R1={职工号(E#),工资级别(SG)}
    R2={工资级别(SG),应发工资(S)}
    R = {R1,R2}
    {职工号(E#),工资级别(SG),应发工资(S)}  = {{职工号(E#),工资级别(SG)}, {工资级别(SG),应发工资(S)}} 
      

  4.   

    R={职工号(E#),工资级别(SG),应发工资(S)} 存在传递依赖,工资级别依赖于职工号;应发工资依赖于工资级别。