《数据库系统原理》 课程设计报告说明书
学生信息管理系统
学生姓名 学 号 所在专业 所在班级 指导教师 提交时间 评阅情况
成 绩
张艳华 1112211316 计算机 计3306 王小海 2011.11.12
中国渤海大学本科生课程设计
目 录
读书笔记 ........................................................................................... 错误!未定义书签。 1. 学生信息管理系统概述 ............................................................................................... 2 1.1 研究背景 ................................................................................................................... 2 1.2 开发意义 ................................................................................................................... 2 2. 系统需求分析 ............................................................................................................... 2 2.1 开发环境和软件 ....................................................................................................... 2 2.2 系统设计与功能分析 ............................................................................................... 2 3 数据库设计 .................................................................................................................. 3 3.1 系统概念结构设计 ................................................................................................... 3 3.2 系统逻辑结构设计 ................................................................................................... 4 3.3 数据库实现 ............................................................................................................... 6 3.3.1 数据库关系图 ....................................................................................................... 6 3.3.2 SQL语句实现 ....................................................................................................... 6 4. 系统模块详细设计 ....................................................................................................... 8 4.1
用户登录模块 .......................................................................................................... 9
4.2 各用户操作模块 ....................................................................................................... 9 4.2.1 管理员操作模块 ................................................................................................... 9 4.2.2 教师操作模块 ....................................................................................................... 9 4.2.3 学生操作模块 ................................................................................................... 10 5. 系统运行与测试 ....................................................................................................... 10 5.1 管理员登录 ............................................................................................................. 10 5.2 教师登录 ................................................................................................................. 13 5.3 学生登录 ................................................................................................................. 19 6.课程设计总结 ........................................................................................................... 22 7.附录(代码) ........................................................................................................... 22
2 中国渤海大学本科生课程设计
I.读书笔记
关于网上花店管理系统的读书笔记:
在网上购物逐步平民化的今天,网上购物人数不断增加,现代IT技术和互联网的结合。给了市场创造了无限商机!我阅读了一片“网上花店管理系统”的论文。该论文主要研究网上花店管理系统。该系统以MySQL作为后台数据库,JSP作为前台开发工具,通过Java中的JDBC连接数据库。提供给用户网上浏览,购买,支付等功能,同时.管理员对可以该系统进行维护和管理!
SQL Server安全可靠,性能好,易用性强,JSP的Web运用跨平台,系统底层
采用Java开发。Java语言简单,面向对象,安全性高的特点,运用Serlvet模式和Tomcat服务器。这几点的综合搭配使得该系统灵活方便易用,简化了动态网站的开发。
网上花店管理系统实现了用户注册,网上订购支付,留言,购物车,鲜花资料管理和用户管理,订单管理等功能。SQl数据库实现了用户注册登记信息的存储,和网站资料维护,更新等使得数据的管理更加便利,高效…JSP则为用户提高动态图形界面,简化了操作,提高了易用性。 论文还详细介绍了系统的逻辑结构设计,逻辑图,总功能设计,和数据库设计等。该系统即使是不懂web技术的人也可以熟悉运用。
开发工具和数据库的工具有很多,各有各的优势。在互联网大行其道的时代,电脑技术顺应着时代的发展,只有我们把握运用好各类技术,相互结合与利用,才能制作出更好的软件和程序
1
2
中国渤海大学本科生课程设计
1. 学生信息管理系统概述
1.1 研究背景
学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。 随着在校大学生人数的不断增加,教务系统的数量也不断的上涨,。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。
1.2 开发意义
随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。我们使用电脑的高效率才处理数据信息成为可能。 学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。通过这个系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量?毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义?
2. 系统需求分析
2.1 开发环境和软件
(1) 操作系统:Windows 7 (2) 数据库软件:SQL Server 2005 (3) Java开发工具:Eclipse
2.2 系统设计与功能分析
学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。
2
中国渤海大学本科生课程设计
该系统实现的大致功能:
1.用户登陆界面。该界面可以选择使用者的身份,“管理员,教师,学生”。不同的身份有不同的操作界面和功能权限。ID号和密码输入正确即可登录。学生管理界面。提供了学生学籍信息的查询,相关科目的成绩查询和排名,修改登录密码等功能。
2.教师管理界面。提供了对学生学籍信息的查询,添加,修改,删除;学生成绩的录入,修改,删除,查询班级排名。修改密码等功能。
3.管理员管理界面。拥有最高的权限。允许添加教师信息和课程信息等。 4.登录的用户信息分别存储在SQL数据库的“管理员信息表”, “教师信息表”, “学籍信息表”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。
保证了本学生管理系统的安全性。
3 数据库设计
3.1 系统概念结构设计
登录密码 3教师ID 教师姓名 教师 课程号 登录密码 课程 课程名称 教师ID 学号 课程号 成绩 姓名 学号 成绩 管理员ID 学籍 管理员 性别 籍贯
中国渤海大学本科生课程设计
实体属性表:
实体 教师 课程 管理员 班级 学籍 成绩
属性 教师ID,教师姓名,登录密码 课程号,课程名称,教师ID 管理员ID,登录密码 班级号,班级名称,总人数 学号,姓名,性别,班级号,籍贯,登录密码 学号,课程号,成绩 总人数 班级号 班级名称 籍贯 班级 登录密码 班级号 3.2 系统逻辑结构设计
教师信息表:
字段名 教师ID 教师姓名 登录密码
类型 varchar(8) varchar(8) varchar(8) 空值 not null not null not null 约束条件 主键 课程信息表:
字段名 课程号 课程名称 教师ID 类型 varchar(8) varchar(8) 空值 not null not null 约束条件 主键 外键 varchar(12) not null
班级信息表:
字段名 班级号 班级名称 所属学院 班级人数 类型 varchar(8) varchar(8) varchar(6) nchar(4) 空值 not null not null 约束条件 主键
4
中国渤海大学本科生课程设计
管理员信息表:
字段名 管理员ID 登录密码 类型 空值 约束条件 主键 varchar(10) not null varchar(10) not null
成绩信息表:
字段名 班级号 班级名称 所属学院 类型 varchar(8) smallint 空值 not null not null 约束条件 主键,外键 主键,外键 varchar(15) not null
学籍信息表:
字段名 类型 学号 姓名 性别 班级号 籍贯 int char(2) char(10) 空值 not null not null 约束条件 主键 外键 varchar(30) not null varchar(30) not null 登录密码 money 5
中国渤海大学本科生课程设计
3.3 数据库实现 3.3.1 数据库关系图
3.3.2 SQL语句实现
数据表的创建: (1)教师信息表创建:
create table 教师信息表(
教师ID varchar(8) primary key , 教师姓名varchar(8) not null unique, 登录密码varchar(8) not null, )
(2)课程信息表创建: create table 课程信息表( 课程号varchar(8) primary key, 课程名称varchar(12) not null, 教师ID varchar(8) not null
foreign key(教师ID) references 教师信息表(教师ID) )
(3)班级信息表创建: create table 班级信息表(
班级号varchar(8) not null primary key,
6
中国渤海大学本科生课程设计
班级名称varchar(8) not null unique, 所属学院varchar(8) , 班级人数 nchar(4) )
(4)学籍信息表创建: create table 学籍信息表( 学号varchar(15) primary key, 姓名varchar(8) not null , 性别varchar(4) ,
班级号varchar(8) not null , 籍贯varchar(5) ,
登录密码varchar(6) not null
foreign key (班级号) references 班级信息表(班级号) )
(5)成绩信息表创建: create table 成绩信息表( 学号varchar(15), 课程号varchar(8), 成绩smallint
primary key(学号,课程号)
foreign key (学号) references 学籍信息表(学号), foreign key (课程号) references 课程信息表(课程号) )
(6)管理员信息表创建: create table 课程信息表(
管理员ID varchar(8) primary key, 登录密码 varchar(12) not null )
视图的创建:
(1)“教师课程详细信息”视图创建:
create view 教师课程详细信息 as
SELECT 教师信息表.教师ID,教师信息表.教师姓名,课程信息表.课程号,课程信息表.课程名称, 教师信息表.登录密码 FROM 教师信息表
JOIN 课程信息表 ON 教师信息表.教师ID =课程信息表.教师ID
(2) “学生成绩信息”视图创建:
create view 学生成绩信息 as
SELECT 学籍信息表.学号,学籍信息表.姓名,学籍信息表.性别,
课程信息表.课程名称,成绩信息表.成绩
7
中国渤海大学本科生课程设计
FROM 成绩信息表
JOIN 学籍信息表 ON 成绩信息表.学号 = 学籍信息表.学号 JOIN 班级信息表 ON 班级信息表.班级号 = 学籍信息表.班级号 JOIN 课程信息表 ON 课程信息表.课程号 = 成绩信息表.课程号
存储过程创建:
(1)“单科成绩排名”创建:
create proc [dbo].[单科成绩排名] @kechenname char(8), @classname char(8) as
select 学籍信息表.学号,姓名,成绩 from 成绩信息表
join 课程信息表on 课程信息表.课程号=成绩信息表.课程号 join 学籍信息表on 学籍信息表.学号=成绩信息表.学号 join 班级信息表on 班级信息表.班级号=学籍信息表.班级号 where 课程名称=@kechenname and 班级名称=@classname order by 成绩desc
(2)“全班排名”创建:
create proc [dbo].[全班排名] @class char(8) as
select 学籍信息表.学号,姓名, avg(成绩) as 平均分,sum(成绩) as 总分 from 成绩信息表
join 学籍信息表 on 成绩信息表.学号=学籍信息表.学号 join 班级信息表 on 班级信息表.班级号=学籍信息表.班级号 where 班级信息表.班级名称=@class
group by 学籍信息表.姓名,学籍信息表.学号 order by avg(成绩) desc,学籍信息表.学号
4. 系统模块详细设计
8
中国渤海大学本科生课程设计
4.1 用户登录模块
4.2 各用户操作模块
4.2.1 管理员操作模块(图1) 4.2.2 教师操作模块(图2)
9
中国渤海大学本科生课程设计
图1 图2
4.2.3 学生操作模块
5. 系统运行与测试
5.1 管理员登录
10
中国渤海大学本科生课程设计
点击“管理员”按钮。输入正确的ID和密码。验证成功则可进入管理员管理界面。
管理员ID号和登录密码存在数据库中的管理员信息表。表中存在的管理员才允许登录。
(1)添加教师信息。在弹出的输入栏中输入正确的数据。
如果输入重复的信息则会弹出。
如果某项未填则弹出。
输入的数据会分别写进“教师信息表”和“课程信息表”中。 增加的教师信息,允许让更多的教师登录本系统进行管理操作!
(2)修改教师信息
11
中国渤海大学本科生课程设计
如果要修改的教师信息不存在,则
(3)删除信息修改
输入的教师信息不存在,则
12
中国渤海大学本科生课程设计
(4)查询教师信息
5.2 教师登录
在登录界面选择“教师”按钮,并输入正确的ID号和密码,即可登录成功!
输入错误则会弹出提示!
ID号输入正确,登录成功!进入教师管理的操作界面:
13
中国渤海大学本科生课程设计
(1)显示学生信息。
(2)添加学生信息
14
中国渤海大学本科生课程设计
新添加的信息会保存在学籍信息表中!
如果输入的信息已经存在,则显示
如果输入的数据正确,则
15
中国渤海大学本科生课程设计
(3)修改学生信息,输入正确则显示!
(4) 删除学生信息,
(5)录入学生成绩
16
中国渤海大学本科生课程设计
(6)修改学生成绩
(7) 删除学生成绩
(8)查询学生成绩
17
中国渤海大学本科生课程设计
(9)所有成绩排名
(10)单科成绩排名
(11)更改登录密码
18
中国渤海大学本科生课程设计
号='\+xh+\课程号='\+kch+\); r.last();
int i=Integer.parseInt(cj);
if(r.getRow()==1)
{ JOptionPane.showMessageDialog( null ,\该学生该科成绩已存在\);} else{
s.executeUpdate(\成绩信息表 values
('\+xh+\+kch+\+i+\);
JOptionPane.showMessageDialog( null ,\+\学号:\+xh+\ +\课程号:\+kch+\+\成绩:\+cj+\学生成绩添加成功!\ ) ; } }}
catch (Exception e) {JOptionPane.showMessageDialog( null , \成绩输入的学号或者课程号不存在!\ ) ;} } public void UpdateScore(String xh,String kch,String cj) { try {
Class.forName(\);
Connection c=DriverManager.getConnection(\学生信息系统\); Statement s=c.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
if(xh.equals(\)||kch.equals(\)||cj.equals(\)){ JOptionPane.showMessageDialog( null ,\输入框不允许为空\); } else{int i=Integer.parseInt(cj);
ResultSet r=s.executeQuery(\成绩信息表 where 学
号='\+xh+\课程号='\+kch+\); r.last(); if(r.getRow()==1)
{ s.executeUpdate(\成绩信息表 set 成绩='\+i+\
where 学号='\+xh+\课程号='\+kch+\); JOptionPane.showMessageDialog( null , \学生成绩修改成功!\ ) ; } else{ JOptionPane.showMessageDialog( null ,\成绩表中并无相关记录!\ ) ; }; }} catch(Exception e)
{ JOptionPane.showMessageDialog( null ,\学籍系统中并无相关记录!\ ) ; }} public void DeleteScore(String xh,String kch) { try
{
Class.forName(\);
Connection c=DriverManager.getConnection(\学生信息系统\); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet r=s.executeQuery(\成绩信息表 where 学号
='\+xh+\课程号='\+kch+\); r.last(); if(r.getRow()==1){
29
中国渤海大学本科生课程设计
public void SearchScore(String xh){
JFrame m=new JFrame(\学号\+xh+\的各科成绩\); m.setBounds(60,70,326,320);
m.setVisible(true);
JTextArea aa=new JTextArea(); aa.setBounds(0,0,326,320);
Container c1=m.getContentPane(); c1.setLayout(null); c1.add(aa);
Class.forName(\);
s.executeUpdate(\from 成绩信息表 where 学号='\+xh+\and JOptionPane.showMessageDialog( null , \学生记录删除成功!\ ) ; } else { JOptionPane.showMessageDialog( null ,\学籍系统中并无相关记录!\ ); }
}catch(Exception e) { }}
课程号='\+kch+\);
try {
Connection c=DriverManager.getConnection(\学生信息系统\); Statement s=c.createStatement(
public void ListAll(String banji){
JFrame m=new JFrame(banji+\班成绩排名\); m.setBounds(60,70,413,319);
m.setVisible(true);
JTextArea aa=new JTextArea(); aa.setBounds(0,0,413,319); Container c1=m.getContentPane();
30
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet r1= s.executeQuery(\学号,课程名称,成绩
from 成绩信息表 join 课程信息表 on 成绩信息表.课程号=课程信息表.课程号 \ +
\学号='\+xh+\); r1.last();
aa.append(\查询到该学生\+r1.getRow()+\科成绩\+\); r1.beforeFirst();
aa.append(\学号\+\+\课程名称 \+\+\成绩\+\); while(r1.next())
{ aa.append(r1.getString(\学号\));
aa.append(\+r1.getString(\课程名称\)); aa.append(\+r1.getString(\成绩\)+\); } }
catch(Exception e)
{ e.printStackTrace(); } }
中国渤海大学本科生课程设计
c1.setLayout(null); c1.add(aa);
try {Class.forName(\);
Connection c=DriverManager.getConnection(\学生信息系统\); Statement s;
s = c.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String sql=\全班排名 '\+banji+\; ResultSet r1= s.executeQuery(sql);
r1.last();aa.append(\学号\+\+\姓名\+\+\平均分 \+\+\总分\+\); r1.beforeFirst();
for(int i=1;r1.next();i++)
{ aa.append (\第\+i+\名:\);
aa.append (r1.getString(\学号\)); aa.append (\+r1.getString(\姓名\)); aa.append (\+r1.getString(\平均分\)); aa.append (\+r1.getString(\总分\)+\ ); } }
catch(Exception e){
e.printStackTrace(); }}
JFrame m=new JFrame(str2+\班\+str1+\科\+\成绩排名\); m.setBounds(60,70,326,320);
m.setVisible(true);
JTextArea aa=new JTextArea(); aa.setBounds(0,0,326,320);
Container c1=m.getContentPane(); c1.setLayout(null); c1.add(aa);
try {Class.forName(\);
Connection c=DriverManager.getConnection(\学生信息系统\); Statement s; s = c.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String sql=\单科成绩排名 '\+str1+\+\+str2+\; ResultSet r1= s.executeQuery(sql); r1.last();
public void ListOne(String str1,String str2){
aa.append(\+\学号\+\+\姓名\+\+\成绩\+\); r1.beforeFirst(); for(int i=1;r1.next();i++)
{ aa.append(\第\+i+\名:\);
aa.append(r1.getString(\学号\)); aa.append(\+r1.getString(\姓名\));
aa.append(\+r1.getString(\成绩\) +\); }} catch(Exception e){
31
中国渤海大学本科生课程设计
public void AddTeacher(String id,String xm,String mm, String kch,String kcm){
try {
Class.forName(\);
Connection c=DriverManager.getConnection(\学生信息系统\); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
if(id.equals(\)||mm.equals(\)||kch.equals(\)||kcm.equals(\)){ JOpti
e.printStackTrace(); } }
onPane.showMessageDialog( null ,\输入框不允许为空\); }
else{ ResultSet r=s.executeQuery(\* from 教师信息表 where 教师信息表.教师ID='\+id+\); r.last();
if(r.getRow()==1) { JOptionPane.showMessageDialog( null ,\您输入的教师ID已存在已存在\);} else{ s.executeUpdate(\教师信息表 values ('\+id+\+xm+\+mm+\);
s.executeUpdate(\课程信息表 values ('\+kch+\+kcm+\+id+\);
+\教师姓名:\+kch+\ +\登录密码:\+kch+\ +\课程号:\+kch+\
JOptionPane.showMessageDialog( null ,\+\教师ID:\+id+\
+\课程名:\+kcm+\教师信息添加成功!\ ) ; } }}
catch (Exception e) { e.printStackTrace(); } }
try { Class.forName(\);
Connection c=DriverManager.getConnection(\学生信息系统\); Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
public void UpdateTeacher(String id,String shuxin,String xin){
ResultSet r=s.executeQuery(\教师信息表 where 教师ID='\+id+\); r.last(); if(r.getRow()==1)
{ s.executeUpdate(\教师课程详细信息 set
\+shuxin+\+xin+\教师ID='\+id+\); /
JOptionPane.showMessageDialog( null , \教师信息修改成功!\ ) ; }
else{JOptionPane.showMessageDialog( null ,\学籍系统中并无相关记录!\ ) ; }; }
catch(Exception e)
{ e.printStackTrace(); //未有相关的记录 }}
public void DeleteTeacher(String xh) //执行按学号删除学生记录的操作 { try
32
中国渤海大学本科生课程设计
{ Class.forName(\);
Connection c=DriverManager.getConnection(\学生信息系统\); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet r=s.executeQuery(\* from 教师信息表 where 教师ID='\+xh+\ ); r.last();
if(r.getRow()==1){
s.executeUpdate(\教师信息表 where 教师ID='\+xh+\); JOptionPane.showMessageDialog( null , \教师信息删除成功!\ ) ; } else { JOptionPane.showMessageDialog( null ,\学籍系统中并无相关记录!\ ); } } catch(Exception e) { }}
public void DisplayAllTeacher(){
JFrame m=new JFrame(\教师信息列表\); m.setBounds(60,70,433,319);
m.setVisible(true);
JTextArea aa=new JTextArea(); aa.setBounds(0,0,413,319); Container c1=m.getContentPane(); c1.setLayout(null); c1.add(aa);
try { Class.forName(\);
Connection c=DriverManager.getConnection(\学生信息系统\); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet r=s.executeQuery(\教师课程详细信息 \ ); aa.append(\教师ID\+\+\教师姓名\+\+\课程编号\+\+\课程名称
\+\+\登录密码\+\); r.last(); r.beforeFirst();
while(r.next()){aa.append(\+r.getString(\教师ID\));
aa.append(\+r.getString(\课程号\));
aa.append(\+r.getString(\课程名称\));
aa.append(\+r.getString(\登录密码\) +\); }} catch(Exception e) { } } }
aa.append(\+r.getString(\教师姓名\));
33
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库java学生管理系统(SQL数据库)在线全文阅读。
相关推荐: