.. ..
《Database programming with RDBMS》课程
设计
职工工资管理统
指导老师:郭小芳 学号:1441904103 姓名: 高嘉威
.. .. ..
.. ..
《Database programming with RDBMS》考查命题
1、根据周围的实际情况,自选一个小型的数据库应用项目,并深入到应用项目中调研,进行分析和设计。例如可选择职工工资管理系统、人事管理系统、教材管理系统和小型超市商品管理系统和图书管理系统等。要求写出数据库设计报告。
一、功能需求
系统的基本流程是:用户登入—>主界面—>选择各项子系统。
模块设计和功能说明
(一)权限说明:
对于不同的用户可以对其赋予不同的权限级别。部门主管拥有最高的权限,能够对员工的资料进行增删,对部门的信息进行增删。
1)用户登入:填入用户名称,填写正确的密码,选择用户类型。 2)用户登入后,可以对自己的密码进行修改。 3)用户可以查看个人资料。
以下是各部门主管所特有的权限,其他员工均没有该权限,不能实现一下的操作。
4)部门主管可以对员工信息进行浏览、查询、编辑、插入、删除。 5)部门主管可以对该公司的部门信息进行浏览、查询、编辑、插入、删除。
(二)系统的要求:
职工工资管理系统开发时,应该满足以下几点 1)方便,容易操作,快捷的原则。
2)对于不同的用户,应该有不同的使用权限。
3) 各主管的任务是管理部门、职工、工资信息,即时更新、登记、发布信 息,普通职工可以查询、核对自己的基本信息和工资信息。 整个系统模块划分如下图:
用户登入 修改密码 退出系统 部门信息管理 员工信息管理 基本信息查询 薪资信息查询 系统管理 信息管理 信息查询 职工工资管理系统 基本信息管理 薪资信息管理 .. .. .. .. ..
系统管理:
1)用户登录: 普通用户登录:只可查询信息,不可插入、修改、删除;
主管登录:可插入、修改、查询、删除信息;
2)修改密码:凡是该系统的用户都可以修改自己的密码; 3)退出系统
信息管理:
1)部门信息管理:主管可以插入,删除,更改部门信息;
2)员工信息管理:主管可以插入,删除,更改员工的基本信息和薪资信息;
信息查询:
普通员工可以查询自己的基本信息和薪资信息;
二、E-R图
三、关系模型:
1.部门信息(部门编号,部门名称)
2.员工信息(员工编号,,性别,学历,出生日期,职务,部门编号,密码)
3.薪资信息(账号,员工编号,基本工资,福利,缺勤时间及原因,惩罚金额,应缴税 费,总薪资)
2、如创建职工工资管理系统中,一个名称为factory的数据库,要求:
(1)将主数据库文件factory.mdf放置在H:\\DBF文件夹中,其文件大小自动增长为按5 MB增长。
.. .. ..
.. ..
(2)将事务日志文件factory_log.ldf放置在H:\\DBF文件夹中,其文件大小自动增长为按1 MB增长。
create database factory on (
name=factory,
FILENAME='H:\\DBF\\factory.mdf', size=3mb,
filegrowth=5mb )
log on (
name=factory_log,
FILENAME='H:\\DBF\\factory_log.ldf', size=1mb,
filegrowth=1mb )
3、在上机面所创建的数据库factory中,完成如下各题操作。
(1)用create语句建立职工表worker,其结构为:职工号,int;,char(8);性别,char(2);出生日期,datetime;党员否char(2);参加工作,datetime;部门号,int。其中“职工号”为主键。并用insert语句在worker表中输入如下记录:
职工号 1 2 3 4 5 6 7 8 华 明 程西 天奇 夫文 欣 余慧 旗 性别 男 男 女 女 男 男 男 男 出生日期 01/03/52 05/08/45 06/10/80 03/10/65 01/11/42 10/08/52 12/04/80 11/10/80 党员否 是 否 否 是 否 否 否 否 参加工作 10/10/70 01/01/65 07/10/02 07/10/87 08/10/60 01/07/70 07/10/02 07/10/02 部门号 101 102 101 102 102 101 103 102 use factory go
create table worker (职工号 int primary key, char(8), 性别 char(2), 出生日期 datetime, 党员否 char(2), 参加工作 datetime, 部门号 int, );
insert into worker
values(1,'华','男',01/03/52,'是',10/10/70,101), (2,'明','男',05/08/45,'否',01/01/65,102),
.. .. ..
.. ..
(3,'程西','女',06/10/80,'否',07/10/02,101), (4,'天奇','女',03/10/65,'是',07/10/87,102), (5,'夫文','男',01/11/42,'否',08/10/60,102), (6,'欣','男',10/08/52,'否',01/07/70,101), (7,'余慧','男',12/04/80,'否',07/10/02,103), (8,'旗','男',11/10/80,'否',07/10/02,102)
(2)用create语句建立部门表depart,其结构为:部门号,int;部门名,char(10)。其中,“部门号”为主键。并用insert语句在depart表中输入如下记录:
部门号 101 102 103 部门名 财务处 人事处 市场部 use factory go
create table depart (部门号 int primary key, 部门名 char(10) );
insert into depart values(101,'财务处'), (102,'人事处'), (103,'市场部')
(3)用create建立职工工资表salary,其结构为:职工号,int;,char(8);日期,datetime;工资,decimal(6,1)。其中,“职工号”和“日期”为主键。并用insert语句在salary表中输入如下记录:
职工号 1 2 3 4 5 6 7 8 华 明 程西 天奇 夫文 欣 余慧 旗 日期 01/04/04 01/04/04 01/04/04 01/04/04 01/04/04 01/04/04 01/04/04 01/04/04 工资 1201.5 1350.6 750.8 900.0 2006.8 1250.0 725.0 728.0 use factory go
create table salary (职工号 int primary key, char(8), 日期 datetime, 工资 decimal(6,1)
.. .. ..