文档库 最新最全的文档下载
当前位置:文档库 › SQL课程设计_工资管理系统

SQL课程设计_工资管理系统

关系数据库课程设计报告

( 2011 -- 2012 年度第 2学期)

工资管理系统

专业 计算机科学与技术

学生姓名 *** 班级 BM 计算机091 学

0951401124

指导教师 *** 完成日期

2012年6月

目录

一、工资管理系统数据库设计 (3)

1、项目背景介绍 (3)

1.1 数据需求分析及数据字典 (3)

1.2 概念结构设计 (3)

1.3 逻辑结构设计 (4)

1.4 数据库物理设计 (6)

二、工资管理系统数据库实施步骤 (6)

1、项目实践 (6)

1.1 数据库的创建 (6)

1.2 表对象的创建 (7)

1.3 索引对象的创建 (11)

1.4 视图对象的创建 (12)

1.5 登录用户的创建 (13)

1.6 数据库用户的创建 (13)

三、工资管理系统数据库管理 (14)

1、案例实践 (14)

1.1 案例试验数据 (14)

1.2 表数据的编辑 (15)

1.3 表数据的简单查询 (19)

1.4 表数据的联接查询 (20)

四、项目总结 (23)

五、参考文献 (24)

一、工资管理系统数据库设计

1、项目介绍

工资管理系统的功能是收集员工的个人信息,以便实现按照科室录入个人的基本资料,向各科室发放个人工资和计算个人的实际发放工资,可以让相关财务部门及领导查看各科室人数情况和工资金额,还可以让员工用自己的员工号去查看自己的工资和扣除金额的情况。

工资管理系统的主要功能有:

(1)、按照科室录入个人的基本资料,工资和扣除金额的数据;

(2)、计算个人的实际发放工资;

(3)、按科室、职业分类统计人数和工资金额;

(4)、实现员工个人信息和工资的分类查询;

(5)、能够删除辞职人员的数据;

工资管理:包括与工资发放相关的各种数据处理,以及对这些处理的有机组织规划;人事管理:主要指对各种员工人事信息的管理,包括员工的基本情况和升迁离职情况;工资项目:影响工资计算的各种因素,如:基本工资,福利补贴和奖励工资,扣除的事业保险和住房公积金等等。用户登录管理:2种权限,一种是管理员权限,可以做任何操作;一种是普通用户权限只可以查看自己的工资及基本信息,不能编辑,也不能查看其他用户信息。

1.1数据需求分析及数据字典

1.需求分析

工资管理系统就是对员工工资的管理,所以首先我们需要知道的是员工有哪些信息,并且是怎样进行分类的。

工资信息包含1:员工基本信息(姓名,年龄,所在部门和职务:如经理、工程师、销售员等);2:部门信息;3工资表。部门表应包括部门号及其名称,工资应该包含对应部门对应员工的工资。

员工唯一对应的是员工编号,所以员工编号是主键,其他的都不能是,根据员工编号我们可以查找员工的基本信息,还有员工的工资信息等。综合分析对工资管理系统分四个表:

1)员工基本信息表(员工编号,姓名 ,性别, 年龄,出生年月, 籍贯,职务,电话号码,部门编号);

2)部门表(部门编号,部门名称,部门负责人,联系电话);

3)工资清单表(工资编号,员工编号,基本工资,福利补贴,奖励工资,事业保险金,住房公积金);

4)实发工资表(工资编号,员工编号,所得工资);

1.2 概念结构设计

实体间的联系:

1:员工基本信息表 workers:(员工编号w_number、姓名w_name、性别sex、年龄age、出生日期birthday、籍贯native、电话号码w_tel、所在部门编号dep_number)。

2:部门表department:(部门编号dep_number、部门名称dep_name、部门负责人dep_head、联系电话:dep_tel)。

3:工资清单表wage:(工资编号wa_number、员工编号w_number、基本工资basic_wage、福利补贴boon_wage、奖励工资enc_wage、事业保险金insurance、住房公积金ORSO)。

4:实发工资表factwage:(工资编号wa_number、员工编号w_number、所得工资fac_wage);

5:各表E-R图:

1.3 逻辑结构设计

1.员工基本信息表 workers:(员工编号w_number、姓名w_name、性别sex、年龄age、出生日期birthday、籍贯native、电话号码w_tel、所在部门编号dep_number)。

2.部门表department:(部门编号dep_number、部门名称dep_name、部门负

责人dep_head、联系电话:dep_tel)

3.工资清单表wage:(工资编号wa_number、员工编号w_number、基本工资basic_wage、福利补贴boon_wage、奖励工资enc_wage、事业保险金insurance、住房公积金ORSO)

4.实发工资表factwage:(工资编号fwa_number、员工编号w_number、所得工资fac_wage)

5.数据表之间的逻辑关系图:

1.4 数据库物理设计

物理结构设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。

1.输入:

系统关系数据结构

2.输出:

系统数据库物理结构

3.索引类型的选择

工资管理系统的核心任务是对员工的基本信息和工资信息进行有效的管理。其中,数据量最大且访问频率较高的是工资清单表和实发工资表。为了提高系统的查询效率,降低系统的查询成本,需要为员工基本信息表和工资清单表、实发工资表建立聚簇索引。

4.数据库服务器性能参数配置

数据库服务器的内存配置参数、I/O配置参数和操作系统性能配置参数使用系统安装时缺省参数。

1.5 数据库实施

数据库实施是根据应用系统数据库的关系结构模型和物理结构设计结果,形成基于SQL Server平台应用系统数据库的脚本和数据库设计报告,并进行数据库的具体构建与管理。

输入:

系统关系数据结构

系统数据库物理结构

输出:

系统数据库脚本

系统数据库设计报告

二、工资管理系统数据库实施步骤

1、项目实践

1.1 数据库的创建

创建一个工资管理系统数据库(命名为:wageManager ):

--创建名为wageManager的工资管理系统数据库,用于存放员工工资信息。

USE master

create database wageManager

on(name='wageManager',

filename='D:\工资管理系统\wageManager.mdf',

size=20,

maxsize=100,

filegrowth=5%)

log on(

name='wageManager_log',

filename='D:\工资管理系统\wageManager.ldf',

SIZE=1,

MAXSIZE=5,

FILEGROWTH=1

)

视图如下:

1.2 表对象的创建

分别创建:员工基本信息表、部门表、工资清单表、实发工资表,四个表.

(1)员工基本信息表

use wageManager

create table workers

(w_number varchar(10)not null primary key,

w_name varchar(8)not null,

sex varchar(2)not null,

birthday datetime not null,

native varchar(20)not null,

dep_number varchar(10)not null,

w_tel varchar(20)

)

视图如下:

(2) 部门表

--部门表的创建

use wageManager

create table department

(dep_number int not null primary key, dep_name varchar(20)not null,

dep_head varchar(8)not null,

dep_tel varchar(8)not null

)

视图如下:

(3) 工资清单表

--工资清单表的创建

use wageManager

create table wage

(wa_number int not null primary key, w_number int not null,

basic_wage varchar(6)not null,

boon_wage varchar(6)not null,

enc_wage varchar(6)not null,

insurance varchar(6)not null,

ORSO varchar(6)not null)

视图如下:

(4) 实发工资表

--实发工资表的创建

use wageManager

create table factwage

(fac_number int not null primary key, w_number int not null,

fac_wage varchar(6)not null

)

视图如下:

(5)所有表创建成功,数据库表如下:

各表如下:

1.2索引对象的创建

USE wageManager

GO

CREATE UNIQUE INDEX默认索引ON wage(wa_number) USE wageManager

GO

CREATE INDEX复合索引ON wage(wa_number,w_number) USE wageManager

GO

CREATE INDEX复合索引ON workers(w_number,w_name) USE wageManager

GO

CREATE INDEX唯一性索引ON workers(w_number)

视图如下:

1.3视图对象的创建

USE wageManager

GO

CREATE VIEW v_system_wages

AS

SELECT

wage.wa_number AS工资编号,

workers.w_number AS员工编号,

workers.w_name AS员工姓名,

workers.dep_number AS部门编号,

department.dep_name AS部门名称,

wage.basic_wage AS基本工资,

wage.boon_wage AS福利工资,

wage.enc_wage AS奖励工资,

wage.insurance AS事业保险金,

wage.ORSO AS住房公积金,

factwage.fac_wage AS实发工资

FROM wage,workers,department,factwage

WHERE workers.w_number =wage.w_number

AND workers.dep_number=department.dep_number AND wage.w_number=factwage.w_number

视图如下:

界面如下:

1.4登录用户的创建

创建SQL Server登录账号:

create login huanglu with password ='1234' 视图如下:

1.5数据库用户的创建

创建SQL Server数据库用户:

use wageManager

create user huanglu_user

from login huanglu

视图如下:

三、工资管理系统数据库管理

1、案例实践

1.1 案例试验数据

员工基本信息表:

部门表:

工资清单表:

实发工资表:

1.2 表数据的编辑建立数据库关系图如下:

1.数据的插入

--在员工基本信息表中插入数据

USE wageManager

GO

insert

into workers(w_number ,w_name, sex,birthday,native,

dep_number,w_tel )

values('10010','黄璐','女','1989/2/2','广西','1','133********');

修改后表内容如下:

2.数据的修改

--修改员工基本信息表中,员工编号为的员工信息USE wageManager

GO

UPDATE workers

SET w_name='刘玉',dep_number='2' WHERE w_number='10010'

视图如下:

修改后表内容如下:

3.数据的删除

--从workers表中删除姓名为黄璐的数据信息

USE wageManager

GO

DELETE FROM workers WHERE w_name='刘玉' 视图如下:

修改后表内容如下:

1.3 表数据的简单查询

USE wageManager

GO

SELECT w_number AS员工编号,w_name AS姓名,sex AS性别, birthday AS出生日期,native AS籍贯,

dep_number AS所在部门编号,

w_tel AS联系电话

FROM workers

视图如下:

相关文档
相关文档 最新文档