数
库
课
程
设
计
班 级: 计算机应技术
学 号:
姓 名:
设计题目: 事理系统
指导老师:
设计时间:
前言
事理系统企业理系统中缺少重组成部分容企 业决策者理者说关重事档案理系统应该够户提 供充足信息快捷查询手段 直传统工方式理文件 档案种理方式存着许缺点效率低保密性差外时间长产 生量文件数查找更新维护带少困难着科学 技术断提高计算机科学日渐成熟强功已深刻认识已进 入类社会领域发挥着越越重作
作计算机应部分计算机事档案信息进行理具着手 工理法拟优点例检索迅速查找方便性高存储量保 密性寿命长成低等优点够极提高事档案理效率 企业科学化正规化理世界接轨重条件开发样套 理软件成必事情
目录
系统定义 1
二需求分析 2
1系统功基求 2
2系统功模块图 2
3数流程图 2
三系统设计 4
1概念结构设计 4
2数库结构详细设计 5
四物理设计 7
1数库物理设计 7
2数库建立 7
五系统实现测试 10
1开发工具台选择 10
2系统实现 10
3系统测试 19
六设计日志 22
七设计总结 23
八参考文献 24
九附录 25
系统定义
公司企业理离开事理现代社会公司理事理系统缺部分事理部门工作员提供种方式事查询统计功外提供企业事调动(包括添加新员工员退休员辞职等)员信息改动查询企业员工信息等操作
文数库系统设计基步骤采取事先进行需求分析然进行数库概念设计逻辑结构设计进行数库详细设计方法完成事理系统数库系统设计终SQL SEVER 2000完成事理系统实现:员工基档案理奖惩记录理出勤记录理职务调动记录理工资理请销假理
二需求分析
1系统功基求
(1)登录理
(2)员理:包括添加浏览修改删查询等
(3)部门理:部门理包括添加修改删
(4)报表印
登录理
事理系统
员
工
理
部门理
部门信息查询
部门信息查询
添加新部门
员工信息查询
员工信息修改
添加新员工
2系统功模块图
理员
事理系统
系统data
员
事信息
事信息
3数流程图
图 1 第层数流
职工信息表
理员
登记新员工信息
信息
查询
修改信息
员工
新增员工信息
修改信息
员工信息
员工信息
查询
图 2 员工信息理数流
更新部门信息
员工
部门信息表
理员
信息
查询
需更新部门信息
部门信息
部门信息
查询
图 3 部门信息理数流
三系统设计
1概念结构设计
画出系统ER图
图 4 员工实体图
部门
部门号
部门名
图 5 部门实体图
理员
户名
密码
编号
图 6 理员实体图
部门(1)
员工(n)
理员(1)
属
理
理账号
理密码
编号
姓名
性
出生日期
民族
学历
部门名
片
联系电话
联系址
身份证号
部门号
部门名
图 7 实体间联系图(总体ER图)
2数库结构详细设计
检查数库详细逻辑设计满足第3范式求事理系统中表属性设计逻辑结构:
户表(编号户名密码)
员工表(编号姓名性出生日期民族学历部门名片联系电话联系址身份证号)
部门表(部门号部门名)
四物理设计
1数库物理设计
数库物理设计阶段务根具体计算机系统(DBMS硬件等)特点定数库系统确定合理存储结构存取方法谓合理两含义:设计出物理数库占较少存储空间数库操作具高速度体现者
(1)建立索引:
①表 部门 属性列 部门号 建立非聚集索引
②表 员工 属性列 出生日期 建立非聚集索引属性列 学历 建立非聚集 索引
(2)存储结构
确定数库存储结构指确定数存放位置存储结构包括确定关系索引日志备份等存储安排存储结构确定系统存储参数配置
日志文件数库象(表索引等)分放磁盘改进系统性提高系统安全性系统应日志文件数文件存放磁盘
2数库建立
具体SQL代码:
create database 事理系统
on primary
(
name事理系统
filename'F\朱赟\事理系统Data\事理系统mdf'
size5MB
maxsize20MB
filegrowth10
)
log on
(
name事理系统_日志
filename'F\事理系统Data\事理系统_日志ldf'
size5MB
maxsize10MB
filegrowth10
)
go
创建户表
create table 户表
(
UserID int primary key
UserName varchar(20) not null
UserPassword char(10) not null
)
go
创建职工信息表
create table 员工表
(
编号 int primary key
姓名 char(10) not null
性 char(2) check(性 in('男''女'))
出生日期 datetime
民族 varchar(16) not null
学历 varchar(32) not null
部门名 char(20) not null
片 image
联系电话 char(20)
联系址 char(50)
身份证号 varchar(32) not null
)
go
创建部门表
create table 部门表
(
部门号 int primary key
部门名 char(20)
)
五系统实现测试
1开发工具台选择
NetBeans IDE屡获殊荣集成开发环境方便WindowsMacLinuxSolaris中运行NetBeans包括开源开发环境应台NetBeans IDE开发员利Java台够快速创建Web企业桌面移动应程序NetBeans IDE目前支持PHPRubyJavaScriptAjaxGroovyGrailsC C + +等开发语言
NetBeans 台种重复框架简化桌面应程式开发基NetBeans 台应执行台类main方法便会执行模组会放置存储器中开始执行务通常模组会需时代码会装进记忆
2系统实现
具体JAVA代码:
(1)连接数库类相关方法
package a
import javasql*
import javaxswingJOptionPane
public class dbcon {
private Connection conn
private ResultSet rs
private Statement stmt
private PreparedStatement pstmt null定义预处理象
public boolean login(String name String pwd) {
boolean flag false
try {
ClassforName(sunjdbcodbcJdbcOdbcDriver)
conn riverManagergetConnection(jdbcodbczhuyun)
stmt conncreateStatement()
rs stmtexecuteQuery(select UserID from 户表 where UserName' + name + ' and UserPassword ' + pwd + ')
if (rsnext()) {
flag true
} else {
JOptionPaneshowMessageDialog(null 户名存 提示 1)
flag false
}
} catch (Exception e) {
JOptionPaneshowMessageDialog(null etoString() 错误 1)
}
return flag
}
部门名信息放node中
public ResultSet node() {
try {
ClassforName(sunjdbcodbcJdbcOdbcDriver)
conn riverManagergetConnection(jdbcodbczhuyun)
stmt conncreateStatement()
rs stmtexecuteQuery(select 部门名 from 部门表)
} catch (Exception e) {
JOptionPaneshowMessageDialog(null etoString() 错误 1)
}
return rs
}
员工信息放tab表中
public ResultSet tab(String name) {
try {
ClassforName(sunjdbcodbcJdbcOdbcDriver)
conn riverManagergetConnection(jdbcodbczhuyun)
stmt conncreateStatement()
rs stmtexecuteQuery(select a* from 员工表 a部门表 b where a部门名b部门名 and b部门名' + name + ')
} catch (Exception e) {
JOptionPaneshowMessageDialog(null etoString() 错误 1)
}
return rs
}
添加员工信息方法
public boolean insert(String id String name String sex String birth String minzu String xueli String bumenhao String cellphone String address String idcard) {
boolean flag false
int eid IntegerparseInt(id)
int did IntegerparseInt(bumenhao)
try {
ClassforName(sunjdbcodbcJdbcOdbcDriver)
conn riverManagergetConnection(jdbcodbczhuyun)
stmt conncreateStatement()
pstmt connprepareStatement(insert into 员工表(编号姓名性出生日期民族学历部门名联系电话联系址身份证号) values ( + eid + ' + name + '' + sex + '' + birth + '' + minzu + '' + xueli + '' + bumenhao + ' ' + cellphone + '' + address + '' + idcard + '))
pstmtexecuteUpdate()
flag true
JOptionPaneshowMessageDialog(null 添加成功 提示 1)
} catch (Exception e) {
JOptionPaneshowMessageDialog(null etoString() 错误 1)
}
return flag
}
删方法
public boolean Del(int k) {
boolean flag false
try {
ClassforName(sunjdbcodbcJdbcOdbcDriver)
conn DriverManagergetConnection(jdbcodbczhuyun) pstmt connprepareStatement(delete from 员工表 where 编号)
pstmtsetInt(1 k)赋值
int n pstmtexecuteUpdate()
if (n > 0) {
JOptionPaneshowMessageDialog(null 删成功)
flag true
} else {
JOptionPaneshowMessageDialog(null 删失败)
}
stmtexecuteUpdate(delete from 员工表 where 编号'')
} catch (Exception e) {
JOptionPaneshowMessageDialog(null etoString() 错误 1)
}
return flag
}
获取编号方法
public void getNum(int k) {
boolean flag false
try {
ClassforName(sunjdbcodbcJdbcOdbcDriver)
connDriverManagergetConnection(jdbcodbczhuyun)
stmt conncreateStatement()
stmtexecuteUpdate(select 编号 from 员工表 where 编号'')
flag true
JOptionPaneshowMessageDialog(null 删成功 提示 1)
} catch (Exception e) {
JOptionPaneshowMessageDialog(null etoString() 错误 1)
}
}
查询出员工信息放指定位置
public void info(int k) {
int id hao 0
Stringname sexbrithminzuxuelibumenhaocellphoneaddressidcard
try {
ClassforName(sunjdbcodbcJdbcOdbcDriver)
conn riverManagergetConnection(jdbcodbczhuyun)
stmt conncreateStatement()
rs stmtexecuteQuery(select * from 员工表 where 编号 + k + )
while (rsnext()) {
id rsgetInt(1)
name rsgetString(2)
sex rsgetString(3)
birth rsgetString(4)
minzu rsgetString(5)
xueli rsgetString(6)
bumenhao rsgetString(7)
cellphone rsgetString(9)
address rsgetString(10)
idcard rsgetString(11)
new Modify(StringvalueOf(id) name sex birth minzu xueli bumenhao cellphone address idcardk)setVisible(true)
}
} catch (Exception e) {
JOptionPaneshowMessageDialog(null etoString() 错误 1)
}
}
修改员工信息方法
public boolean change(String name String sex String birth String minzu String xueli
String bumenhao String cellphone String address String idcardint k) {
boolean flag false
try {
ClassforName(sunjdbcodbcJdbcOdbcDriver)
conn riverManagergetConnection(jdbcodbczhuyun)
stmt conncreateStatement()
stmtexecuteUpdate(update 员工表 set 姓名' + name + '性' + sex + '出生日期' + birth + '民族' + minzu + ' 学历' + xueli + ' 部门名' + bumenhao + ' 联系电话' + cellphone + ' 联系址' + address + ' 身份证号' + idcard + ' where 编号+k+)
flag true
JOptionPaneshowMessageDialog(null 修改成功 提示 1)
} catch (Exception e) {
JOptionPaneshowMessageDialog(null etoString() 错误 1)
}
return flag
}
查询员工详细信息
public ResultSet tab1(int id) {
int iddIntegerparseInt(id)
try {
ClassforName(sunjdbcodbcJdbcOdbcDriver)
conn riverManagergetConnection(jdbcodbczhuyun)
stmt conncreateStatement()
rs stmtexecuteQuery(select * from 员工表 where 编号' + id+ ')
} catch (Exception e) {
JOptionPaneshowMessageDialog(null etoString() 错误 1)
}
return rs
}
}
3系统测试
输入户名密码(admin123)点击登录钮动连接相应数库
登录进进入界面鼠标点击部门名称会动弹出数库表中部门名单击部门名时右边界面会动弹出该部门员工输出基信息
点击界面添加员工钮会动弹出添加信息界面填写完相应信息点击保存钮系统会相应信息写入数库中保存
删某员工信息时选中该员工点击界面删员工钮数库中删该员工信息
修改某员工信息时选中该员工点击界面修改信息钮数修改员工信息重新保存数库中
查某员工详细信息时界面快速查找前文框中输入员工编号查该员工详细信息
六设计日志
20111228 星期三
天实训第天没想学期数库实课程次实训两周时间紧急紧迫感
20111229 星期四
已分组九组八组时间原选择六组确定做容———事理系统
20111230 星期五
天乖乖呆教室做实想然定目标该分工合作查找资料
20111231 星期六
天继续昨天工作开始数库相关设计行认真做工作
201214 星期三
星期开始天实轻松已头绪做起较心应手想着样直发展
201215 星期四
已开始调试程序数库中建表实现数库JAVA程序连接利调试成功算半收获
201216 星期五
昨天程序天终运行数库中数传JAVA程序中久没接触JAVA现种似相识感觉
201219 星期
天程序运行时候考虑美化界面方面JAVA中实现然传数库样轻松半 天已做完务等着老师检查想想两星期真快啊现想完整结束
2012110 星期二:
天老师检查作业家释重
七设计总结
两星期学数库实训已结束回想两周学获益匪浅
门学科知道样设计程序写出程序数库相连考虑素里面仅安求做符合求时写出程序够运行感觉
门学科中学样编写JAVA程序连接数库快速样浏览程序重写出程序试程序样程序算程序次实够更学程序编写独立思考问题思维时展现学间互相帮助种友谊体现团队精神
次学组进行首先实前组确立程序名确立设计样程序次设计事理系统数题目
根学掌握JAVA知识点差异选择程序样六组通次实训合作
次学程中难写程序写出JAVA程序数库相连写程序时候会遇问题知道样写写程序达运行效果时候写出程序会问题符合求样学会网查做程序解决问题独立思考惯
然坚持次学深知学遇困难正提升学力机会学遇麻烦正考验毅力面问题时抱着必须战胜意念询问学请教老师组进行讨终步步走门学完成
许程序完善存缺陷许编写许差错坚持努力做出团队合作成果努力成果
次学少学帮助组员间配合更少老师指导感谢老师学耐心帮助指导祝老师工作利进行学学业成
八参考文献
数库原理应 国防科技学出版社
SQL Server 2005 实教程 国防科技学出版社
理信息系统 西南财学出版社
Java 程序设计 清华学出版社
九附录
组成员:
组长:
教师评语:
指导老师:
设计时间:20XX年12月28日 20XX年1月10日
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档