数据库课程设计——(企业人事管理系统)
一、 系统概述。
1.1 系统开发背景和意义。
随着计算机技术的飞速发展,计算机已深入到各个领域,并且形成了功能强大、覆盖全球的信息传输网络。各个领域都向系统化、规范化、自动化的方向发展,使得工作效率、工作成绩和生活水平都日益提高。人事管理是很多厂矿、公司、个体事业单位所须的,人事信息管理系统包括对人事信息的统计、查询、更新、打印输出等,如果靠人,工作量将很大,若公司人数有几万甚至更多,人工统计将变得不可想象,仅一些简单的操作便可及时、准确地通过计算机获得需要的信息。
计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。
经过分析,我们使用sql server 2005 和c#开发工具。系统能够提供对人事信息输入、查询、编辑以及工资设定、查询、修改、算出工资发放各项合计数据;可自主设定条件从而达到对工资数据的多角度查询功能;方便导入、导出数据及输出报表。财务部门人员以管理员身份登录,对本系统的可登录人员进行管理;实现了财务部门对本单位工资发放系统的集中管理,保证了系统的安全性。
1.2 开发环境。
开发环境的选择会影响到数据库的设计,所以在这里给出人事管理系统开发环境的选择如下:
开发环境:windows 7
数据库管理系统:ms sql server数据库。
二、系统分析。
2.1可行性分析。
可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是在对系统目标和环境精心分析的基础上,由于本系统知识面向机关和事业单位内人事信息管理人员和在职人员开发的信息管理系统,尽管这些人员可能没有使用过类似的系统,但是以windows的友好界面和本系统良好的安全性设置,可以是人事信息管理员在专业人员的指导帮助下迅速掌握系统的操作方法。
本系统对计算机的硬件环境有一定的要求,对计算机的操作系统、内存、主频、外设等都有最低要求,如果低于这个要求将影响到本系统的正常运行。
机关和事业单位的人事信息管理目前还完全以传统的人工管理方式进行管理,耗时多,效率低下并且极容易出现错误。由于认为失误而造成有形和无形的经济损失时间层出不穷,我们也无法估算出所造成损失的总额。而利用计算机来实现人事管理以成为适应当今人事管理的方式。
开发一套能满足人事信息管理的软件是十分必要的,实现人事管理的自动化,在减少由于认为失误而造成损失的同时,也可以是认识信息管理部门减少许多费用支出,如实现自动化管理后可以精简人员,减少工资支出等。由上述三方面的分析可以看出,本系统的开发时机已经成熟,从多种角度考虑开发此系统都是可行的,并且也是十分必要的。
2.2安全性、完整性分析。
数据库的安全性是指保护数据库,以防止非法使用所造成的数据泄露、更改或破坏。安全性问题有许多方面,在法律、社会、伦理方面,例如请求查询信息的人是否有合法的权利;法律控制方面,例如计算机机房或者中断是否应该加锁或用其他方法保护;政策方面,确定存取原则允许哪些用户存取哪些数据;运行于技术方面,使用口令时,如何使口令保持秘密;操作系统安全性方面,在主存储器和数据文件用过后,操作系统是否把它们的内容清除掉。
安全性控制的方法有用户的标识和鉴定,存取控制,定义视图,数据加密和审计等,在本系统中的安全性体现在用户的标识和鉴定,例如在登陆界面时,首先会输入账户名称,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴定后才提供机器上对数据库的使用权。当你不是该系统的合法用户时,则账号是错误的就无法进入该系统。就用户存取权限控制而言,在系统登陆界面时会选择是一般用户登陆还是管理员登陆,当为一般用户登陆时,只能查询员工信息和部门信息,而不能对其进行管理。
当以管理员身份登陆时不仅仅可以查询部门和员工的基本信息,也可以对其进行添加、删除、修改等操作。
数据库的完整性是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作。在本系统中对数据类型的约束,包括数据的类型、长度、单位和精度等。例如规定员工性别的数据类型应为字符型,长度为2.
对数据格式的约束例如规定出生日期的数据格式为对取值范围的约束,例如月份的取值范围为1-12月,日期为1-31号。对空格的约束,例如员工姓名和编号不能为空,但是员工学历即可为空。实体完整性约白斑病束说明了关系主键(主码)的属性列必须唯一,其职不能为全空或部分为空。
2.3需求分析。
调查本地的企业,根据企业的具体情况分析、设计和实现企业人事管理系统。其主要功如下:
1、 人事档案管理:户口状况、政治面貌、生理状况、合同管理等。
2、 考勤、加班、出差管理。
3、 人事变动:新进员工登记、员工离职登记、人事变更记录。
4、 考核奖惩。
5、 职称管理:职称评聘信息管理。
6、 系统维护:操作员管理、权限设置等。
2.4系统模块设计。
三、数据库设计。
3.1系统数据流图。
3.2数据库概念设计。
数据库e—r图:
3.3数据库逻辑设计。
由数据库e-r图,可得以下关系:
员工(员工编号,员工姓名,性别,政治面貌,出生年月,部门,职位)
加班(加班编号,员工编号,加班开始,加班结束)
出差(出差编号,员工姓名,出差开始,出差结束)
考勤(考勤编号,员工编号,考勤开始,考勤结束)
奖惩(奖惩编号,员工编号,奖惩方式,奖惩原因,奖惩日期)
职务调动(调动编号,员工编号,调往部门,调往职务,调动日期)
合同(合同编号,员工编号,合同起始,合同到期)
新员工(登记编号,员工编号,到港日期,部门,职位)
员工离职(离职编号,员工编号,部门,职位,离职日期)
薪资管理(薪资编号,员工编号,基本工资,总工资,发薪日期)
管理员(管理员编号,管理员姓名,管理员密码)
3.4数据库物理设计。
数据库具体关系图(包括主外键,数据类型等):
四、数据库源码。
5.1建立人事管理系统数据库,并确定数据库的存储结构及日志备份文件等。
create database mm
onname=mmdat,filename='e:\study\sql\mydata\',size=100,maxsize=300,filegrowth=10)
log on
name=mmlog,filename='e:\study\sql\mydata\',size=50,maxsize=150,filegrowth=10%)
5.2建立了数据库的各基本表及各表的完整性设置。
建立员工表:
create table 员工表(
员工编号 char(4) primary key,姓名 char(10) not null,性别 char(2) check(性别 in('男','女'))出生日期 datetime,
身份证号 varchar(32) not null,
民族 varchar(16) default '汉',职位 char(4),部门 char(4),政治面貌 char(10)
建立新员工表:
create table 新员工表(
登记编号 char(4) primary key,员工编号 char(4),部门 char(4),职位 char(4),入职日期 datetime,foreign key(员工编号) references 员工表(员工编号)
建立离职表:
create table 离职表(
离职编号 char(4) primary key,员工编号 char(4),部门 char(4),职位 char(4),离职日期 datetime,foreign key(员工编号) references 员工表(员工编号)
建立人事表:
create table 人事表(
调动编号 char(4) primary key,员工编号 char(4),调后部门 char(4),调后职位 char(4),调动日期 datetime,foreign key(员工编号) references 员工表(员工编号))
建立合同表:
create table 合同表(
合同编号 char(4) primary key,员工编号 char(4),合同起始 datetime,合同到期 datetime,foreign key(员工编号) references 员工表(员工编号))
建立奖惩表:
create table 奖惩表(
奖惩编号 char(4) primary key,员工编号 char(4),奖惩原因 varchar(50),奖惩方式 char(10),奖惩日期 datetime,foreign key(员工编号) references 员工表(员工编号))
建立加班表:
create table 加班表(
加班编号 char(4) primary key,员工编号 char(4),加班起始 smalldatetime,加班结束 smalldatetime,foreign key(员工编号) references 员工表(员工编号))
建立出差表:
create table 出差表(
出差编号 char(4) primary key,员工编号 char(4),出差起始 smalldatetime,出差结束 smalldatetime,foreign key(员工编号) references 员工表(员工编号))
建立考勤表:
create table 考勤表(
考勤编号 char(4) primary key,员工编号 char(4),考勤日期 datetime,上班时间 smalldatetime,下班时间 smalldatetime,foreign key(员工编号) references 员工表(员工编号))
建立薪资表:
create table 薪资表(
薪资编号 char(4) primary key,员工编号 char(4),基本工资 char(10),总工资 char(10),发薪日期 datetime,foreign key(员工编号) references 员工表(员工编号))
建立管理员表:
create table 管理员(
管理员编号 char(4) primary key,管理员姓名 char(10),管理员密码 char(8))
建立索引:create index 员工表_姓名_index on 员工表(姓名)
create index 合同管理表_合同时长_index on 合同表(合同到期)
数据库库课程设计
目录。引言11 开发环境1 1.1 硬件环境1 1.2 软件环境1 1.2.1 sql server 2005 delphi7简单介绍2 2 需求分析3 2.1 信息需求3 2.2 功能需求3 2.3 安全性与完整性要求3 3 概念结构设计3 4 逻辑结构设计4 5 数据库实现6 5.1 创建数据库...
数据库课程设计总结数据库课程设计个人总结
数据库课程设计个人总结 4班6组赵 王婆卖瓜时间过了,言归正传吧。凡是都要有个总结,以下便是我在这个课程设计中的一点心得。首先我分析一下我们组任务顺利完成的成功之处并总结一些经验,供以后反省参考用。凡事预则备,不预则废。这是我的座右铭,也是我深有感悟的几句古语之一。在这个项目的开始阶段,老师便让我们...
数据库课程设计
简单pos系统。班级 计科二班 姓名 韩田田 学号 201010510237 目录。前言。销售管理作为零售企业现代化管理不可缺少的组成部分,日益受到人们的重视。传统销售模式以及销售管理体系和机制,已经越来越难以适应零售企业现代化管理的需求。pos point of sales,销售终端的英文缩写 是...