数据库课程设计javasqlserver学生管理系统.docx
《数据库课程设计javasqlserver学生管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计javasqlserver学生管理系统.docx(50页珍藏版)》请在冰豆网上搜索。
数据库课程设计javasqlserver学生管理系统
课程设计任务书
题目:
学生管理系统
学号
姓名
专业信息科学与工程学院
课程数据库技术与应用
指导教师职称讲师
完成时间:
2011年06月----2010年07月
枣庄学院计算机科学系制
课程设计任务书及成绩评定
课程设计的任务和具体要求
数据库应用课程设计是计算机技术专业重要的实践课程之一,是在掌握程序设计语言的基础上,学习《数据库原理》课程后的一次综合实践练习。
通过本课程设计,将在课堂上了解和掌握的数据库原理以及设计阶段的方法与技术,直接运用到实际系统的开发工作中。
并且在项目小组长及成员间的合作和沟通中,体验软件项目管理技能和方法,熟悉软件工具与环境。
本次课程设计要求我们小组成员间加强团队合作和沟通,同时每个成员承担明确的责任,独立按时完成相应任务;按照模版完成相应的文档,语言简洁、通顺,开发的系统功能符合需求规格,并能够准确、稳定地运行。
指导教师签字:
日期:
指导教师评语
成绩:
指导教师签字:
日期:
课程设计所需软件、硬件等
我们将采用java和SQL语言编写系统代码,使用SQL2005及eclipse软件作为系统实现工具。
测试工作包括模块测试、集成测试和系统测试,并按需求规格书的要求调试完成相应的系统。
1、基于此次学生信息管理系统的需求分析,最终确定了用户的实际需求,根据数据流图以及数据字典,设计系统的局部、整体概念结构E-R图,为数据的逻辑设计提供可靠的理论依据。
2、根据逻辑结构设计,从而设计出适合逻辑结构的最佳物理环境,满足用户的应用需求。
(详情见下文报告)
课程设计进度计划
起至日期
工作内容
备注
2011.06.20—2011.06.25
2011.06.25—2011.07.03
先做一个简单的界面,会应用所学的知识的
对所做的系统加以更改,使系统更加完善,功能更加强大
参考文献、资料索引
序号
文献、资料名称
编著者
出版单位
1、《Java数据库应用程序编程指南》【美】KevinMukhar、ToddLauinger、JohnCarnell著;
2、《数据库技术》西北工业大学出版社韩培友等著;
3、《Java程序设计》清华大学出版社雍俊海编著;
4、《Java数据库编程实例》清华大学出版社孙一林彭波著
需求分析:
1、学生信息管理系统概述
学生信息管理系统主要用来管理学生基本信息。
本系统是一个简单的学生信息管理系统,系统管理的信息主要是学生基本信息、课程信息和学生选课信息。
系统的目的是有效地处理这些信息,同时为用户提供信息检索、信息修改和保护功能。
1.1系统的任务
学生信息管理系统是学校有效管理学生的重要工具,它的任务主要有以下几项:
◆学生基本信息管理,主要负责管理学生基本信息。
◆学生选课信息管理,主要负责管理课程信息和学生选课信息。
◆信息检索管理,主要负责对学生各类信息进行查询和统计。
◆信息修改管理,主要负责学生信息的增加,删除,更改。
◆系统管理,主要负责管理用户信息和用户登陆,以及配置系统参数。
1.2系统的目标
学生信息管理系统是学校管理学生的有效方法,也是学生学生查询信息的有效途径。
一个好的学生信息管理系统应具有以下这些目标:
◆能够管理所有学生的信息。
◆能够快速地进行学生的各类信息查询,包括基本信息和选课信息的查询。
◆减少学校管理学生的工作任务,降低管理成本。
2系统具体需求
2.1系统需求
根据以上对学生信息管理系统的任务和目标的分析,蓝天大学学生信息管理系统的具体需求如下:
(1)学生信息:
学号、姓名、性别、出生日期、电话、部门、民族、政治面貌、来源地、入学成绩、备注。
(2)课程信息:
课程号、课程名、先选课、学时、考核方式、学分。
(3)选课信息:
学号、课程号、成绩。
(4)教师信息:
工号、姓名、性别、职称、学院。
(5)授课信息:
工号、课程号和授课效果。
(6)指导信息:
工号、学号和成绩。
(7)学生能查询课程信息;自己的学生信息;自己的选课信息;自己选课的最高分、最低分、平均分、和总分。
学生选课时,该学生必须是本校学生,课程必须是本校课程;一个学生可以选择多门课程,多个学生可以选择同一门课程。
学生选指导老师时,学生必须是本校学生,教师必须是本校教师;一个学生只能选择一个指导教师。
(8)教师只能查询课程信息、本人的授课信息、本人授课的选课信息、本人的指导信息等。
教师只能修改本人授课的选课成绩、本人指导的成绩等。
教师授课时,课程必须使本校课程,教师必须是本校教师;一个教师可以讲授多门课,多个教师可以讲授一门课。
教师指导学生时,学生必须使本校学生,教师必须是本校教师;一个教师可以指导多个学生。
(9)DBA拥有所有信息的所有权限。
(10)满足常规的完整性、安全性和数据备份能力。
2.2数据字典
根据系统需求分析,利用表格方式设计的数据字典如下:
1)数据项
数据字典的数据项如表所示:
属性名
存储代码
类型
宽度
主码
外码
主码表
含义
备注
学号
SNo
字符
10B
是
是
学生表
年2位学院班级序号各2位
非空、唯一
学生姓名
SName
字符
20B
否
否
无
学生的姓名
非空
性别
SSex
字符
1B
否
否
无
学生的性别
只能男(m)女(w),用符号表示
出生日期
Sbirth
整型
10B
否
否
无
学生的出生日期
如1988.11.12
电话
SPhone
字符
12B
否
否
无
学生的电话
部门
SColl
字符
40B
否
否
无
学生所在部门
部门是学生所在的院系班级
民族
Snation
字符
15B
否
否
无
学生所属的民族
政治面貌
Spaob
字符
4B
否
否
无
学生的政治面貌
只能是党员、团员、群众之一
来源地
Sbirthplace
字符
10B
否
否
无
学生的家乡
入学成绩
Ssgrade
浮点
4B
否
否
无
学生入学时的成绩
备注
Sremarks
字符
10B
否
否
无
学生的其他备注信息
课程号
CNo
字符
6B
是
是
课程表
学院专业序号各2位
非空、唯一
课程名
CName
字符
20B
否
否
无
课程的名字
非空
先修课
CPNo
字符
6B
否
是
课程表
学院专业序号各2位
学分
Credit
字符
2B
否
否
无
课程的学分
0.5-9
上课地点
Cclass
字符
5B
否
否
无
课程的上课地点
非空
学时
Cperiod
整型
2B
否
否
无
课程要求的学习时间
非空
考核方式
Cexamsy
字符
2B
否
否
无
课程的考试方式
只能C(闭卷)或O(开卷)
工号
TNo
字符
6B
是
是
教师表
学院(部门)专业(科室)序号各2位
非空、唯一
教师名
TName
字符
20B
否
否
无
教师的姓名
非空
教师性别
TSex
字符
2B
否
否
无
教师的性别
只能男女
教师年龄
TAge
整型
1B
否
否
无
教师的年龄
10-80岁
职称
Title
字符
10B
否
否
无
教师的职称
教龄
SchAge
整型
1B
否
否
无
教师的教龄
教师电话
TPhone
字符
12B
否
否
无
教师的电话
教师学院
TColl
字符
40B
否
否
无
教师所在学院
选课成绩
Grade
浮点
4B
否
否
无
学生选课的成绩
0-100分
教学效果
TGrade
字符
4B
否
否
无
教师讲授课程的教学效果
一般、中等、良好、优秀
毕设成绩
GDsign
字符
4B
否
否
无
学生毕业设计成绩
(不)及格、中、良、优秀
2)数据结构
数据字典的数据结构如表所示。
结构名称
存储名称
别名
组成
备注
学生表
Student
S
学号、姓名、性别、出生日期、电话、部门、民族、政治面貌、来源地、入学成绩、备注
永久存储
课程表
Course
C
课程号、课程名、上课地点、学分、学时、考核方式
永久存储
选课表
StudentCourse
SC
学号、课程号和成绩
永久存储
教师表
Teacher
T
工号、姓名、性别、年龄、职称、教龄、电话、学院
永久存储
授课表
TeacherCourse
TC
工号、课程号和授课效果
永久存储
指导表
TeacherStudent
TS
工号、学号和成绩
永久存储
学生视图
StudentView
SV
工号、职称和教龄;选课的最高、最低、平均和总学分
临时使用
教师视图
TeacherView
TV
本人信息和本人指导、授课的学生信息
临时使用
DBA视图
DBAView
DV
所有信息(建议使用多个视图)
临时使用
3)数据流
数据字典的数据流如表所示。
数据流名称
数据流来源
数据流去向
组成
备注
编辑选修信息
S、C、T、TC
SC
学号、课程号、选课成绩
编辑授课信息
S、C、T
TC
课程号、课程名、授课效果
编辑指导信息
S、T
TS
工号、学号、毕设成绩
学生查询信息
SV(S、C、T、SC、TC、TS)
TempTable
S、C、SC、TC、TS、工号、职称、教龄
教师查询信息
TV(S、C、T、SC、TC、TS)
TempTable
S、C、T、SC、TC、TS
DBA编辑信息
DV(S、C、T、SC、TC、TS)
TempTable
S、C、T、SC、TC、TS
4)数据存储
数据字典的数据存储如表所示。
数据存储名称
物理存储名称
组成
备注
学生表
Student
学号、姓名、性别、出生日期、电话、部门、民族、政治面貌、来源地、入学成绩、备注
实体
课程表
Course
课程号、课程名、课程导师、上课地点、学分、学时、考核方式
实体
教师表
Teacher
工号、姓名、性别、年龄、职称、教龄、电话、学院
实体
选课表
StudentCourse
学号、课程号、成绩
联系
授课表
TeacherCourse
工号、课程号和授课效果
联系
指导表
TeacherStudent
工号、学号和成绩
联系
5)处理过程
数据字典的处理过程如表所示。
处理过程名称
输入数据流
处理内容
输出数据流
备注
学生统计
S、C、SC
选课的最高、最低、平均和总学分
SV
教师统计
S、C、T、SC、TC、TS
成绩的最高、最低、平均和各个分数段的人数
TV
DBA编辑
S、C、SC、T、TC、TS
常规统计信息
DV
3.数据流图
学生登记表学生选课表教师登记表
3概念结构设计
.根据需求分析得到的具体要求,绘制E—R图如下。
学生
课程
选课
成绩
学号
姓名
性别
民族
出生日期
政治面貌
入学成绩
联系方式
来源地
部门
备注
课程号
课程名
学时
考核方式
上课地点
学分
图1-选课管理局部E-R图
图2-教授管理局部E-R图
图3-指导管理局部E-R图
图4-学生管理系统全局E-R图
4逻辑结构设计
1)根据系统的概念结构,其逻辑结构设计如下:
学生(学号,姓名,性别,出生日期,电话,部门,民族,政治面貌,来源地,入学成绩,备注)
课程(课程号,课程名,上课地点,学分,学时,考核方式)
选课(学号,课程号,成绩)
2)根据系统的逻辑结构和应用需求,其外模式的视图设计如下:
学生视图(学号,姓名,性别,年龄,电话,部门,民族,政治面貌,来源地,入学成绩,课程号,课程名,上课地点,学时,考核方式学分,成绩,最高分、最低分、平均分,总学分)
DBA选课视图(学号,姓名,性别,年龄,电话,部门,民族,政治面貌,来源地,入学成绩,课程号,课程名,上课地点,学时,考核方式,学分,成绩)
3)根据上述的转换结果,在对关系模式中数据进行规范化处理后,得到了符合第三范式的关系模式如下:
学生:
{学号、姓名、性别、年龄、电话、部门、民族、政治面貌、来源地、入学成绩、备注}
课程:
{课程号、课程名、上课地点、学时、考核方式、学分}
选修:
{学号、课程号、成绩}
4)满足3NF:
(1)学生表(Student)中的属性有学号(SNo),姓名(Sname),性别(Ssex),出生日期(Sbirth),电话(Sphone),部门(Scoll),民族(Snation),政治面貌(Spaob),来源地(Sbirthplace-Sbplace),入学成绩(Ssgrade-Ssg),备注(Sremarks-Srem)。
Student(U1,F1)
U1={SNo,Sname,SSex,Sbirth,Sphone,SColl,Snation,Spaob,Sbp,Ssg,Srem}
F1={SNo→(Sname.SSex,Sbirth,Sphone,SColl,Snation,Spaob,Sbplace,Ssg,Srem)}
(2)课程表(Course)中的属性有课程号(CNo),课程名(Cname),上课地点(Cclass),考核方式(Cexamsy),学时(Cperiod),学分(Credit)。
Course(U2,F2)
U2={CNo,CName,Ctname,Cclass,Cexamsy,Cperiod,Credit}
F2={CNo→(CName,Cclass,Cexansy,Cperiod,Credit)}
(3)选课表(StudentCourse)中的属性有学号(SNo),课程号(CNo),成绩(Grade)。
StudentCourse(U3,F3)
U3={SNo,CNo,Grade}
F3={(SNo,CNo)→Grade}
4)教师表(Teacher)中的属性有工号(TNo),教师姓名(TName),教师性别(Tsex),教师年龄(TAge),职称(Title),教龄(SchAge),教师电话(Tphone),教师学院(TColl).
Teacher(U4,F4)
U4={TNo,TName,TSex,TAge,Title,SchAge,TPhone,TColl}
F4={TNo→(TName,TSex,TAge,Title,SchAge,TPhone,TColl)}
5)授课表(TeacherCourse)中的属性有教师工号(TNo),课程号(CNo),教学效果(TGrade).
TeacherCourse(U5,F5)
U5={TNo,CNo,TGrade}
F5={(TNo,CNo)→TGrade}
6)指导表(TeacherStudent)中的属性有教师工号(TNo),学生学号(SNo),毕设成绩(GDsign)
TeacherStudent(U6,F6)
U6={TNo,SNo,GDsign}
F6={(TNo,SNo)→GDsign}
5.物理结构设计
(1)主要是设计表结构。
一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。
逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。
(2)对表结构进行规范化处理(第三范式)。
(3)表汇总
表名
功能说明
表A
记录学生的基本信息
表B
记录课程的基本信息
表C
记录教师的基本信息
表D
记录选课的基本信息
表E
记录授课的基本信息
表F
记录教师对学生的指导信息
表A
表名
学生表
列名
类型
宽度
规则
学号
char
10
非空、唯一
姓名
char
20
非空
性别
char
1
只能m(男)w(女)
出生日期
char
10
电话
char
11
部门
char
40
民族
Char
15
政治面貌
Char
2
只能群众、党或团员
来源地
Char
10
入学成绩
Int
4
备注
char
10
补充说明
存储名称Student别名S永久存储
注:
(1)该表存放全校所有学生的基本信息,每个学生产生一条记录。
表B
表名
课程表
列名
类型
宽度
规则
课程号
char
6
非空、唯一
课程名
char
20
非空
上课地点
char
5
非空
学时
Int
2
非空
考核方式
char
1
只能C(闭卷)O(开卷)
学分
char
2
0.5—9
补充说明
存储名称Course别名C永久存储
注:
该表存放某校所有的课程信息,每门课产生一条记录。
表C
表名
教师表
列名
数据类型(精度范围)
空/非空
约束条件
工号
字符
非空
唯一
姓名
字符
非空
性别
字符
只能男女
年龄
整型
10-80岁
职称
字符
教龄
整型
电话
字符
学院
字符
补充说明
存储名称Teacher别名T永久存储
表D
表名
选课表
列名
类型
宽度
规则
学号
char
10
主键、内容取自学生信息表的学生姓名
课程号
char
20
主键、内容取自课程信息表的课程名称
成绩
char
4
0--100
补充说明
存储名称StudentCourse别名SC永久存储
注:
该表存放蓝天大学所有学生的成绩信息,每个学生学习每门课程产生一条记录。
表E
表名
授课表
列名
数据类型(精度范围)
空/非空
约束条件
工号
字符
非空
唯一
课程号
字符
非空
唯一
授课效果
字符
一般、中等、良好、优秀
补充说明
存储名称TeacherCourse别名TC永久存储
表F
表名
指导表
列名
数据类型(精度范围)
空/非空
约束条件
工号
字符
非空
唯一
学号
字符
非空
唯一
成绩
浮点
(不)及格、中、良、优秀
补充说明
存储名称TeacherStudent别名TS永久存储
6.数据保护设计
6.1防止用户直接操作数据库的方法
采用用户标识和鉴别检测机制。
即:
用户进入系统时必须首先输入用户的帐号和密码,然后系统对其进行鉴别,通过系统鉴别后才能使用系统资源。
6.2用户帐号密码的加密方法
用动态户标识和鉴别,它是使用变化的用户标识信息进行身份鉴别的机制。
即:
静态用户名和动态密码。
采用验证码登陆机制(用户名称+密码+验证码),其基本思想为:
验证码是把随机产生的多个数字或者字符组成的字符串,生成一幅图片,同时在图片里加上噪声(防止OCR识别),并由用户肉眼识别其中的验证码信息,提交网站验证。
6.3角色与权限
角色
可以访问的表与列
操作权限
学生
S,C,SC,SV
SELECT
教师
S,C,T,SC,TC,TS
SELECT
TV
SELECT,UPDATE,EXECUTE
7.运行管理与维护说明
(1)转储和恢复。
DBA需要定期定时有计划的对数据库及其日志文件进行备份,从而确保发生故障时,利用后备副本,可以把数据库恢复到一致状态,并尽量减少数据库的损失。
(2)安全性控制。
随着系统运行,应用环境会发生变化,对安全性的要求会改变,用户的密级也随之改变。
因此,需要DBA根据实际情况修改原有的安全性控制。
(3)完整性控制。
在系统运行过程中,对实体、参照和用户定义等完整性的要求会发生改变。
因此需要DBA根据实际情况修改原有的完整性控制。
(4)性能维护。
性能维护是对系统性能的监督、分析和改进。
监督系统运行,并对监测数据进行分析,从而找出改进系统性能的方法。
同时综合运行管理和评价的改进建议,对系统进行调整和改进。
(5)重组与重构。
随着系统运行,对元组的添加、删除和修改等更新操作,会降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降。
因此,需要对数据库进行重组。
重组通常不需要改变逻辑结构和物理结构;如果需要添加新实体,或者实体之间的联系发生了变化,则需要重构数据库的逻辑结构和物理结构。
显然重构数据库可能会导致数据库数据丢失。
8.SQL语句及部分关键Java语句
===============================================================
系统说明书
===============================================================
建立数据库StudentDatabase的SQLServer语句:
---------------------------------------------------------------
JavaIDLStudentDatabase-DBTable.txt
---------------------------------------------------------------
数据库
---------------------------------------------------------------
StudentDatabase
---------------------------------------------------------------
数据表
---------------------------------------------------------------
建立数据库StudentDatabase的SQLServer语句:
---------------------------------------------------------------
JavaIDLStudentDatabase-DBTable.txt
---------------------------------------------------------------
数据库
------------------------