您好,欢迎来到尚佳旅游分享网。
搜索
您的当前位置:首页系统运行环境与数据库设计

系统运行环境与数据库设计

来源:尚佳旅游分享网
协管员工资管理信息系统实施报告

目录

1

系统运行环境设计在windows95平台下运行,程序设计语言选择Visual FoxPro 6.0。 系统的硬件要求为586微型计算机,8M以上的内存,500M以上的外存。

一.逻辑结构设计

此阶段的任务是把概念结构设阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构,其转换规则如下:

1. 对于1:1的联系可以转换为一个独立的关系模式,也可一与任意一端对应实体

合并

2. 对于1:n的联系可以转换为一个独立的关系模式,也可一与 n意一端对应实体合并

3. 对于m:n的联系可以转换为一个独立的关系模式

4. 3个或3个以上实体间的一个多元联系可以转换为一个关系模式 5. 各实体分别转换为一个关系模式

因此由上一步E-R图可得到工资管理系统的关系模型为: 部门信息表(部门名称,部门人数,部门负责人)

协管员信息表(协管员编号,姓名,性别,年龄,出生日期,民族,,籍贯,工作时间) 考勤表(工作楼栋,出勤,请假,缺岗,日期)

奖惩表(工作楼栋,请假扣款,缺岗扣款,奖金,时间)

协管员工资表(工作楼栋,应得总计,扣除总计,实发工资) 用户表(用户号,用户名,密码,权限)

二. 数据库物理设计 1.协管员信息表如表1

表1 协管员信息表

编号 1 2 3 4 5 6 7 8 属性 协管员编号 姓名 性别 年龄 出生日期 民族 籍贯 工作时间 数据类型 char char char Int datatime char char datatime 长度 10 10 10 4 8 10 10 8 是否为空 否 是 是 是 是 是 是 是 2.部门信息表如表2

表2 部门信息表 编号 1 2

属性 部门名称 部门人数 数据类型 char int 长度 10 4 是否为空 否 是 2

3 部门负责人 char 10 是

3.考勤表如表3

表3 考勤表

编号 1 2 3 4 5 属性 工作楼栋 日期 出勤 请假 缺岗 数据类型 char datatime int int Int 长度 10 8 4 4 4 是否为空 否 否 是 是 是 4.协管员工资表如表4

表4 协管员工资表 编号 1 3 3 4 属性 工作楼栋 应得工资 扣除总计 发实工资 数据类型 Char mony mony mony 长度 10 8 8 8 是否为空 否 是 是 是 5.奖惩表如表5

表5 奖惩表

编号 1 2 4 5 6 属性 工作楼栋 请假扣款 缺岗扣款 奖金 时间 数据类型 Char mony mony mony Datatime 长度 10 8 8 8 8 是否为空 否 是 是 是 是 6.用户表如表6

表6 用户表

编号 1 2 3 4 属性 用户号 用户名 密码 权限 数据类型 Char varchar int Char 长度 10 50 4 10 是否为空 否 是 是 是 3

三.系统实施

系统实施部分根据上一部分介绍的设计方案,完成了计算机系统的程序设计与调试、系统初始数据的录入以及向计算机系统的转换等工作。

在本工资管理系统里,初次使用系统通过运行比较简单的数据录入、工资查询,报表录入这样一些基本的操作,包括职工证号、姓名及其他信息对照表,部门代码表,以及其他固定数据。之后,如欲修改信息可通过数据维护进行修改。

若有工资变动,可通过建立扣款、补贴文件内各模块可进行当月扣款补贴等变动数据进行录入和修改。

3.1登录语句 Form1.init:

*open data .\\data\\zg-da Form1.activate:

Thisform.txtpass.setfocus Command2.click(进入系统): If used(“setup”) Sele setup Eles

Use.\\data\\setup Endif

Loca for itms=”password” If found () If

Uppe (alltrim(thisform.txtpass.value))==upper(alltrim(valur)) Do form form\\begin Thisform.release Else

E=messagebox(“口令错误请重新输入!”,0+48+0,”警告”)

4

Thisform.txtpass.setfocus Endif Else

Do form form\\begin Thisform.release Endif

Command3.click(退出系统):

If type(“thisform.parent”)=”0” Thisformset.release Else

Thisform.release Endif

Clear events

Release all extended

3.2关系图

5

3.3功能实现语句:

(1)根据等级表的信息设定工种表中员工的基本工资

图3.31工资等级表

update 工种 set 工种.基本工资=等级.基本工资 from 工种,等级where 工种.等级编号=等级.等级编号

(2)根据业绩表的信息设定工种表中员工的月奖金

图3.32奖金等级表

update工种set工种.月奖金=业绩.月奖金 from 工种, 业绩 where工种.部门编号=业绩.部门编号

(3)设每个员工加班一小时可获得50的加班津贴,则每个员的所得津贴为: update津贴 set 所得津贴=加班时间*50

(4)假设每个员工迟到一次应扣的工资为10,缺勤一次应扣的工资为二十,每个员工的考勤情况应扣工资可表示为:

update考勤set 应扣工资=迟到次数*10+缺勤次数*20

(5)每个员工的实发工资应为基本工资扣除应扣工资后的实际工资: update考勤set 实发工资=基本工资-应扣工资

(6)计算每个员工的实发金额:

update月工资set 实发金额=基本工资-应扣工资+所得津贴+月奖金

(7)分别计算每个人的年奖金、年基本工资和年终奖金: update 年终奖金表 set 年奖金=月奖金*12

update 年终奖金表 set 年基本工资=基本工资*12

update 年终奖金表 set 年终奖金=(年奖金+年基本工资)/12

(8)新建一个视图:员工工资情况 create view 员工工资情况 as

select 员工编号,部门编号,等级编号,月奖金,基本工资 from工种

6

(9)在该视图中可进行单个员工工资的查询操作 select * from 员工工资情况

例如:查询部门编号为05的所有员工的奖金情况的语句为:

select 员工编号,月奖金 from 员工工资情况 where 部门编号=05 查询等级编号为02的所有员工的工资情况的语句为:

select 员工编号,基本工资 from 员工工资情况 where 等级编号=02 查询员工编号为06的员工的工资情况的语句为:

select 员工编号,基本工资 from 员工工资情况 where 员工编号=06

(10)管理权限的设置:

把对考勤情况表的查询权限授予所有用户(月工资和津贴表权限同考勤表) grant select on table考勤 to public

把对员工基本信息表的修改权限授予管理员(其余表的修改权限同员工基本信息表)grant update on table 员工 to 管理员

7

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- shangjiatang.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务