数据库课程设计报告学生信息管理系统SQLjava.docx
《数据库课程设计报告学生信息管理系统SQLjava.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告学生信息管理系统SQLjava.docx(27页珍藏版)》请在冰豆网上搜索。
数据库课程设计报告学生信息管理系统SQLjava
数据库课程设计报告_学生信息管理系统_SQL-java
《数据库系统》课程设计报告
软件专业2012级1班26号巨生鹏
2014年6月20日
1.需求分析内容…………………………………………………………………3
1.1用户需求说明…………………………………………………………3
1.2数据字典………………………………………………………………3
1.3数据流图………………………………………………………………7
2.概念设计内容……………………………………………………………8
2.1E-R图…………………………………………………………………8
2.1包括实体、联系以及实体、联系属性的详细E-R图………………9
3.逻辑设计与物理设计及安全设计…………………………………………11
3.1实体类型的转换………………………………………………11
3.2联系的转换……………………………………………………………11
3.3物理设计………………………………………………………………12
3.4安全设计………………………………………………………………15
4.系统模块设计与功能实现……………………………………………15
4.1系统的功能划分及描述………………………………………15
4.2主要用户界面…………………………………………………………16
4.3系统使用说明和安装说明…………………………………………………165.附:
部分重要代码……………………………………………………………17
6.体会与心得………………………………………………………………………18
1需求分析内容
学生信息管理系统概述
学生信息管理系统主要用来管理学生基本信息。
本系统是一个简单的学生信息管理系统,系统管理的信息主要是学生基本信息、课程信息和学生选课信息。
系统的目的是有效地处理这些信息,同时为用户提供信息检索、信息修改和保护功能。
1.1
(1)用户需求说明
学生信息管理系统是学校有效管理学生的重要工具,它的任务主要有以下几项:
◆学生基本信息管理,主要负责管理学生基本信息。
◆学生选课信息管理,主要负责管理课程信息和学生选课信息。
◆信息检索管理,主要负责对学生各类信息进行查询和统计。
◆信息修改管理,主要负责学生信息的增加,删除,更改。
◆系统管理,主要负责管理用户信息和用户登陆,以及配置系统参数。
(2)系统的目标
学生信息管理系统是学校管理学生的有效方法,也是学生学生查询信息的有效途径。
一个好的学生信息管理系统应具有以下这些目标:
◆能够管理所有学生的信息。
◆能够快速地进行学生的各类信息查询,包括基本信息和选课信息的查询。
◆减少学校管理学生的工作任务,降低管理成本。
(3)系统具体需求
系统需求
根据以上对学生信息管理系统的任务和目标的分析,学生信息管理系统的具体需求如下:
(1)学生信息:
学号、姓名、性别、出生日期、电话、部门、民族、政治面貌、来源地、入学成绩、备注。
(2)课程信息:
课程号、课程名、先选课、学时、考核方式、学分。
(3)选课信息:
学号、课程号、成绩。
(4)教师信息:
工号、姓名、性别、职称、学院。
(5)授课信息:
工号、课程号和授课效果。
(6)指导信息:
工号、学号和成绩。
(7)学生能查询课程信息;自己的学生信息;自己的选课信息;自己选课的最高分、最低分、平均分、和总分。
学生选课时,该学生必须是本校学生,课程必须是本校课程;一个学生可以选择多门课程,多个学生可以选择同一门课程。
学生选指导老师时,学生必须是本校学生,教师必须是本校教师;一个学生只能选择一个指导教师。
(8)教师只能查询课程信息、本人的授课信息、本人授课的选课信息、本人的指导信息等。
教师只能修改本人授课的选课成绩、本人指导的成绩等。
教师授课时,课程必须使本校课程,教师必须是本校教师;一个教师可以讲授多门课,多个教师可以讲授一门课。
教师指导学生时,学生必须使本校学生,教师必须是本校教师;一个教师可以指导多个学生。
(9)满足常规的完整性、安全性和数据备份能力。
1.2数据字典
根据系统需求分析,利用表格方式设计的数据字典如下:
1)数据项
数据字典的数据项如表所示:
属性名
存储代码
类型
宽度
主码
外码
主码表
含义
备注
学号
SNo
字符
10B
是
是
学生表
学院班级序号各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
1.3.数据流图
学生登记表学生选课表教师登记表
2概念设计内容
2.1根据需求分析得到的具体要求,绘制E—R图如下。
图1-选课管理局部E-R图
2.2包括实体、联系以及实体、联系属性的详细E-R图
图2-教授管理局部E-R图
图3-指导管理局部E-R图
图4-学生管理系统全局E-R图
3逻辑设计与物理设计及安全设计
3.1/2实体类型与联系的转换
联系转换
一个学院拥有若干名学生,但是一个学生只能属于一个学院,因此学院与学生之间的联系属于一对多联系,其中学院是一方,而学生是多方。
一个学院拥有多名教师,但是一个教师只能在一个学院里工作,因此学院与教师之间的联系属于一对多联系,其中学院是一方,而教师则是多方。
同时由于不管是学生还是教师都是与学院有联系的,所以学院是学生实体和教师实体之间的桥梁。
另外学生在学校期间必须要学习课程,且每学习完一门课程之后学生都要参加考试,从而产生成绩,因此学生和课程之间也有联系。
由于一个学生可以学习多门课程,另一方面一门课程可以被多个学生所学习,因此学生和课程之间的联系的类型是多对多联系。
1)根据系统的概念结构,其逻辑结构设计如下:
学生(学号,姓名,性别,出生日期,电话,部门,民族,政治面貌,来源地,入学成绩,备注)
课程(课程号,课程名,上课地点,学分,学时,考核方式)
选课(学号,课程号,成绩)
2)根据系统的逻辑结构和应用需求,其外模式的视图设计如下:
学生视图(学号,姓名,性别,年龄,电话,部门,民族,政治面貌,来源地,入学成绩,课程号,课程名,上课地点,学时,考核方式学分,成绩,最高分、最低分、平均分,总学分)
DBA选课视图(学号,姓名,性别,年龄,电话,部门,民族,政治面貌,来源地,入学成绩,课程号,课程名,上课地点,学时,考核方式,学分,成绩)
3)根据上述的转换结果,在对关系模式中数据进行规范化处理后,得到了符合第三范式的关系模式如下:
学生:
{学号、姓名、性别、年龄、电话、部门、民族、政治面貌、来源地、入学成绩、备注}
课程:
{课程号、课程名、上课地点、学时、考核方式、学分}
选修:
{学号、课程号、成绩}
实体类型转换
(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}
3.3.物理设计
(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永久存储
3.4安全设计
1防止用户直接操作数据库的方法
采用用户标识和鉴别检测机制。
即:
用户进入系统时必须首先输入用户的帐号和密码,然后系统对其进行鉴别,通过系统鉴别后才能使用系统资源。
2用户帐号密码的加密方法
用动态户标识和鉴别,它是使用变化的用户标识信息进行身份鉴别的机制。
即:
静态用户名和动态密码。
采用验证码登陆机制(用户名称+密码+验证码),其基本思想为:
验证码是把随机产生的多个数字或者字符组成的字符串,生成一幅图片,同时在图片里加上噪声(防止OCR识别),并由用户肉眼识别其中的验证码信息,提交网站验证。
3角色与权限
角色
可以访问的表与列
操作权限
学生
S,C,SC,SV
SELECT
教师
S,C,T,SC,TC,TS
SELECT
TV
SELECT,UPDATE,EXECUTE
4.系统模块设计与功能实现
4.1系统的功能划分及描述
能够管理所有学生的信息。
能够快速地进行学生的各类信息查询,包括基本信息和选课信息的查询。
学生基本信息管理,具有管理学生基本信息的功能。
学生选课信息管理,具有管理课程信息和学生选课信息功能。
信息检索管理,具有对学生各类信息进行查询和统计的功能。
信息修改管理具有对学生信息的增加,删除,更改的功能。
系统管理,具有管理用户信息和用户登陆,以及配置系统参数的功能。
4.2主要用户界面
登陆界面
管理员登陆界面学生登录界面
实现管理员和学生操作功能的界面
学生的登录系统后可以进行学生信息查看、成绩信息查看、个人信息管理等功能操作。
4.3系统使用说明和安装说明
配置ODBC
运行本实例需要配置用户DSN,在ODBC数据源管理器中配置用户DSN连接指定的SQLServer数据库。
关键操作步骤如下:
(1)单击“开始”按钮,选择“程序”→“管理工具”→“数据源(ODBC)”
命令,打开“ODBC数据源管理器”对话框,打开“用户DSN”选项卡。
(2)单击“添加”按钮,打开“创建新数据源”对话框,选择安装数据源的驱动程序,这里选择“SQLServer”。
(3)单击“完成”按钮,打开“创建到SQLServer的新数据源”对话框,在“名称”文本框中设置数据源名称为“mystudentsys”,在“描述”文本框设置数据源描述为“配置SQLServer数据库DSN”,在“服务器”下拉列表框中选择连接的数据库所在服务器为“(local)”。
(4)单击“下一步”按钮,选择“使用用户输入登录ID和密码的SQLServer验证”单选框,在“登录ID”文本框中输入SQLServer用户登录ID,在“密码”文本框中输入SQLServer用户登录密码。
(5)单击“下一步”按钮,选择“更改默认的数据库为”复选框,并在其下拉列表框中选择连接的数据库名称,这里选择“tb_student”,单击“下一步”按钮。
(6)单击“完成”按钮,打开“ODBCMicrosoftSQLServer安装”对话框,显示新创建的ODBC数据源配置信息。
(7)单击“测试数据源”按钮测试数据库连接是否成功,如果测试成功,单“确定”按钮,完成数据源配置。
使用说明
1.本操作系统只允许管理员进行相关的操作。
运行本程序后,首先进入登陆界面,输入管理员账号。
2.账号和密码输入正确后,将进入菜单选项界面,你可以根据所需要的服务选择对应的操作。
3.在选定所需要的操作后,系统会有相应的操作提示,可以根据提示进行自己所需要的服务。
出现错误,系统也会自动提醒,用户根据系统的提醒,即可完成操作。
4.所有的成绩必须在1到100之间,否则系统会提示出错,在退出系统时,要保存数据,如果不保存,所有信息就会丢失。
5.在进入系统后,如果是对已有的学生信息尽行操作,需要先导入存储学生信息的相应文件,然后选择自己所需要的各种操作。
如果没有学生信息档案,可以选择新建建立新的学生档案。
在退出系统后,要选择对数据进行保存,系统会将此档案保存在生成的文件中,以便下次使用时导入。
5.附:
部分重要代码
数据库
---------------------------------------------------------------
Stude