现在有如下的教学任务书
课程编号   课程名称                    授课班级
01          计算机组成原理及汇编       083211-2
02          数据结构与算法分析       083211-2
03           数据结构          083221-3
如果直接转换为关系模型的话,则如下【课程安排表】
课程编号   班级
01           083211
01           083212
...             ...
可以看到冗余很多
所以根据学校实际是采用教学班(把几个班合起来)来安排
添加一个关系【教学班表】
教学班号      班级
083211-2    083211
083211-2    083212
...                ...【课程安排表】
课程编号      教学班号
01                083211-2
02                083211-2
03                083221-3可是【教学班表】和【课程安排表】之间的关系是多对多的,实在想不出该如何转换,请教各位高手,在线等,谢谢!!!!!

解决方案 »

  1.   

    【课程表】             
    课程编号   课程名称     
    【教学班表】  
     教学班号  
    【课程安排表】 
    课程编号  教学班号
    ...
    还可以添加:
    【教师表 】
     教师编号   教师名称
    【教师授课表 】
    教师编号      课程编号
    ...等等
      

  2.   

    总之,一个规律:
    对象单独设表,
    对象之间的关系,单独设表,
    不要混乱
      

  3.   

    按照实际中的情况来设置,也就是第一种。 这也不是冗余第二种中
    教学班号    班级
    083211-2  083211
    083211-2  083212
    这不也是一种“冗余” 吗? 并且增加了维护量和复杂度。
      

  4.   

    我是想知道如何转换【教学班表】和【课程安排表】之间的多对多关系的
      

  5.   


    这确实是一种冗余,但是从实际数据输入的角度出发,在输入数据库时,083211-2班的课表就不能输入两次了
      

  6.   

    【教学班表】是一个对象,
    【课程安排表】是一个关系,
    还缺个对象。
    添加一个【课程表】不久ok吗?
      

  7.   

    【课程表】
    课程编号      课程名称
    01          计算机组成原理及汇编     
    02          数据结构与算法分析      
    03          数据结构   【教学班表】 
    教学班号      班级 
    083211-2    083211 
    083211-2    083212 
    ...                ... 【课程安排表】 
    课程编号      教学班号 
    01                083211-2 
    02                083211-2 
    03                083221-3 
    这里【教学班表】和【课程安排表】之间的关系是多对多的
      

  8.   

    【教学班表】 
    教学班号      班级 
    083211-2    083211 
    083211-2    083212 
    ...                ...