请问大家这样的一个数据库该如何设计 (100分)

S

siberia

Unregistered / Unconfirmed
GUEST, unregistred user!
有M门课程,有N个学生,每个学生在每个课程上都有一个分数。是设计一个大表,每个
学生在每一门课程上的分数都有一个表项,即有M*N个表项,还是弄M张表,每张表一门
课程?该怎么设计?
因为分数不多,初来乍到,多问几个问题吧,谢谢啦!
请问delphi里面完成下列功能用什么函数:
新建一个数据库 在某个数据库里新建一张表 获取当前机器上的数据库列表(paradox)
获取当前数据库的表的列表
另外,我用paradox开发完一个数据库应用程序,该怎么打包,才可以让没有安delphi的机器也适用?
3000多学生,40多门课,120000个表项,速度够么??
 
1. 建议:一个课程表,一个学生表,一个学生课程成绩表。但是这种设计方法如果要出
某个学生若干门课程的成绩表,稍有困难。
2. 可以用Delphi安装盘中的Installshield from Delphi Limit Edition 软件安装。
但是请去下载他的东方语言包。否则不支持中文安装界面。
 
课程名称,学生名称,分数 三个字段就可以了啊

打包时把BED也打包进去就可以了
 
数据量有多大?

其实数据库设计应该还要看程序的具体应用是怎样的
 
差不多3000个学生,40多门课,要120000个表项,速度够么??
 
打包可用wise
或建立一个bat文件,将要用的文件copy就可了。
 
问题1
表1: StudentIdMark
字段名: StudentId (长整型或一定格式的字符串,为主键)
StudentMark (字符串,具体格式, M01,M02,M03,...,其中M??为具体分数)
表2: Course
字段名: CourseId (长整型或一定格式的字符串,为主键)
CourseName (字符串)
CoursePos (长整型,与表StudentIdMark中的StudentMark所表示成绩的顺序
相对应)
...... (其他属性)
查询学生成绩时,用Course.CoursePos和StudentIdMark.StudentMark通过SQL字符串函数
计算出成绩,建议使用存储过程。

问题2
使用Session,Database以及相关的DataSet(例如Table、ClientDataSet),建议参考
Delphi的Demos(一般在Delphi?/Demos/???中),首先需要透彻理解Session等的概念和
结构。

问题3
在Delphi中使用Paradox数据库一般需要BDE的支持,程序移植时需要安装配置BDE(注意
包含您所使用的支持文件,具体可以参考BDE Administrator以及BDE目录中的帮助文件)。
程序打包时需要明了程序所需的支持文件有哪些,具体情况具体分析,若需要快速地拥有
安装界面可以考虑使用Delphi安装盘(完整)中的InstallShield,若无此要求,也可简单
地将所需文件打包(例如使用压缩软件)。
 
多人接受答案了。
 
顶部