数据库课程设计班级事务管理系统优选文档格式.docx
《数据库课程设计班级事务管理系统优选文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计班级事务管理系统优选文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
1.2.2事物需求
①管理员对学生事务管理部分,要求:
a、可以查询学生基本、详细信息、课程信息以及成绩。
b、可以对学生基本信息、详细信息进行添加、修改及删除操作。
c、可以对课程信息进行添加、删除操作。
d、可以对学生成绩进行添加、删除操作。
②生活委员对班费的管理,要求:
a、可以查询班费收入支出的详细信息。
b、可以对班费信息进行添加、修改、删除操作。
1.2.3关系模式
学生用户表(学号、姓名、密码、担任职务、角色)
课程表(课程号、课程名、学分、任课老师)
成绩表(主键、学号、课程号、成绩)
学生详细信息表(id、学生学号、出生日期、身份证号码、家庭往址、宿舍号、银行卡号)
生活委员事物表(ID、时间、活动地点、活动人数、消费前班费余额、消费金额、消费后班费余额、活动意义、活动结果)
其它管理页面(ID、时间、内容、结果)
1.3概念结构设计
1.3.1.E-R图
1.4.逻辑结构设计
1.4.1表结构
1.4.2数据库设计及完整性约束
学生用户表:
createtableuser
(
idintauto_incrementprimarykey,
usernamevarchar(10),
userpassvarchar(20),
userjobvarchar(10),
userrolevarchar(10)
)
课程表:
createtablecourse
cnamevarchar(20),
ccreditint,
cteachervarchar(20)
成绩表:
createtableSc
uidint,
cidint,
sgradevarchar(5)
ALTERTABLEScADDCONSTRAINTfk_Sc_uidFOREIGNKEY(uid)REFERENCESuser(id);
ALTERTABLEScADDCONSTRAINTfk_Sc_cidFOREIGNKEY(cid)REFERENCEScourse(id);
学生详细信息表:
createtablestuinfo
stuidint,
stubirthvarchar(20),
stuidentityvarchar(30),
stuaddrvarchar(200),
studormvarchar(20),
stucardvarchar(20)
ALTERTABLEstuinfoADDCONSTRAINTfk_stuinfo_stuidFOREIGNKEY(stuid)REFERENCESuser(id);
生活委员事物表:
createtableshwy
timevarchar(20),
addrvarchar(100),
stunumint,
startmoneydecimal,
expensedecimal,
endmoneydecimal,
actmeaningtext,
actresultvarchar(10)
其它管理页面:
createtableqita(
qtimevarchar(20),
qcontenttext,
qresultvarchar(20)
1.4.3.数据库用户权限管理
该系统设置三种类型的用户
(1)管理员(admin)即系统管理员拥有对学生基本信息、详细信息、成绩、课程的管理权限。
(2)生活委员(shwy)可以对班级班费收入支出的详细信息进行管理;
(3)其他个人(qita)对个人事务事件进行管理。
2.应用系统设计
2.1.需求分析
2.1.1数据需求
2.1.2事物需求
2.1.3关系模式
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){
UserBeanstudent=null;
try{PreparedStatementps=conn.prepareStatement("
select*fromuserwhereid=?
"
ps.setInt(1,id);
student=newUserBean();
returnstudent;
publicintupdateStuInfo(UserBeanstu){
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();
try{
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
returnflag;
publicintdeleteInfo(intid){
UserBeanlb=null;
deletefromuserwhereid=?
publicintaddStudentInfo(UserBeanub){
intflag=0;
PreparedStatementps;
Stringusername=ub.getUsername();
try{
username=newString(username.getBytes("
ISO-8859-1"
),"
UTF-8"
}catch(UnsupportedEncodingExceptione1){
e1.printStackTrace();
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();
}
2.4.3.成绩查询、添加、删除
程序代码说明:
import.bean.CoursBean;
import.bean.ScBean;
publicclassScDao{
publicListqueryAllSc(){
select*fromsc"
ScBeanscb=newScBean();
scb.setId(rs.getInt("
scb.setUid(rs.getInt("
uid"
scb.setCid(rs.getInt("
cid"
scb.setSgrade(rs.getString("
sgrade"
list.add(scb);
publicintdeleteScInfo(intid){
ScBeanlb=null;
deletefromscwhereid=?
;
publicintaddScInfo(ScBeanub){
try{ps=conn.prepareStatement("
insertintosc(uid,cid,sgrade)values(?
ps.setInt(1,ub.getUid());
ps.setInt(2,ub.getCid());
ps.setString(3,ub.getSgrade());
2.4.4.课程的查询、添加、删除
publicclassCourseDao{
publicListqueryAllCourse(){
select*fromcourse"
CoursBeanscb=newCoursBean();
scb.setId