有三个表:
学生表(学生ID,姓名,)
科目表(科目ID,科目名称)
成绩表(学生ID,科目ID,成绩)面试的软件经理问我,以上的表结构存在不合理,需要怎么修改,谢谢大家了

解决方案 »

  1.   

    学生表(学生ID,姓名,)
    科目表(科目ID,科目名称)
    成绩表(成绩ID, 学生ID,科目ID,成绩)--(第一个字段为主键)
      

  2.   

    学生表(学生ID,姓名)
    科目表(科目ID,科目名称)
    成绩表(学生ID,科目ID,成绩)例如语文,如果是小学到高中都叫语文。如果这样设计,就不知道成绩具体是哪个年度的语文成绩。
    应该在成绩表加年份字段!
      

  3.   


    学生表(学生ID,姓名)
    科目表(科目ID,科目名称)
    成绩表(学生ID,科目ID,成绩,年份)
      

  4.   

    后来给我提示是,每一个学生中每一个科目都要一条记录,那么M个学生N个科目就要M*N条记录,在性能上不太好
      

  5.   

    这样解释有点儿牵强。设计表结构,最主要的是满足业务需求,没有业务需求的支撑,凭空设计表是没有意义的。
    成绩表(学生ID,科目ID,成绩)这样设计最灵活,但实现起来代码可能麻烦些。
      

  6.   

    学生表(学生ID,姓名,以及学生基本资料。。)
    科目表(科目ID,科目名称)
    成绩表(学生ID,科目ID,成绩,创建时间,成绩的id,录入人员名称)
      

  7.   

    学生表(学生ID,姓名,学生的一些基本信息)
    科目表(科目ID,科目名称,科目相关的信息)
    成绩表(Id identity,学生ID,科目ID,成绩,时间之类的一些属性)
      

  8.   

    成绩表(学生ID,科目ID,成绩)
    对,这样设置在实现代码的方面比较复杂一点ojuju10(longdchuanren)
    成绩表(Id identity,学生ID,科目ID,成绩,时间之类的一些属性)
    是个方法。但不能保持表的一致性。
      

  9.   

    方案一:
    成绩表(学生ID,科目ID,成绩) => 成绩表(成绩ID,成绩)
    然後再添加一張關係表 => (学生ID,科目ID,成绩ID)
    理由:
    對於同樣一門科目,如果考了兩次試,按照 成绩表(学生ID,科目ID,成绩)的設計,各次考試之間先後順序無法確立,故利用成績ID,同一學生的同一科目中成績ID最大的為最新考試成績記錄方案二:
    在成績表中添加一個字段:考試時間,然後把(考試時間,学生ID,科目ID)共同做主鍵,這樣就能區分每次的同科目考試的成績了根本原因就是(學生ID,科目ID)兩個字段不能明確的區分各次考試成績
      

  10.   

    学生表(学生ID,姓名,)
    科目表(科目ID,科目名称)
    成绩表(成绩ID, 学生ID,科目ID,成绩)--(第一个字段为主键)
    我觉得应该这样
      

  11.   

    发表下个人愚见:
    有三个表:
    学生表(学生ID,姓名,)
    科目表(科目ID,科目名称)
    成绩表(学生ID,科目ID,成绩)
    好象一般都是这么设计的,能不能这样
    学生表(学生ID,姓名,)
    科目表(科目ID,科目名称)
    成绩表(成绩ID,成绩)
    关联表 (学生ID,科目ID,成绩ID)这个设计好象有占允余,但对查询来说方便
      

  12.   

    这样设计更符合实际学生表(学生ID,姓名,)
    科目表(科目ID,科目名称)
    成绩表(成绩第ID,学生ID,科目ID,成绩,年度,学期)
      

  13.   

    学生表(学生ID,姓名)
    科目表(科目ID,学生ID,科目名称)
    成绩表(科目ID,学生ID,成绩,年度,学期)
    个人感觉这样比较合理!科目表得看学生选择了什么课呀!
    成绩表和上面的仁兄一样的!
      

  14.   

    有三个表:
    学生表(学生ID,姓名,)
    科目表(科目ID,科目名称)
    成绩表(学生ID,科目ID,成绩)
    --》
    学生表(学生ID,姓名,)
    科目表(科目ID,科目名称)
    成绩表(学生ID,科目ID_1,成绩_1,科目ID_2,成绩_2,科目ID_3,成绩_3,科目ID_4,成绩_4)
      

  15.   

    to enaking
    我的是oracle DBA在某市高考系统中设计的数据库样例。
      

  16.   

    成绩表(学生ID,科目ID,成绩) 前两个属性作联合主键最好..