学生作业系统数据库设计.docx
- 文档编号:24638282
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:17
- 大小:325.18KB
学生作业系统数据库设计.docx
《学生作业系统数据库设计.docx》由会员分享,可在线阅读,更多相关《学生作业系统数据库设计.docx(17页珍藏版)》请在冰豆网上搜索。
学生作业系统数据库设计
计算机科学系实验报告(首页)
课程名称数据库系统概论班级08网络
(1)班
实验名称实验5简单应用系统的实现指导教师
姓名学号日期2010.05.26
___________________________________________________________
1.需求分析
1.1功能需求
在学生作业系统中,经分析,该系统由两个子系统组成:
一是学生解答作业子系统,一是老师布置作业子系统。
在学生作业子系统,学生通过自己的学号登录进入系统,系统自行记录学生信息,进入系统后,学生通过系统相应提示选择相应的作业,解答完后,提交作业,最后查看成绩。
在此,老师布置的作业有两种,一种是客观题,一种是主观题。
学生选择客观题时,通过操作定位题目章节(即题目属那一章的那一节的),系统开始显示相应章节的题目作答,解答完后可以查看系统给出的答案并查看自己客观题的成绩,当然系统早已给学生评分了,那是跟学生解题同步的系统工作。
学生选择主观题时,同样要定位相应作业的批次,下载老师上传到相应章节的主观题作业,学生解答完后,必须到把它上传回系统相应的地方,等待老师批改完后才能查看答案与成绩。
在老师布置作业子系统,老师通过自己固有的老师ID号登录进入系统,进入系统后,老师有两种题目作业的布置操作,一是布置客观题作业,一是布置主观题作业。
操作客观题时,老师要定位题目所对应的章节,把相应的客观题输入系统保存下来。
操作主观题是老师又有两个操作选择:
一是批发学生做好的主观题目,一是上传新的主观题目。
批改主观题时,老师定位相应的章节才能下载相应的题目,下载题目后再批改作业,当然这个批改作业已经脱离系统,批改完后,再把作业上传回系统,学生就可以查看改好的作业。
上传新的主观题作业时,先定位题目属那个课程,那个章节,这些都必须在系统中作正确的操作,再把题目插入系统,并设置作业解题的时间。
经过分析,可以构建出学生作业系统的功能组织结构图:
1.2数据字典
1.2.1数据项
数据项名
学号
数据项名
学生姓名
数据项名
班别
含义
唯一标识学生
含义
学生姓名
含义
学生所在班名
别名
Sno
别名
Sname
别名
Rname
数据类型
Char
数据类型
Char
数据类型
Char
长度
15
长度
20
长度
20
数据项名
教师代号
数据项名
教师姓名
数据项名
职称
含义
唯一标识教师
含义
教师的名字
含义
教师的职称
别名
Tno
别名
Tname
别名
Rank
数据类型
Char
数据类型
Char
数据类型
Char
长度
15
长度
20
长度
20
数据项名
学生密码
数据项名
教师密码
数据项名
系别
含义
学生登录密码
含义
教师登录密码
含义
学生所在系名
别名
Spwd
别名
Tpwd
别名
Dept
数据类型
Char
数据类型
Char
数据类型
Char
长度
6~15
长度
6~15
长度
25
数据项名
课程号
数据项名
主观题ID
数据项名
批次
含义
某科目的编号
含义
标识某主观题
含义
主观题的批次
别名
Cno
别名
Sub_ID
别名
sequence
数据类型
Char
数据类型
Char
数据类型
Char
长度
25
长度
5
长度
5
数据项名
时间
数据项名
题号
数据项名
答案
含义
交主观题时间
含义
标题客观题
含义
客观题的答案
别名
Time
别名
Imp_id
别名
answer
数据类型
Char
数据类型
Char
数据类型
Char
长度
10
长度
5
长度
3
数据项名
课程名
数据项名
章节名
数据项名
章节名
含义
某个课程名称
含义
某章节的名称
含义
标识某章节编号
别名
Cname
别名
Chname
别名
Chno
数据类型
Char
数据类型
Char
数据类型
Char
长度
25
长度
25
长度
10
1.2.2数据结构
数据结构名
学生(student)
含义说明
定义了一个学生的有关信息
组成
{学号+姓名+系别+班别+登录密码}
备注
用于登录作业系统并标识学生的信息
数据结构名
教师(teacher)
含义说明
定义了一个教师的有关信息
组成
{代号+姓名+职称+登录密码}
备注
用于标识教师的信息和登录作业系统
数据结构名
客观题(impersonal)
含义说明
定义了客观题的有关信息
组成
{题号+答案+内容}
备注
用于标识具体的客观题目
数据结构名
主观题(subjective)
含义说明
定义了主观题信息
组成
{主观题ID,批次,时间}
备注
用于标识具体的主观题目
数据结构名
章节(chapter)
含义说明
定义了题目的具体章节
组成
{课程号+章节号+章节名}
备注
用于标识题目所属的具体章节
数据结构名
主观题成绩(sub_mark)
含义说明
定义了主观题成绩统计信息
组成
{学号+批次+分数}
备注
用于标识主观题的具体成绩信息
数据结构名
客观题成绩(imp_mark)
含义说明
定义了客观题成绩统计信息
组成
{学号+课程号+章节号+分数}
备注
用于标识客观题的具体成绩信息
数据结构名
课程(subject)
含义说明
定义了某课程的有关信息
组成
{课程号+课程名+作者+出版社}
备注
用于标识具体的科目
1.2.3数据流
数据流名
学生信息
数据流名
教师信息
说明
用于学生登录
说明
用于教师登录
数据流来源
学生资料
数据流来源
教师资料
数据流去向
学生
数据流去向
教师
组成
{学号+姓名+系别+班别+登录密码}
组成
{代号+姓名+职称+登录密码}
数据流名
客观题信息
数据流名
主观题信息
说明
客观题(选择题、判断题等)
说明
学生下载下来解答后再上传
数据流来源
老师布置
数据流来源
老师布置
数据流去向
客观题作业
数据流去向
学生下载作业
组成
{题号+答案+内容}
组成
{主观题ID+批次+时间}
数据流名
客观题成绩信息
数据流名
主观题成绩信息
说明
同一章节的所有客观题的成绩统计
说明
同一批次的所有主观题的成绩统计
数据流来源
客观题成绩
数据流来源
主观题成绩
数据流去向
学生
数据流去向
学生
组成
{学号+课程号+章节号+分数}
组成
{学号+批次+分数}
1.3数据流图
根据需求分析以及数据字典,可以画出学生作业系统的数据流图:
2.概念结构设计
2.1局部视图设计
2.1.1学生做作业子系统
在学生做作业子系统中,主要处理业务就是做作业、生成成绩这两项操作,其中做作业有做主观题和客观题,而主观作业的成绩需要等待老师批改后才能可知。
经过分析后可设计出如下E—R图。
●各实体的属性如下:
学生:
{学号,姓名,系别,班别,登录密码}
客观题:
{题号,答案,内容}
主观题:
{主观题ID,批次,时间}
客观题成绩:
{学号,课程号,章节号,题数,分数}
主观题成绩:
{学号,课程号,章节号,批次,分数}
2.1.2老师布置作业子系统
在老师布置作业子系统中,主要处理的业务是布置作业、批改主观题作业这两项操作,其中布置作业有布置主观题作业和客观题作业。
经过分析后可设计出如下E—R图。
●各实体的属性如下:
老师:
{代号,姓名,职称,登录密码}
客观题:
{题号,答案,内容}
主观题:
{主观题ID,批次,时间}
2.1.3作业与章节的关系
无论是主观题作业还是客观题作业,它都归属于一个课程的某个章节,当然,这里是要求老师所布置的每一次作业(客观题和主观题)都必须有个章节(指定作业所属课程中的某个知识范围)的信息,而并不是要求每个章节都必须有一次作业。
如果不对各次作业标识课程和章节,那么作业的登记就会乱,分不清批次。
经过分析后可以设计出如下的分E—R图。
●各实体的属性如下:
课程:
{课程号+课程名+作者+出版社}]
章节:
{课程号+章节号+章节名}
客观题:
{题号,答案,内容}
主观题:
{主观题ID,批次,时间}
2.2视图的集成
2.2.1合并分E-R图,生成初步E-R图
根据上面分E—R图的划分情况,可以看出整个系统的数据库设计都围绕了主观题和客观题这两个关系进行周转。
通过消除各分E-R图的属性冲突、命名冲突、结构冲突之后,可以通过合并各个分E-R图后,得到学生作业系统数据库总E-R图的初步模型:
2.2.2设计基本E-R图
经过整体分析,确定最终的E-R图如下:
3.逻辑结构设计
3.1基本E-R图向关系模型的转换
经过整体的分析,根据E-R图向关系模型转换的一般原则,作业系统数据库的关系模型可以如下标出:
学生(学号,登录密码,姓名,系别,班别)
老师(代号,登录密码,姓名,职称)
章节(章节号,课程号,章节名)
课程(课程号,课程名,作者,出版社)
客观题(题号,章节号,课程号,答案,内容)
主观题(主观题ID,批次,时间)
客观题成绩(学号,课程号,章节号,分数)
主观题成绩(学号,批次,分数)
做作业(学号,题号,主观题ID)
3.2数据模型优化
一、分析函数依赖:
学生关系:
学号→登录密码;学号→姓名;学号→系别;学号→班别
老师关系:
代号→登录密码;代号→姓名;代号→职称
章节关系:
(章节号,课程号)→章节名
课程关系:
课程号→课程名;课程号→作者;课程号→出版社
客观题关系:
(题号,章节号,课程号)→作案;(题号,章节号,课程号)→内容
主观题关系:
(主观题ID,批次)→时间
客观题成绩关系:
(学号,课程号,章节号)→分数
主观题成绩:
(学号,批次)→分数
做作业关系:
(学号,题号,主观题ID)
二、分析传递函数依赖:
经过分析每个关系的属性间的传递依赖性,可以发现各个关系的每一个非主属性既不部分依赖于码,也不传递依赖于码。
因此,通过对关系进行上面分析函数依赖与传递函数依赖,有以下结论:
●所有非主属性对每一个码都是完全函数依赖。
●所有的主属性对每一个不包含它的码,也是完全函数依赖。
●没有任何属性完全函数依赖于非码的任何一组属性。
由此,可知该数据库所有关系均至少拥有BCNF。
3.3用户模式设计
根据数据字典的设计情况以及考虑用户使用该数据库的习惯性与方便性,现对数据库各个关系进行重新标识。
学生关系:
student(sno,spwd,sname,dept,class)
老师关系:
teather(tno,tpwd,tname,rank)
章节关系:
chapter(chno,cno,chname)
课程关系:
subject(cno,cname,author,publish)
客观题关系:
impersonal(imp_id,chno,cno,answer,content)
主观题关系:
subjective(sub_id,sequence,time)
客观题成绩关系:
imp_mark(sno,cno,chno,imark)
主观题成绩关系:
sub_mark(sno,sequence,smark)
做作业关系:
do_homework(sno,imp_id,sub_id)
4.物理结构设计
4.1关系模式存取方法选择
数据库系统是多用户共享的系统,学生作业系统必须满足同时被许多学生同时共享它的数据库,所以选择适当的存取方法,对提高系统的运行效率和运行速度有着重要的意义。
根据此系统的操作功能,可以采用索引存取、聚簇存取相互交融方式,以提高系统全局性能。
4.1.1存储文件设计
教师基本表结构
字段
字段名
类型
宽度
1
TNO
CHAR
15
2
TPWD
CHAR
10
3
TNAME
CHAR
25
4
RANK
CHAR
20
学生基本表结构
字段
字段名
类型
宽度
1
SNO
CHAR
15
2
SPWD
CHAR
10
3
SNAME
CHAR
25
4
DEPT
CHAR
30
5
CLASS
CHAR
20
学生做作业表结构
字段
字段名
类型
宽度
1
SNO
CHAR
15
2
IMP_ID
CHAR
5
3
SUB_ID
CHAR
5
客观题表结构
字段
字段名
类型
宽度
1
IMP_ID
CHAR
5
2
CHNO
CHAR
10
3
CNO
CHAR
10
4
ANSWER
CHAR
10
5
CONTENT
VARCHAR
100
主观题表结构
字段
字段名
类型
宽度
1
SUB_ID
CHAR
5
2
SEQUENCE
CHAR
5
3
TIME
CHAR
10
主观题成绩表结构
字段
字段名
类型
宽度
1
SNO
CHAR
15
2
SEQUENCE
CHAR
5
3
AMARK
CHAR
6
客观题成绩表结构
字段
字段名
类型
宽度
1
SNO
CHAR
15
2
CNO
CHAR
10
3
CHNO
CHAR
10
4
IMARK
CHAR
6
章节表结构
字段
字段名
类型
宽度
1
CHNO
CHAR
10
2
CNO
CHAR
10
3
CHNAME
CHAR
30
课程名表结构
字段
字段名
类型
宽度
1
CNO
CHAR
10
2
CNAME
CHAR
30
3
AUTHOR
CHAR
25
4
PUBLISH
CHAR
50
4.1.2各表间关系:
4.2系统物理配置及硬件选择
本系统主要是挂靠到独立服务器上面供操作运行和管理的,访问量可能会很大,数据吞吐也可能会很繁忙,取决于学生数量,主要浏览者大概是一个系的学生,而同时浏览的可能性也很大,因此对服务器的要求不可以太低。
一般使用一个学院的服务器也就可以得到支持,能够保证作业系统的运行状况。
本服务器主机采用的是Windows操作系统,数据管理系统选用兼容性和操作比较简单和方便的SQLserver,软件配置比较全面,能够很好的适应系统的需要。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 作业 系统 数据库 设计