办公室日常信息管理系统数据库课程设计报告Word文档下载推荐.docx
《办公室日常信息管理系统数据库课程设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《办公室日常信息管理系统数据库课程设计报告Word文档下载推荐.docx(33页珍藏版)》请在冰豆网上搜索。
程序分为登陆界面,选择界面,文件信息界面,考勤信息界面,会议记录信息,通知公告信息用户注册界面这几个主体界面。
使用时应先知道管理员帐号和密码,登陆进入系统主菜单界面,里面包括文件信息,考勤信息,会议记录信息,通知公告,用户注册,退出程序菜单选项。
需要特别说明的是,当对数据进行操作时,在查询框内输入提示数据内容,对话框的表中和提示栏中都会出现所查询的数据,我们可以在提示栏中对数据进行删除和修改操作。
办公室日常信息管理
登陆系统
文件管理
考勤管理
公告通知
会议记录
退出系统
查询文件信息
修改文件信息
打印文件信息
查询考勤信息
修改考勤信息
打印考勤信息
查询公告通知
修改公告通知
打印公告通知
查询会议记录
修改会议记录
打印会议记录
图1:
办公室日常管理系统功能模块图
1.3数据流图和数据字典
1.3.1数据流图
数据流图就是从数据的角度描述系统的组成及组成之间的联系,将业务工作流程以一种明确而又易于理解的形式表示出来。
数据流图有四个基本构成成分:
(1)数据流:
即流动的数据,代表信息流过的通道。
用带箭头的直线表示,直线上方表明数据流的名称,箭头代表数据流流动方向。
(2)加工或处理:
处理是对进入的数据流进行特定加工的过程,数据流被处理后将产生新的数据流。
用圆圈表示,圆圈内注明处理的名称。
(3)文件或数据存储:
数据流图中的文件代表一种数据的暂存场所,可对其进行存取操作。
用一侧带有双线的方框表示,并在其内注明文件或数据存储的名称。
(4)外部实体:
用以说明数据的来源和归宿,即表示数据的原点和终点。
用方框表示,并在其内注明相应的名称。
文件数据
输入
文件记录
员工数据
员工信息记录
公告通知数据
会议信息
各种查询
各种报表
管理员
图2:
办公室日常管理系统流图
1.3.2数据字典
数据字典表达了数据和处理过程的关系。
在SA方法中,处理过程的处理活动常常借助于判定表或判定树来描述。
系统中的数据则借助数据字典来描述。
数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,在数据库设计中占有很重要的地位。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程、外部项等六个部分。
文件信息表
属性名
列名
数据类型
主键
是否允许空
文件编号
WNo
int
是
否
文件名称
WName
char
文件类型
WType
存储位置
WPlace
考勤信息表
属性名
是否空
员工编号
YNo
姓名
YName
Char
性别
Sex
时间
YTime
出勤情况
YC
会议记录表
会议编号
MNo
会议时间
MTime
会议内容
MContent
参会人
MPeople
记录人
MRecorder
公告通知表
公告编号
GNo
公告内容
GContent
公告时间
GTime
通知人
GPeople
2.概念结构设计
概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。
描述概念模型的有力工具是E-R图。
由于E-R图提供了人们对数据模型的描述,它即标准、规范,又直观、具体,从而使得E-R图成为应用最广泛的数据库概念设计工具。
管理
存放位置
姓
名
性
别
时
间
E-R图
源程序
importjava.sql.*;
importjava.io.*;
publicclassOA
{
publicstaticvoidwj()
{
System.out.println("
文件编号"
+"
\t文件名称"
\t文件类型"
\t存储位置"
);
}
publicstaticvoidkq()
员工编号"
姓名"
\t性别"
\t\t时间"
\t\t出勤情况"
publicstaticvoidgg()
公告编号"
\t公告内容"
\t公告时间"
\t通知人"
publicstaticvoidhy()
会议编号"
会议内容"
\t会议时间"
\t参会人"
\t\t记录人"
publicstaticvoidmain(String[]args)
try
{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
}catch(Exceptione){
System.out.println("
JDBC-ODBCdriverfailedtoload."
return;
}
try
Connectioncon=DriverManager.getConnection("
jdbc:
odbc:
OA"
"
sa"
"
Statementstmt=con.createStatement();
intz=1;
while(z!
=0)
{
System.out.println("
1.查询2.插入3.更新4.删除"
请选择:
intx=0;
try
{
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
x=Integer.parseInt(br.readLine());
}catch(IOExceptionex){}
if(x==5)z=0;
if(x==1)
System.out.println("
1.文件信息查询2.考勤信息查询3.公告通知查询4.会议记录查询"
inti=0;
try{
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
i=Integer.parseInt(br.readLine());
}catch(IOExceptionex){}
if(i==1)
{
ResultSetrs=stmt.executeQuery("
selectWNo,WName,WType,WPlacefromwj"
wj();
while(rs.next())
{
inta=rs.getInt("
WNo"
Stringb=rs.getString("
WName"
Stringc=rs.getString("
WType"
Stringd=rs.getString("
WPlace"
System.out.println(a+"
\t\t"
+b+c+d);
}
}
if(i==2)
selectYNo,YName,Sex,YTime,YCfromkq"
kq();
YNo"
YName"
Sex"
YTime"
Stringe=rs.getString("
YC"
\t"
+b+c+d+e);
if(i==3)
selectGNo,GContent,GTime,GPeoplefromgg"
gg();
GNo"
GContent"
GTime"
GPeople"
if(i==4)
selectMNo,MTime,MContent,MPeople,MRecorderfromhy"
hy();
MNo"
MTime"
MContent"
MPeople"
MRecorder"
}
if(x==2)
1.文件信息插入2.考勤信息插入3会议记录插入4.公告通知插入"
intm=0;
m=Integer.parseInt(br.readLine());
if(m==1){
Stringc1="
c2="
c3="
c4="
;
//PreparedStatementpstmt1=con.prepareStatement("
select*fromCommunicationwhereUname=?
//pstmt1.setString(1,c1);
//ResultSetrs2=pstmt1.executeQuery();
System.out.println("
输入你要插入的文件编号:
try{
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
c1=br.readLine();
}catch(IOExceptionex){}
c1="
+c1);
输入你要插入的文件名称:
c2=br.readLine();
c2="
+c2);
输入你要插入的文件种类:
c3=br.readLine();
c3="
+c3);
输入你要插入的存储位置:
c4=br.readLine();
c4="
+c4);
PreparedStatementpstmt2=con.prepareStatement("
insertintowjvalues(?
?
)"
pstmt2.setString(1,c1);
pstmt2.setString(2,c2);
pstmt2.setString(3,c3);
pstmt2.setString(4,c4);
pstmt2.executeUpdate();
插入成功!
pstmt2.close();
//pstmt1.close();
//rs2.close();
if(m==2){
c5="
select*fromMemowhereUname=?
输入你要插入的员工编号:
输入你要插入的姓名:
输入你要插入的性别:
输入你要插入的时间:
输入你要插入的出勤情况:
c5=br.readLine();
c5="
+c5);
PreparedStatementpstmt2=con.prepareStatement("
insertintokqvalues(?
pstmt2.setString(5,c5);
if(m==3){
select*fromDiarywhereUname=?
输入你要插入的会议编号:
输入你要插入的会议时间:
System.ou