数据库设计问题。崩溃ING...
学生作业管理系统 
 主要功能: 
 1.教师可以通过   所教班级(多个班)或所教科目   .布置作业内容 
 2.学生通过所学科目.查看尚未完成作业   提交作业 
 3.教师通过所教班级.或点击已经提交的作业查看   批改作业 
 4.学生通过科目.查看提交的作业的分数.   
 主要表:   1.学生   2.教师   3.班级   4.科目   5.作业   
 设计表的难点: 
 1.课程是可以增减的 
 2.所教班级不止一个班?? 
 3.教师所教科目不止一个,并且教的科目每年可能会变. 
 4.班级的课程每年也会变   
 提问: 
 本来我的关系是这样建的   
 教师表:TID   TNAME... 
 课程表:SID   SNAME... 
 班级表:CID   CNAME... 
 临时表:TID   SID   CID   
 后来朋友建议我将   课程ID   字段内容设计成:2007-J-02-11       
 意思代表   2007年的课程   名字叫JAVA   属于02教学组   属于11班级组      
 请问这样设计字段后该如何建立关系表啊.
------解决方案--------------------你的表的结构可以,你朋友的不好
------解决方案--------------------1、教师表 与 课程表  建立一个对应表 A(一个教师可以教多门课程 1:N) 
  2、学生表 与 A       建立一个对应表 B (学生选课的同时,也于老师建立了对应关系) 
  3、学生表 与 班级表  建立一个对应表 C (解决因年度变化,班级与学生多对多的情况) 
  4、在作业表里将科目编码作为外键(一个科目可能有多种作业)   
 以上想法,供参考。
------解决方案--------------------create table class                                          #班级 
 ( 
 ID smallint(5) unsigned not null auto_increment primary key, 
 name varchar(20) not null default  ' ', 
 students tinyint(3) unsigned not null default 0             #学生数量 
 ) 
 engine=MyISAM default charset=utf8;     
 create table subject                                        #科目 
 ( 
 ID tinyint(3) unsigned not null auto_increment primary key, 
 name varchar(20) not null default  ' ' 
 ) 
 engine=MyISAM default charset=utf8;     
 create table teacher                                        #教师 
 ( 
 ID smallint(5) unsigned not null auto_increment primary key, 
 name varchar(20) not null default  ' ' 
 ) 
 engine=MyISAM default charset=utf8;     
 create table relation                                       #教师与所教班级、科目的对应关系 
 ( 
 ID smallint(5) unsigned not null auto_increment primary key, 
 class smallint(5) not null default 0, 
 SID text                                                    #科目ID列表,例“1,2,3” 
 ) 
 engine=MyISAM default charset=utf8;     
 create table student                                        #学生 
 ( 
 ID mediumint(8) unsigned not null auto_increment primary key, 
 name varchar(20) not null default  ' ', 
 CID smallint(5) not null,                                   #班级ID 
 SID text,                                                   #科目ID列表,例“1,2,3” 
 index index_CID (CID) 
 ) 
 engine=MyISAM default charset=utf8;     
 create table homework                                       #作业 
 ( 
 ID mediumint(8) unsigned not null auto_increment primary key, 
 TID smallint(5) unsigned not null,                          #教师ID 
 CID smallint(5) unsigned not null,                          #班级ID 
 SID tinyint(3) unsigned not null,                           #科目ID 
 text text,                                                  #内容 
 index index_CID_SID (CID, SID) 
 ) 
 engine=MyISAM default charset=utf8;     
 create table homework_submited                              #提交的作业 
 ( 
 ID mediumint(8) unsigned not null auto_increment primary key, 
 HID mediumint(8) unsigned not null,                         #作业ID 
 SID mediumint(8) unsigned not null,                         #学生ID 
 score tinyint(3) unsigned not null,                         #得分 
 index index_HID (HID) 
 ) 
 engine=MyISAM default charset=utf8;