应用系统设计与开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌航空大学实验报告
二0一二年六月五日
课程名称:数据库原理实验名称:数据库应用系统设计与开发
班级:10202225 姓名:仇鑫同组人:
指导教师评定:签名:
一、实验环境
1.Windows2000或以上版本;
2.SQLServer2000或2005。
二、实验目的
掌握数据库设计的基本方法;了解C/S与B/S结构应用系统的特点与适用场合;了解C/S与B/S结构应用系统的不同开发环境与开发设计方法;综合运用前面实验掌握的数据库知识和技术开发小型数据库应用系统。
三、实验步骤及参考源代码
题目:企业人事管理系统
1、开发环境与开发工具
系统开发环境为局域网或广域网网络环境,网络中有一台服务器上安装了SQL Server2005,本子系统采用Java语言设计实现,使用jdk1.6及Eclipse SDK V ersion 3.3.2为开发工具,服务器操作系统为Window7。
2、系统需求分析
企业可以通过人事管理系统实现对企业人员信息及相关信息的管理,简化的企业人事管理系统具有如下功能。
系统的维护管理:包括用户的添加、删除,密码修改、权限设置等。
人事信息管理:包括企业人员基本信息的查询、添加、修改、删除等。
人事变动管理:包括企业新进员工登记、离职员工登记、变更记录等。
考勤加班出差管理:包括企业人员考勤加班出差信息的查询、添加、修改、删除等。
考核奖惩管理:包括企业人员考核奖惩信息的查询、添加、修改、删除等。
员工培训管理:包括员工培训计划的查询、添加、修改、删除等。
部门信息管理:包括部门查询、添加、修改、删除等。
3、功能需求分析
(1)系统功能的描述
企业人事管理系统按如上所设置,管理功能是比较简单的,主要实现对企业人员、部门的变动、考勤加班出差、考核奖惩、培训等的管理,具体管理功能有添加、修改、删除、查询、统计等。系统功能布局见系统功能模块图。
(2)系统功能模块图
“信息管理”模块中的每一个功能管理项都包括查看、添加、修改、删除等功能。
(1)数据概念结构设计
<1>数据流程图
<2>系统E-R图
(
按照系统E-R图到逻辑关系模式的转换规则,可得到系统如下7个关系,其中带下划线的为关系关键字(即主码)
①员工信息(员工编号,姓名,性别,学历,政治面貌,生理状况,婚姻,出生年月,在职否,进场日期,部门编号,职务,备注);
②培训信息(培训编号,员工编号,培训天数,培训费用,培训内容);
③考核奖惩信息(奖惩编号,员工编号,奖惩时间,奖惩地点,奖惩原因,备注);
④部门信息(部门编号,部门名称,部门人数);
⑤管理员信息(编号,姓名,密码,权限);
⑥人事变动信息(新进员工编号,离职员工编号,离职原因,备注);
⑦考勤加班出差信息(编号,员工编号,时间,地点,原因,备注);
(3)数据库物理结构设计
(1)用T_SQL语言创建7张表如下:
create table department
(D_Number int primary key,
D_Name varchar(20),
D_Count int);
create table employee
(E_Number int primary key,
E_Name varchar(20),
E_Sex char(2),
E_BornDate smalldatetime,
E_Marriage char(4),
E_PoliticsVisage varchar(20),
E_SchoolAge varchar(10),
E_Health varchar(20),
E_EnterDate smalldatetime,
E_Iswork char(4),
D_Number int,
E_Post varchar(20),
E_Remark varchar(500),
foreign key(D_Number)references
department(D_Number));
create table administrator
(A_Number int primary key,
A_Name varchar(20),
A_Password varchar(10),
A_Limit varchar(10));
create table train
(T_Number int primary key,
E_Number int,
T_Days int,
T_Money float,
T_Matter varchar(100),
foreign key(E_Number)references employee(E_Number));
create table punish
(P_Number int primary key,
E_Number int,
P_Time smalldatetime,
P_Where varchar(50),
P_Why varchar(100),
P_Remark varchar(200))
create table personal
(newnum int,
oldnum int,
why varchar(200),
remark varchar(200),
primary key(newnum,oldnum), foreign key(oldnum)references employee(E_Number));
create table checking
(C_Number int primary key,
E_Number int,
C_Time smalldatetime,
C_Where varchar(50),
C_Why varchar(100),
C_remark varchar(4),
foreign key(E_Number)references employee(E_Number));