数据库课程设计员工管理系统doc.docx
- 文档编号:6922998
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:10
- 大小:76.45KB
数据库课程设计员工管理系统doc.docx
《数据库课程设计员工管理系统doc.docx》由会员分享,可在线阅读,更多相关《数据库课程设计员工管理系统doc.docx(10页珍藏版)》请在冰豆网上搜索。
数据库课程设计员工管理系统doc
课程设计
员工管理系统
姓名
院(系)计算机科学与工程学院
专业年级计机092
学号200910214216
指导教师
职称
起止时间
1.概述:
系统背景:
在人才过剩的今天,企业对于有用人才的需求逐步加大,企业内部的人事变动和部门规划也开始加速,传统的人事档案已经不能满足各个企业的人员流动速度,迫使人们起用新的管理方法来管理员工的相关信息。
科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。
信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。
因此,员工管理系统也以方便、快捷、费用低、绿色环保的优点正慢慢地进入各个行业和领域,将传统的员工管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,加速信息的更新速度,使企业管理层第一时间了解到员工的信息,从而进一步的进行对员工的调配。
开发环境:
WINDOWSxp本系统所采用的操作系统;SQLSERVER2005:
系统服务器所使用的数据库管理系统(DBMS)
2.需求与功能分析:
问题陈述:
员工信息系统工程实施的目标就是要带给某单位看得见的效益,其开发过程中也要考虑到人力,资金和时间的约束.因此,在设计中,重点是员工信息系统中的方便快捷,能提供给单位管理者以优质高效的服务,并提高管理的效率,为单位带来良好的效益.
系统功能概述:
增加:
员工各种信息的输入,包括员工基本信息,学历信息,职称等.修改:
员工的各种信息的修改.删除:
对于转出,辞职,退休员工信息的删除.查询:
按照某种条件,查询,统计符合条件的员工信息.输出:
对查询,统计的结果打印输出.
3.概要设计:
概念结构设计本阶段已在系统的需求分析的基础上,对员工管理系统做概要设计.主要解决实现该系统需求的程序模块设计问题.包括如何把该系统划分成若干个模块,决定各个模块之间的接口,模块之间传递的信息,以及数据结构,模块结构的设计等.
系统总体框图:
功能分析:
1.员工各种信息的输入,包括员工的基本信息,学历信息,婚姻状况信息,职称等
2.员工各种信息的修改
3.对于转出,辞退,退休员工的信息删除
4.按照一定条件,查询,统计符合条件的员工信息;至少包括每个员工详细信息查询为了实现这些功能,我们把此系统分为三个主要模块,分别是:
1.系统设置模块,包括用户的添加和删除,密码管理,部门管理2.员工档案管理模块,包括对员工各种档案信息的删除,添加和修改功能3.员工调动信息管理模块,包括对员工转出,调入信息的管理由于时间的关系,其它模块没有实现,留待后续开发.
员工信息系统的功能设计
系统由六大窗口组成,分别是主操作台窗口、登录窗口、数据浏览窗口、数据查询窗口、系统维护窗口、修改密码窗口。
其中主操作台窗口调用其它五个窗口,其它五个窗口不可互相调用。
下面就各窗口的功能及实现思想与方法做一一分析:
1.主操作台窗口。
主操作台窗口为系统运行后用户看到的第一个窗口,它主要包含有菜单栏,按钮栏等控件,通过这些控件,系统可调用其它窗口,调用其它窗口的方法为先实例化一个其它窗口的对象,然后通过对象来调用。
菜单栏上有系统登录、员工信息浏览、通览、按要求查询、用户管理、修改密码、系统维护、注销、退出9个按钮。
系统登录按钮负责调用登录窗口,通览按钮负责调用数据浏览窗口,按要求查询按钮负责调用数据查询窗口,修改密码按钮负责调用修改密码窗口,系统维护负责调用系统维护窗口,注销按钮使系统各项属性初始化,退出按钮的功能为退出系统。
而菜单下面的按钮栏则和菜单按钮一一对应。
主操作台窗口下方通过时钟控件显示当前计算机时间。
当用户尚未登录时,主操作台窗口的菜单栏与按钮栏除系统登录、退出功能外,其它按钮均不可用,这是通过设置控件的ENABLE属性来达到的。
当用户登录成功后,系统登录按钮为不可用,其余按钮均可用,而当注销后,系统回到刚运行系统时的状态。
2.登录窗口。
登录窗口提供系统登录功能。
登录窗口的控件主要包含有单选按钮、下拉式菜单、文本框、按钮等。
3.数据浏览窗口。
通过数据浏览窗口可查看全部表的数据。
数据浏览窗口可通过交互式操作完成。
4.系统维护窗口。
系统维护窗口主要是由向导自动生成。
主要功能有但系统生成的窗口的输出内容的控件都是以文本框的形式,这给应用带来了不便,为此把标识SEX的文本框改为单选按钮。
5.密码修改窗口。
密码修改窗口可修改用户表的对应用户的密码。
但密码窗口只实现新密码参数到主操作台窗口的传递与检查两次新密码输入是否相同。
4.数据库设计:
E-R图:
将ER图转化成关系图:
工资(编号,奖金,代扣,备注,实发工资,基本工资)
培训(编号,时间,地点,内容,天数)
员工(编号,姓名,性别,职务,学历,出生日期,政治面貌,进入时间,转正时间,现今状态)
用工单位(编号)
部门(编号,名称)
奖罚(编号,时间,地点,原因)
5.关键技术的实现:
视图是一个虚拟表,其内容由查询定义。
同真实的表一样,视图包含一系列带有名称的列和行数据。
但是,视图并不在数据库中以存储的数据值集形式存在。
行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
对其中所引用的基础表来说,视图的作用类似于筛选。
定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。
分布式查询也可用于定义使用多个异类源数据的视图。
存储过程就是将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。
存储过程的优点:
1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量
4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权
触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。
触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。
当对某一表进行诸如Update、Insert、Delete这些操作时,SQLServer就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则。
触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。
除此之外,触发器还有其它许多不同的功能:
(1)强化约束(Enforcerestriction)
触发器能够实现比CHECK语句更为复杂的约束。
(2)跟踪变化Auditingchanges
触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。
(3)级联运行(Cascadedoperation)。
触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。
例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。
(4)存储过程的调用(Storedprocedureinvocation)。
在物理结构中,数据的基本存取单位是存储记录。
有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。
存储记录就包括记录的组成,数据项的类型和长度等。
下面是各个信息表:
用户信息表(UserInformation)
字段
类型
说明
大小
是否为空
User_ID
Int
员工编号
NOTNULL
User_Name
varchar
员工姓名
20
NOTNULL
Password
varchar
密码
20
NOTNULL
Popedom
varchar
权限
20
NOTNULL
部门信息管理(DepartmentInformation)
字段
类型
说明
大小
是否为空
D_Number
int
部门编号
NOTNULL
D_Name
varchar
部门名称
20
NOTNULL
D_Count
varchar
部门人数
20
NOTNULL
员工基本信息表(EmployeeInformation)
字段
类型
说明
大小
是否为空
E_Number
int
--员工编号
NOTNULL
E_Name
varchar
--姓名
20
NOTNULL
E_Sex
varchar
--性别
2
NOTNULL
E_BornDate
varchar
--出生日期
30
NOTNULL
E_Marriage
varchar
--婚姻状态
4
NOTNULL
E_PoliticsVisage
varchar
政治面貌
20
NOTNULL
E_SchoolAge
varchar
学历
20
NOTNULL
E_EnterDate
varchar
进入公司时间
30
NOTNULL
E_InDueFormDate
varchar
转正时间
30
NOTNULL
E_Department
varchar
部门
20
NOTNULL
E_Headship
varchar
职务
20
NOTNULL
E_Estate
varchar
状态
20
NOTNULL
E_Remark
varchar
备注
500
NOTNULL
培训信息表(TrainInformation)
字段
类型
说明
大小
是否为空
T_Number
varchar
培训编号
20
NOTNULL
T_Content
varchar
培训内容
100
NOTNULL
T_Name
varchar
培训员工姓名
20
NOTNULL
T_Date
int
培训天数
NOTNULL
T_Money
int
培训费用
NOTNULL
奖罚信息表(EncouragementPunishInformation)
字段
类型
说明
大小
是否为空
EP_Number
int
员工编号
NOTNULL
EP_Name
varchar
员工姓名
30
NOTNULL
EP_Date
varchar
奖罚时间
30
NOTNULL
EP_Address
varchar
奖罚地点
50
NOTNULL
EP_Causation
varchar
奖罚原因
200
NOTNULL
EP_Remark
varchar
备注
500
NOTNULL
薪资信息表(WageInformation)
字段
类型
说明
大小
是否为空
W_Number
int
员工编号
NOTNULL
W_Name
varchar
员工姓名
30
NOTNULL
W_BasicWage
int
基本工资
NOTNULL
W_Boon
int
福利
NOTNULL
W_Bonus
int
奖金
NOTNULL
W_CountMethod
varchar
计算方法
50
NOTNULL
W_FactWage
int
实发工资
NOTNULL
6.数据库安全性控制:
1.在SQLServer对象资源管理器中,设置服务器身份验证为SQLServer和Windows身份验证模式,并以SQLServer身份验证模式登录服务器,登录名和密码均为sa。
2.在SQLServer中创建SQLServer登录账户“testsql”,再以该账户登录服务器SQLServer服务器,并查看对各数据库的访问控制权。
3.在员工管理系统中创建数据库用户“testdb”(SQLServer登录身份“testsql”),并查看对各数据库的访问控制权。
4.授予权限。
1)创建数据库登录名U1、U2、U3(SQLServer身份验证模式)。
并分别以这三个登录名,创建员工管理系统的数据库用户U1、U2、U3。
2)新建查询验证用户U1权限。
以U1登录到SQLServer服务器。
在新建查询窗口中输入“Select*FromUsers”。
运行后查看结果。
结果:
对象名'Users'无效。
3)通过企业管理器,对U1授予LibraryLib数据库中Users表的SELECT权限。
语句:
USE员工管理系统;
GRANTSELECT,INSERTONUsersTOU1
4)通过查询分析器,输入授权语句,对U2授予员工管理系统数据库中Users表的SELECT和INSERT权限,并允许U2将该权限转授予其它用户。
USE员工管理系统;
GRANTSELECT,INSERTONUsersTOU2WITHGRANTOPTION
5)通过查询分析器,以U2的身份登录SQLServer服务器。
输入授权语句,执行用户U2将员工管理系统数据库中Users表的SELECT和INSERT权限授予用户U3。
USE员工管理系统;
GRANTSELECT,INSERTONUsersTOU1
6)分别以U1、U2、U3身份登录到SQLServer服务器。
并验证用户U1、U2、U3是否拥有相应权限。
用U1身份登录,输入语句:
USE员工管理系统;SELECT*FROMUsers
用U2身份登录,输入语句:
USELibraryLib;
SELECT*FROMUsers;
INSERTintoUsers(UserID,UserPassword,UserPower,UserName,UserDepart,
UserTelephone,UserEmail)VALUES(‘2010071’,‘WL2010’,3,‘姚明’,‘nba’,‘85210001’,‘’)
5.回收权限。
以系统管理员的身份登录SQLServer查询分析器。
执行授权语句,回收用户U1、U2权限,并验证三个用户是否真正丧失对数据库的某种权限。
U1的权限的回收:
USE员工管理系统
REVOKESELECTONUsersFROMU1;
U2的权限的回收:
USE员工管理系统
REVOKESELECTONUsersFROMU2;
运行失败,因为如要撤消或拒绝可授予的特权,请指定CASCADE选项。
应该为:
USE员工管理系统
REVOKESELECT,INSERTONUsersFROMU2CASCADE;
6.将SQLServer中SQLServer登录账户“testsql”的服务器角色设置为“sysadmin”,再以该账户登录服务器SQLServer服务器,并查看对各数据库的访问控制权。
7.查看服务器角色sysadmin包含哪些角色成员,并从sysadmin角色成员中删除testsql。
8.将SQLServer中SQLServer登录账户“testsql”设置为员工管理系统数据库的用户,为其指定数据库角色db_datareader,并查看对各数据库及LibraryLib中的访问控制权。
9.查看数据库角色db_datareader包含哪些角色成员,并从db_datareader角色成员中删除testsql。
10.创建一个数据库角色“dbrole”,它可以查询Users表中UserID、UserName、UserDepart三个属性值,并将dbrole角色赋予用户“U1”、“U2”。
11.验证用户U1、U2是否拥有相应权限
7.总结与展望:
在本次课程设计上,我们大家都很努力的完成自己的作品,虽然一开始无从下手,但是还是一步一个脚印走了下来,看到自己的作品渐渐的完善,内心无比欣慰。
我对这次课程设计的体会也非成的深刻,还记得刚开始的时候,去上课基本都是打酱油,因为根本就不知道要怎么开头,但是渐渐的上了几次课后,就稍微有所头绪,然后就慢慢的着手自己的题目,开始找资料,和同学讨论,一步一步的把任务完成。
在做课程设计的过程中当然会遇到许多许多的问题,光靠之前学到的课本知识把一个项目完成是很难的,所以在做实验的过程中碰壁的地方很多,有问题当然要解决,不然下面的工作就不能继续下去了,所以呢,就上网找资料,问同学,慢慢的,慢慢的,一个问题,一个问题的解决,也就这样课程设计也渐有规模。
做什么都是先苦后甜的,虽然是非常的难,但完成之后,内心还是暖暖的,毕竟自己的努力换来了回报,当然,在这次课程设计上,我们应该看到更多的是对自己的肯定和不足,即便是处处碰壁,我们也要一如既往的保持自信,克服困难,咬咬牙往成功的方向前进,相信付出就会得到回报,无论是在课程设计上,还是在我们平时的生活上,自信这东西是不可或缺的。
可以说,这次课程设计对我的提升还是挺大的,虽然对能力提升方面不是很大,但是它让我看到了做什么事都要实事求是,多动脑,勤动手。
最后,希望此次课程设计能够被肯定,还有自己要保持那种在课程设计时候的精神,毫不畏惧的去克服困难,努力的探讨成功之道!
参考资源:
1《数据库原理及应用》石玉强、闫大顺
2《数据库原理及应用实验指导》石玉强
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 员工 管理 系统 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)