数据库课程设计 工资管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计要求:
1.对各个系统进行系统功能需求分析
2. 数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)
3. 设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定
4. 通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引
5. 根据系统功能需求设计相应的查询视图
6. 要求根据系统功能需求建立存储过程
7. 根据功能需求建立相应的触发器以保证数据的一致性
8. 通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作)
一、需求分析
企业的工资管理是公司管理的一个重要内容。随着科学技术的发展,一些公司的规模也越来越大,职工的数量也在不断的增加,企业的管理工作也变得越来越复杂。工资管理既涉及到企业劳动人事的管理,同时也是企业财务的重要组成部分。面对如此大的信息量,单凭传统的表格、手工操作已不能满足实际的需要。因此,我设计工资管理系统来提高财务管理方面的效率。通过这个系统可以使信息的管理更加规范,统计更科学。
模块功能分析:
(1)部门模块:用来管理部门;
(2)工资模块:用来管理员工的工资;
(3)职工模块:用来管理工厂的职工信息;二、概念结构设计
经分析,本系统的e-r图如下:
三、逻辑结构设计
1.工资管理基本信息表
①department(部门)
②staff(职工)
③salary(工资)
①建库
create database salary_manage
on
(name=salary_manage_data,
filename='d:\salary_manage_data.mdf', size=25,
maxsize=35,
filegrowth=5)
log on
(name=manage_log,
filename='d:\salary_manage_data.ldf',
size=25,
maxsize=35,
filegrowth=5)
②建表
/建立职工表/
create table staff
(staff_no char(10) primary key,/*职工工号*/
staff_name char(20) not null,/*职工姓名*/
staff_sex char(25) not null default '男'check( staff_sex in('男','女')),/*性别*/ enducational char(10) default '本科',/*学历*/
dapartment_no char(8) not null,/*部门编号*/
department_name char(15))/*部门名称*/
/*建立工资表*/
create table salary
(staff_no char(10) not null foreign key references staff(staff_no),/*职工工号*/
m_salary int default 3000,/*月薪*/
allowance int default 0,/*津贴*/
out_days int not null check(out_days<=31 and out_days>=0),/*出勤天数*/ work_overtime datetime(10),/*加班时间*/
w_overtime_days int default 0 check(w_overtime_days>=0 and
w_overtime_days<=31),/*加班天数*/
deduct int default 0,/*事故扣薪*/
add_money int default 0,/*加班费*/
issue_salary int(4) not null,/*应发薪水*/
iss_salary int(4) not null)/*实发薪水*/
/*建立部门表*/
create table department
(department_no char(8) primary key,/*部门编号*/ department_name char(15) not null,/*部门名称*/ depart_manage char(6) not null,/*部门经理*/
depart_people int(6)/*部门人数*/
③添加记录
insert into department
values('071011','A部门','王经理',100);
insert into department
values('071012','B部门','李经理',200);
insert into department
values('071013','C部门','张经理',100);
insert into staff
values('0610','李明','男','本科','071011','A部门');
insert into staff
values('0613','张三','男','专科','071011','A部门'); insert into staff