学生一个表,
学校一个表,
班级一个表,
科目一个表,
成绩一个表,
成绩表可以如下
ID,学生ID,学校ID,班级ID,科目ID,分数。
或者可以把学校ID,班级ID拿到,因为有学生ID,就能从学生表中找到相应的学校ID,班级ID

解决方案 »

  1.   

    CrazyFor(Fan) 
    的设计比较不错。比你们什么经理的好多了。
      

  2.   

    不合理!!同意CrazyFor(Fan) 的建议,根本不需要见那末多表。
      

  3.   

    freeboy777 (自由男孩) :
      我看你是死定了,你泄漏了你们经理的技术秘密。
      

  4.   

    CCEO() 真有意思!
    同意CrazyFor(Fan)
      

  5.   

    楼主,你的BOSS想直接到报表,教你不要为报表烦恼了!啊哈:->其实你可以谦虚的问一下你的BOSS,如果教委要增加一门课,是否要修改360个表的结构?!
      

  6.   

    首先同意楼上几个师兄的意见,理由嘛,我想大家都已经说的很充分了,尤其是楼上的。小弟也曾经遇到这样的情况,在以前的公司,当时是给一个电厂做MIS,本来我们都习惯按3范式结构来设计库,没想到经理偏偏设计了个类似与楼主经理那样的结构出来,百思不得其解,他的理由是其预留了一部分字段(空的,数量有多少忘记了),做为将来扩展所用,说是比到时一有个什么关联就增加一个表强。嗨,反正到跳槽的那天,我都是反对他的设计方案的
      

  7.   

    我觉得 leimin(黄山光明顶) 的方法比较好!
    人家当经理有他当经理的理由,也许他能听进不同的意见。
      

  8.   

    声援搂主
    请关注:
    http://expert.csdn.net/Expert/topic/1193/1193321.xml?temp=.6012384急!!!!!!
      

  9.   

    同意CrazyFor(Fan) 。
    楼主,这种经理,炒了他吧
      

  10.   

    我个人认为你技术经理是有点道理的,因为这样,有些专有用途可能查询起来效率高些。
    如果我写的话,可能会在楼上各位和你经理的方案折中一下。
    设计4个表:
    成绩表
    ID SHUXUE YUWEN TIYU
    学生表
    ID NAME SCHOOLID GRADEID
    学校表
    SCHOOLID SCHOOLNAME
    年级表
    GRADEID GRADE或简化成2个表
    成绩表
    ID SHUXUE YUWEN TIYU
    学生表
    ID NAME SCHOOLNAME GRADE
      

  11.   

    database_name:stu_score_2002(2002年度的学生分数库,注意数据库一年一个)create table   gy_xxdm  //公用_学校代码

         xxdm   varchar(4),  //学校代码,PK
         xxmc   varchar(30), //学校名称
         bz     text         //备注
    );create table   gy_njdm  //公用_年级代码

         njdm   varchar(4),  //年级代码,PK
         njmc   varchar(10), //年级名称
         bz     text         //备注
    );create table   gy_bjdm  //公用_班级代码

         bjdm   varchar(4),  //班级代码,PK
         bjmc   varchar(10), //班级名称
         bz     text         //备注
    );create table   gy_xzdm  //公用_性质代码,考试性质表(平时、期中、期末考试等)

         xzdm   varchar(4),  //性质代码,PK
         xzmc   varchar(20), //性质名称
         bz     text         //备注
    );create table   gy_student  //公用_学生表(记录学生这个实体的基本信息)

         stu_id         varchar(20), //学生编号,PK
         stu_name       varchar(8) , //学生姓名
         stu_pydm       varchar(4) , //学生的拼音代码,录入学生成绩时方便检索.
         stu_xb         varchar(2) , //学生性别
         stu_csny       datetime   , //出生年月
         xxdm           varchar(4) , //学校代码
         njdm           varchar(4) , //年纪代码
         bjdm           varchar(4) , //班级代码  
         zfpb           int        , //作废判别,1-作废
         ...
          
         bz     text                 //备注
    );create table   gy_cjb  //公用_成绩表(记录学生某次考试的成绩信息)

         
         stu_id           varchar(20) ,  //学生编号,PK
         xzdm             varchar(4)  ,  //考试性质代码,PK
         score_sum        decimal(10,2), //总分
         score_chinese    decimal(8,2),  //语文
         score_maths      decimal(8,2),  //数学
         score_english    decimal(8,2),  //英语
         score_physics    decimal(8,2),  //物理
         
         ...     bz         text         //备注
    );你就叫照这个结构去设计程序,保证是傻瓜型的。
      

  12.   

    to  gks_cn(深情的狼)
    我们技术经理是从美国硅谷回来的
      

  13.   

    回复人: freeboy777(自由男孩) ( ) 信誉:100  2002-11-23 08:15:00  得分:0 
     
     
      to  gks_cn(深情的狼)
    我们技术经理是从美国硅谷回来的
      
     让我想起前几天看老片《围城》的以句台词:“兄弟我,在牛津的时候......”
      

  14.   

    我估计你们经理应该是fox起家的,
    在fox中这是最常用的,最有效,编程最方便的建表方式。
    但这等于放弃了RDBMS的特常,退回到ISAM的时代,不可取!
    实际fox严格意义上不能算RDBMS.