日期:2014-05-19  浏览次数:20386 次

数据库设计问题,和大家共同探讨...
在做一个成绩管理系统时遇到的问题:
        数据库成绩表grade中的字段包括:学号,课程名,成绩(此处只列出部分)
        在添加学生成绩的时候,当初我是这样想的:每添加一个成绩将在grade表中增加一行,我想要是有一万学生(注:我们学校有5万学生),每个学生有30门课程成绩那不是在grade表中有30万行,那是个相当庞大的数据量了。我在想有没有更好的解决方法。      
        还有要是我上面的设计,代价有多大?可行性如何?
        谢谢大家!



------解决方案--------------------
30万不算大了
------解决方案--------------------
都是这样一对多设计的,因为课程是变的,变不是固定的。
30万对一个数据库来讲是小意思,希望你用的不是ACCESS数据库,哈哈。
------解决方案--------------------
SQL可以扛100W条的 放心吧

如果一个表真的满了就 select into到一个表备份起来~~~以后再去查这个表是一样的
------解决方案--------------------
设计上来说,没多大问题,符合3NF
------解决方案--------------------
嗯,成绩是这样设计的,每个学生到毕业一般都有30条左右的数据来记录,跟我以前设计的成绩系统思路一样,基本成绩系统思路也都是这样的.
如果字段太多,可能冗余会更多。所以这样的设计方案可以,4年下来,也就200W左右数据。不算多