数据库课程设计班级事务管理系统.docx

上传人:b****8 文档编号:9428243 上传时间:2023-02-04 格式:DOCX 页数:43 大小:362.42KB
下载 相关 举报
数据库课程设计班级事务管理系统.docx_第1页
第1页 / 共43页
数据库课程设计班级事务管理系统.docx_第2页
第2页 / 共43页
数据库课程设计班级事务管理系统.docx_第3页
第3页 / 共43页
数据库课程设计班级事务管理系统.docx_第4页
第4页 / 共43页
数据库课程设计班级事务管理系统.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

数据库课程设计班级事务管理系统.docx

《数据库课程设计班级事务管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计班级事务管理系统.docx(43页珍藏版)》请在冰豆网上搜索。

数据库课程设计班级事务管理系统.docx

数据库课程设计班级事务管理系统

淮北广播电视大学

数据库课程设计报告

 

2010级计算机科学与技术专业班

题目班级事务管理系统

学生王亮学号1034001205347

指导教师朱燕燕

 

2011年10月28日

第一章数据库设计内容

1.1.课程设计任务与要求

1.1.1.任务

班级事务管理系统

问题描述:

班级管理信息系统的任务是收集、存储、管理班级同学的相关信息,以及班级日常管理中的相关信息。

为班级信息公开、增进同学交流了解服务,同时加强班级管理、提高班级管理与服务的效率和质量。

1.1.2.设计要求

①、实现用户登录。

②、实现管理员管理班级事务。

(学生信息、成绩、课程、详细信息的增、删、改、查)

③、实现学生成绩查询。

④、实现个人事务管理。

⑤、实现生活委员班费管理。

1.1.3.运行环境

WindowsXP、SQLServer5.0、Myeclipse6.0、Tomcat5.5.28、IE浏览器、JDK

1.2需求分析

1.2.1.数据需求

班级事务管理系统需要完成功能主要有:

①学生基本信息的输入,包括学号、姓名、担任职务等。

②学生基本信息的添加、查询、修改、删除,包括学生学号、姓名、职务、角色等。

③学生成绩的添加、查询、修改、删除,包括学号、课程号、分数。

④课程的添加、删除,包括课程号、课程名、学分、任课老师。

⑤生活委员对班费的管理,包括班费的收入、支出。

⑥个人对本人事务的管理,包括时间和事件。

1.2.2事物需求

①管理员对学生事务管理部分,要求:

a、可以查询学生基本、详细信息、课程信息以及成绩。

b、可以对学生基本信息、详细信息进行添加、修改及删除操作。

c、可以对课程信息进行添加、删除操作。

d、可以对学生成绩进行添加、删除操作。

②生活委员对班费的管理,要求:

a、可以查询班费收入支出的详细信息。

b、可以对班费信息进行添加、修改、删除操作。

1.2.3关系模式

学生用户表(学号、姓名、密码、担任职务、角色)

课程表(课程号、课程名、学分、任课老师)

成绩表(主键、学号、课程号、成绩)

学生详细信息表(id、学生学号、出生日期、身份证号码、家庭往址、宿舍号、银行卡号)

生活委员事物表(ID、时间、活动地点、活动人数、消费前班费余额、消费金额、消费后班费余额、活动意义、活动结果)

其它管理页面(ID、时间、内容、结果)

1.3概念结构设计

1.3.1.E-R图

担任职务

密码

学号

角色

姓名

角色

姓名

ID

密码

ID

成绩管理

家庭住址

出生日期

学号

ID

身份证号

银行卡号

学生详细信息

查询

管理

学生基本信息

管理员

生活委员事务管理

课程名

课程管理

管理

角色

密码

姓名

学生

分数

课程号

学号

结果

事件

时间

查询

总余额

人数

消费金额

地点

个人事务管理

结果

课程号

时间

ID

意义

ID

任课老师

学分

1.4.逻辑结构设计

1.4.1表结构

1.4.2数据库设计及完整性约束

学生用户表:

createtableuser

idintauto_incrementprimarykey,

usernamevarchar(10),

userpassvarchar(20),

userjobvarchar(10),

userrolevarchar(10)

课程表:

createtablecourse

idintauto_incrementprimarykey,

cnamevarchar(20),

ccreditint,

cteachervarchar(20)

成绩表:

createtableSc

idintauto_incrementprimarykey,

uidint,

cidint,

sgradevarchar(5)

ALTERTABLEScADDCONSTRAINTfk_Sc_uidFOREIGNKEY(uid)REFERENCESuser(id);

ALTERTABLEScADDCONSTRAINTfk_Sc_cidFOREIGNKEY(cid)REFERENCEScourse(id);

 

学生详细信息表:

createtablestuinfo

idintauto_incrementprimarykey,

stuidint,

stubirthvarchar(20),

stuidentityvarchar(30),

stuaddrvarchar(200),

studormvarchar(20),

stucardvarchar(20)

ALTERTABLEstuinfoADDCONSTRAINTfk_stuinfo_stuidFOREIGNKEY(stuid)REFERENCESuser(id);

生活委员事物表:

createtableshwy

idintauto_incrementprimarykey,

timevarchar(20),

addrvarchar(100),

stunumint,

startmoneydecimal,

expensedecimal,

endmoneydecimal,

actmeaningtext,

actresultvarchar(10)

其它管理页面:

createtableqita(

idintauto_incrementprimarykey,

qtimevarchar(20),

qcontenttext,

qresultvarchar(20)

1.4.3.数据库用户权限管理

该系统设置三种类型的用户

(1)管理员(admin)即系统管理员拥有对学生基本信息、详细信息、成绩、课程的管理权限。

(2)生活委员(shwy)可以对班级班费收入支出的详细信息进行管理;

(3)其他个人(qita)对个人事务事件进行管理。

 

第二章应用系统设计

2.1.需求分析

2.1.1数据需求

班级事务管理系统需要完成功能主要有:

①学生基本信息的输入,包括学号、姓名、担任职务等。

②学生基本信息的添加、查询、修改、删除,包括学生学号、姓名、职务、角色等。

③学生成绩的添加、查询、修改、删除,包括学号、课程号、分数。

④课程的添加、删除,包括课程号、课程名、学分、任课老师。

⑤生活委员对班费的管理,包括班费的收入、支出。

⑥个人对本人事务的管理,包括时间和事件。

2.1.2事物需求

①管理员对学生事务管理部分,要求:

a、可以查询学生基本、详细信息、课程信息以及成绩。

b、可以对学生基本信息、详细信息进行添加、修改及删除操作。

c、可以对课程信息进行添加、删除操作。

d、可以对学生成绩进行添加、删除操作。

②生活委员对班费的管理,要求:

a、可以查询班费收入支出的详细信息。

b、可以对班费信息进行添加、修改、删除操作。

2.1.3关系模式

学生用户表(学号、姓名、密码、担任职务、角色)

课程表(课程号、课程名、学分、任课老师)

成绩表(主键、学号、课程号、成绩)

学生详细信息表(id、学生学号、出生日期、身份证号码、家庭往址、宿舍号、银行卡号)

生活委员事物表(ID、时间、活动地点、活动人数、消费前班费余额、消费金额、消费后班费余额、活动意义、活动结果)

其它管理页面(ID、时间、内容、结果)

2.1.5数据字典

为了使各数据流,数据处理过程,存储过程不能反映其中的数据成,数据项目,数据特性,所以用数据字典来对数据流图中的各成份进行具体的定义,为系统的分析,设计及以后的实现提供供有关元素一致性定义和详细的描述:

①数据流字典

数据流名称:

管理员登录(P3)

来源:

管理员

去向:

查询学生基本信息

数据组成:

姓名+密码+登录权限

数据流名称:

学生个人登录

来源:

个人

去向:

查询个人信息

数据组成:

姓名+密码+登录权限

数据流名称:

生活委员登录

来源:

生活委员

去向:

班费管理

数据组成:

姓名+密码+登录权限

数据流名称:

所有学生基本信息查询

来源:

管理员

去向:

查询处理过程

数据组成:

学号|姓名|密码|担任职务|角色

数据流名称:

所有学生详细信息查询

来源:

管理员

去向:

查询处理过程

数据组成:

学生学号|出生日期|身份证号码|家庭往址|宿舍号|银行卡号

数据流名称:

成绩和课程查询

来源:

学生

去向:

查询处理过程

数据组成:

主键|学号|课程号|成绩

数据流名称:

班费管理查询

来源:

生活委员

去向:

查询处理过程(P3)

数据组成:

ID|时间|活动地点|活动人数|消费前班费余额|消费金额|消费后班费余额|活动意义|活动结果

数据流名称:

个人事务查询

来源:

学生

去向:

查询处理过程

数据组成:

ID|时间|内容|结果

 

2.2.概念结构设计

班费管理

个人事务管理

个人事务管理

课程管理

成绩管理

详细信息管理

基本信息管理

生活委员管理班费事宜

管理员管理班级事务

班级事务管理系统

 

2.3.详细设计

2.3.1流程图

更新页面

删除

删除

添加页面

查询基本信息

添加页面

详细信息查询

管理员

查询全部成绩

登录

添加页面

添加页面

删除

普通用户

添加页面

删除

个人事务管理页面

事务登录界面

班费管理页面

添加页面

删除

更新页面

成绩查询

个人页面

删除

课程查询

 

2.4.运行界面

2.4.1管理员登陆界面

 

2.4.2管理员查询、添加、修改、删除学生基本信息表

 

 

程序代码说明

package.dao;

importjava.io.UnsupportedEncodingException;

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.util.LinkedList;

importjava.util.List;

import.bean.UserBean;

import.util.DBConnection;

publicclassStudentDao{

publicListqueryAllStudent(){

Listlist=newLinkedList();

Connectionconn=DBConnection.getConnection();

try{

PreparedStatementps=conn.prepareStatement

("select*fromuser");

ResultSetrs=ps.executeQuery();

while(rs.next()){

UserBeanstudent=newUserBean();

student.setId(rs.getInt("id"));

student.setUsername(rs.getString("username"));

student.setUserpass(rs.getString("userpass"));

student.setUserjob(rs.getString("userjob"));

student.setUserrole(rs.getString("userrole"));

list.add(student);

}

}catch(SQLExceptione){e.printStackTrace();

}finally{

try{conn.close();

}catch(SQLExceptione){e.printStackTrace();

}

}

returnlist;

}

publicUserBeanqueryById(intid){

Connectionconn=DBConnection.getConnection();

UserBeanstudent=null;

try{PreparedStatementps=conn.prepareStatement("select*fromuserwhereid=?

");

ps.setInt(1,id);

ResultSetrs=ps.executeQuery();

while(rs.next()){

student=newUserBean();

student.setId(rs.getInt("id"));

student.setUsername(rs.getString("username"));

student.setUserpass(rs.getString("userpass"));

student.setUserjob(rs.getString("userjob"));

student.setUserrole(rs.getString("userrole"));

}

}catch(SQLExceptione){e.printStackTrace();

}finally{

try{conn.close();

}catch(SQLExceptione){e.printStackTrace();

}

}

returnstudent;

}

publicintupdateStuInfo(UserBeanstu){

Connectionconn=DBConnection.getConnection();

UserBeanstudent=null;

intflag=0;

try{PreparedStatementps=conn.prepareStatement

("updateusersetusername=?

userpass=?

userjob=?

userrole=?

whereid=?

");

ps.setString(1,stu.getUsername());

ps.setString(2,stu.getUserpass());

ps.setString(3,stu.getUserjob());

ps.setString(4,stu.getUserrole());

ps.setInt(5,stu.getId());

flag=ps.executeUpdate();

}catch(SQLExceptione){

e.printStackTrace();

}finally{

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

returnflag;

}

publicintdeleteInfo(intid){

Connectionconn=DBConnection.getConnection();

UserBeanlb=null;

intflag=0;

try{

PreparedStatementps=conn.prepareStatement

("deletefromuserwhereid=?

");

ps.setInt(1,id);

flag=ps.executeUpdate();

}catch(SQLExceptione){

e.printStackTrace();

}finally{

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

returnflag;

}

publicintaddStudentInfo(UserBeanub){

intflag=0;

Connectionconn=DBConnection.getConnection();

PreparedStatementps;

Stringusername=ub.getUsername();

try{

username=newString(username.getBytes("ISO-8859-1"),"UTF-8");

}catch(UnsupportedEncodingExceptione1){

e1.printStackTrace();

}

try{

ps=conn.prepareStatement

("insertintouser

(username,userpass,userjob,userrole)values(?

?

?

?

)");

ps.setString(1,ub.getUsername());

ps.setString(2,ub.getUserpass());

ps.setString(3,ub.getUserjob());

ps.setString(4,ub.getUserrole());

flag=ps.executeUpdate();

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

returnflag;

}

}

 

2.4.3.成绩查询、添加、删除

 

程序代码说明:

package.dao;

importjava.io.UnsupportedEncodingException;

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.util.LinkedList;

importjava.util.List;

import.bean.CoursBean;

import.bean.ScBean;

import.bean.UserBean;

import.util.DBConnection;

publicclassScDao{

publicListqueryAllSc(){

Listlist=newLinkedList();

Connectionconn=DBConnection.getConnection();

try{

PreparedStatementps=conn.prepareStatement

("select*fromsc");

ResultSetrs=ps.executeQuery();

while(rs.next()){

ScBeanscb=newScBean();

scb.setId(rs.getInt("id"));

scb.setUid(rs.getInt("uid"));

scb.setCid(rs.getInt("cid"));

scb.setSgrade(rs.getString("sgrade"));

list.add(scb);

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

returnlist;

}

publicintdeleteScInfo(intid){

Connectionconn=DBConnection.getConnection();

ScBeanlb=null;

intflag=0;

try{

PreparedStatementps=conn.prepareStatement

("deletefromscwhereid=?

;");

ps.setInt(1,id);

flag=ps.executeUpdate();

}catch(SQLExceptione){

e.printStackTrace();

}finally{

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

returnflag;

}

publicintaddScInfo(ScBeanub){

intflag=0;

Connectionconn=DBConnection.getConnection();

PreparedStatementps;

try{ps=conn.prepareStatement("insertintosc(uid,cid,sgrade)values(?

?

?

)");

ps.setInt(1,ub.getUid());

ps.setInt(2,ub.getCid());

ps.setString(3,ub.getSgrade());

flag=ps.executeUpdate();

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

returnflag;

}

}

2.4.4.课程的查询、添加、删除

 

 

程序代码说明:

package.dao;

import

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1