| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 897 人关注过本帖
标题:成绩管理系统数据库设计问题
只看楼主 加入收藏
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
结帖率:95.12%
收藏
已结贴  问题点数:10 回复次数:3 
成绩管理系统数据库设计问题
成绩管理系统数据库设计问题
表1.
学生ID ---自动编号
名字 -----文本
学期------数字(用1至8分别表示哪一学期)
课程1-----数字(课程1的分数)
课程2-----数字(课程2的分数)
课程3-----数字(课程3的分数)
课程4-----数字(课程4的分数)

表2.
学生ID ---自动编号
名字 -----文本
学期------数字(用1至8分别表示哪一学期)
课程-----文本(课程的名称,如英语,数学)
分数-----数字(相应课程的分数)


以上是两种设计方案,第一种比较清晰,但是在插入数据的时候不好操作,比如先插入“课程1”的分数,那“课程2—4”要用update语句进行更新了,不好判断,麻烦,,但这种设计可以减少数据表的深度;第二种很方便插入数据,但是增加数据表的记录数。。。如果表1有1万条记录,那么相应的表2就是4万条甚至更多的记录,各位说说到底要哪个比较好,为什么?,考虑到数据库的性能问题,,,,,谢谢了
搜索更多相关主题的帖子: 数据库设计 系统 管理 
2010-11-24 15:56
wshotdbb
Rank: 1
等 级:新手上路
帖 子:3
专家分:6
注 册:2010-11-24
收藏
得分:3 
这道题 曾经我面试时遇到过

[url=http://www.]成都装修公司[/url]
2010-11-24 16:01
saitor
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:5
帖 子:373
专家分:1520
注 册:2009-5-18
收藏
得分:3 
如果是我设计你这些字段至少要拆成3张表
2010-11-24 16:08
北京的晚秋
Rank: 4
来 自:北京
等 级:业余侠客
帖 子:94
专家分:247
注 册:2010-11-14
收藏
得分:3 
1、这要看你怎么说了,从某些情况来讲,第一种会好一些,因为它能够满足一般的查询,就一般的需求来说,肯定是查询某个学生的所有信息,这样在一条记录中就能体现,在查询速度上是非常快的。从常理上讲,一个学生只能入学一次,之后的每个学期都是在不断的更新这个人的信息而已,所以用update是很正常的事情,总不能一个学生在每学期注册的时候都要从新办入学?这样是不通情理的。
2、但是换个角度说,现在的计算机硬盘动辄以百G计算,甚至都是以T计算,多这点数据量不算什么,但是换来的却是程序的逻辑的简化,开发速度的提升,甚至有可能因为简化的逻辑,从而提高了程序的执行效率,这都是不好说的,所以第二种方式也是很好的,甚至是很多人都比较习惯采用的方式。
3、像3楼说的,其实是很好的方案,把一张表拆成3张,既能减少数据量,又能简化逻辑,这才是我们最常用的方式
呵呵,个人的愚见而已

出生在北京的晚秋时节,于是遍爱上了这个季节
2010-11-24 22:44
快速回复:成绩管理系统数据库设计问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020899 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved