数据库课程设计员工管理系统docWord格式.docx

上传人:b****3 文档编号:8146618 上传时间:2023-05-10 格式:DOCX 页数:10 大小:76.45KB
下载 相关 举报
数据库课程设计员工管理系统docWord格式.docx_第1页
第1页 / 共10页
数据库课程设计员工管理系统docWord格式.docx_第2页
第2页 / 共10页
数据库课程设计员工管理系统docWord格式.docx_第3页
第3页 / 共10页
数据库课程设计员工管理系统docWord格式.docx_第4页
第4页 / 共10页
数据库课程设计员工管理系统docWord格式.docx_第5页
第5页 / 共10页
数据库课程设计员工管理系统docWord格式.docx_第6页
第6页 / 共10页
数据库课程设计员工管理系统docWord格式.docx_第7页
第7页 / 共10页
数据库课程设计员工管理系统docWord格式.docx_第8页
第8页 / 共10页
数据库课程设计员工管理系统docWord格式.docx_第9页
第9页 / 共10页
数据库课程设计员工管理系统docWord格式.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计员工管理系统docWord格式.docx

《数据库课程设计员工管理系统docWord格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计员工管理系统docWord格式.docx(10页珍藏版)》请在冰点文库上搜索。

数据库课程设计员工管理系统docWord格式.docx

增加:

员工各种信息的输入,包括员工基本信息,学历信息,职称等.修改:

员工的各种信息的修改.删除:

对于转出,辞职,退休员工信息的删除.查询:

按照某种条件,查询,统计符合条件的员工信息.输出:

对查询,统计的结果打印输出.

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

Password

密码

Popedom

权限

部门信息管理(DepartmentInformation)

D_Number

int

部门编号

D_Name

部门名称

D_Count

部门人数

员工基本信息表(EmployeeInformation)

E_Number

--员工编号

E_Name

--姓名

E_Sex

--性别

2

E_BornDate

--出生日期

30

E_Marriage

--婚姻状态

4

E_PoliticsVisage

政治面貌

E_SchoolAge

学历

E_EnterDate

进入公司时间

E_InDueFormDate

转正时间

E_Department

部门

E_Headship

职务

E_Estate

状态

E_Remark

备注

500

培训信息表(TrainInformation)

T_Number

培训编号

T_Content

培训内容

100

T_Name

培训员工姓名

T_Date

培训天数

T_Money

培训费用

奖罚信息表(EncouragementPunishInformation)

EP_Number

EP_Name

EP_Date

奖罚时间

EP_Address

奖罚地点

50

EP_Causation

奖罚原因

200

EP_Remark

薪资信息表(WageInformation)

W_Number

W_Name

W_BasicWage

基本工资

W_Boon

福利

W_Bonus

奖金

W_CountMethod

计算方法

W_FactWage

实发工资

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。

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的权限的回收:

REVOKESELECTONUsersFROMU2;

运行失败,因为如要撤消或拒绝可授予的特权,请指定CASCADE选项。

应该为:

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《数据库原理及应用实验指导》石玉强

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2