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

上传人:聆听****声音 文档编号:8965809 上传时间:2023-05-16 格式:DOC 页数:37 大小:606KB
下载 相关 举报
数据库课程设计——班级事务管理系统.doc_第1页
第1页 / 共37页
数据库课程设计——班级事务管理系统.doc_第2页
第2页 / 共37页
数据库课程设计——班级事务管理系统.doc_第3页
第3页 / 共37页
数据库课程设计——班级事务管理系统.doc_第4页
第4页 / 共37页
数据库课程设计——班级事务管理系统.doc_第5页
第5页 / 共37页
数据库课程设计——班级事务管理系统.doc_第6页
第6页 / 共37页
数据库课程设计——班级事务管理系统.doc_第7页
第7页 / 共37页
数据库课程设计——班级事务管理系统.doc_第8页
第8页 / 共37页
数据库课程设计——班级事务管理系统.doc_第9页
第9页 / 共37页
数据库课程设计——班级事务管理系统.doc_第10页
第10页 / 共37页
数据库课程设计——班级事务管理系统.doc_第11页
第11页 / 共37页
数据库课程设计——班级事务管理系统.doc_第12页
第12页 / 共37页
数据库课程设计——班级事务管理系统.doc_第13页
第13页 / 共37页
数据库课程设计——班级事务管理系统.doc_第14页
第14页 / 共37页
数据库课程设计——班级事务管理系统.doc_第15页
第15页 / 共37页
数据库课程设计——班级事务管理系统.doc_第16页
第16页 / 共37页
数据库课程设计——班级事务管理系统.doc_第17页
第17页 / 共37页
数据库课程设计——班级事务管理系统.doc_第18页
第18页 / 共37页
数据库课程设计——班级事务管理系统.doc_第19页
第19页 / 共37页
数据库课程设计——班级事务管理系统.doc_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

淮北广播电视大学

数据库课程设计报告

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

题目班级事务管理系统

学生王亮学号1034001205347

指导教师朱燕燕

2011年10月28日

目录

第一章数据库设计内容 3

1.1.课程设计任务与要求 3

1.1.1.任务 3

1.1.2.设计要求 3

1.1.3.运行环境 3

1.2需求分析 3

1.2.1.数据需求 3

1.2.2事物需求 4

1.2.3关系模式 4

1.3概念结构设计 5

1.3.1.E-R图 5

1.4.逻辑结构设计 6

1.4.1表结构 6

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

1.4.3.数据库用户权限管理 9

第二章应用系统设计 10

2.1.需求分析 10

2.1.1数据需求 10

2.1.2事物需求 10

2.1.3关系模式 10

2.1.5数据字典 11

2.2.概念结构设计 13

2.3.详细设计 14

2.3.1流程图 14

2.4.运行界面 15

2.4.1管理员登陆界面 15

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

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

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

2.4.5.学生详细信息的查询、添加、删除 23

2.4.6.普通用户登录界面 26

2.4.7.个人事务管理登录界面 26

2.4.8.生活委员管理特殊权限 27

2.4.9.个人事务事件管理界面 31

第三章课程设计结语 34

参考文献 35

第一章数据库设计内容

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

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

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2