数据库课程设计-企业人事管理系统_第1页
数据库课程设计-企业人事管理系统_第2页
数据库课程设计-企业人事管理系统_第3页
数据库课程设计-企业人事管理系统_第4页
数据库课程设计-企业人事管理系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、徐州工程学院课程设计徐州工程学院课程设计目录1. 系统概述 11.1系统开发背景和意义 11.2开发环境1.2. 系统分析1.2.1可行性分析 12.2安全性、完整性分析 22.3需求分析 32.4系统模块设计 33. 数据库设计4.3.1数据字典 43.2系统数据流图 53.3数据库概念设计 53.4数据库逻辑设计 83.5数据库物理设计 94. 系统的实现与调试9.4.1建立企业人事管理系统数据库 94.2建立了数据库的各基本表 104.3插入数据 184.4建立索引 194.5视图 204.6存储过程 224.7触发器 234.8主要的查询SQL语句 255. 思考与总结276. 参考文

2、献27I徐州工程学院课程设计1.系统概述1.1系统开发背景和意义随着计算机技术的飞速发展,计算机已深入到各个领域,并且形成了功能强 大、覆盖全球的信息传输网络。各个领域都向系统化、规范化、自动化的方向发 展,使得工作效率、工作成绩和生活水平都日益提高。人事管理是很多厂矿、公 司、个体事业单位所须的,人事信息管理系统包括对人事信息的统计、查询、更 新、打印输出等,如果靠人,工作量将很大,若公司人数有几万甚至更多,人工 统计将变得不可想象,仅一些简单的操作便可及时、准确地通过计算机获得需要 的信息。计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必 行。计算机管理所无法比拟的优点检索迅

3、速、查找方便、可靠性高、存储量大、 保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的人 事管理制度,这就决定了不同的企业需要不同的人事管理系统。经过分析,我们使用SQL Server 2005和C#开发工具。系统能够提供对人 事信息输入、查询、编辑以及工资设定、查询、修改、算出工资发放各项合计数 据;可自主设定条件从而达到对工资数据的多角度查询功能;方便导入、导出数据及输出报表。财务部门人员以管理员身份登录,对本系统的可登录人员进行管 理;实现了财务部门对本单位工资发放系统的集中管理,保证了系统的安全性。

4、1.2开发环境开发环境的选择会影响到数据库的设计,所以在这里给出人事管理系统开发 环境的选择如下:开发环境:Win dows 7数据库管理系统:MS SQL SERVER数据库2系统分析2.1可行性分析可行性分析是在用户的要求和系统调研的基础上进行的, 对新系统的开发从 社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可 行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性 分析。可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种 考察和鉴定,对拟议中的项目进行全面与综合的技术、 经济能力的调查,判断它是在对系统目标和环境精心分析的基础上,

5、由于本系统知识面向机关和事业单位 内人事信息管理人员和在职人员开发的信息管理系统,尽管这些人员可能没有使 用过类似的系统,但是以 Windows的友好界面和本系统良好的安全性设置,可 以是人事信息管理员在专业人员的指导帮助下迅速掌握系统的操作方法。本系统对计算机的硬件环境有一定的要求,对计算机的操作系统、内存、主频、外设等 都有最低要求,如果低于这个要求将影响到本系统的正常运行。机关和事业单位的人事信息管理目前还完全以传统的人工管理方式进行管 理,耗时多,效率低下并且极容易出现错误。由于认为失误而造成有形和无形的 经济损失时间层出不穷,我们也无法估算出所造成损失的总额。 而利用计算机来 实现人

6、事管理以成为适应当今人事管理的方式。开发一套能满足人事信息管理的 软件是十分必要的,实现人事管理的自动化,在减少由于认为失误而造成损失的 同时,也可以是认识信息管理部门减少许多费用支出,如实现自动化管理后可以 精简人员,减少工资支出等。由上述三方面的分析可以看出,本系统的开发时机 已经成熟,从多种角度考虑开发此系统都是可行的,并且也是十分必要的。2.2安全性、完整性分析数据库的安全性是指保护数据库,以防止非法使用所造成的数据泄露、更改 或破坏。安全性问题有许多方面,在法律、社会、伦理方面,例如请求查询信息 的人是否有合法的权利;法律控制方面,例如计算机机房或者中断是否应该加锁 或用其他方法保护

7、;政策方面,确定存取原则允许哪些用户存取哪些数据; 运行 于技术方面,使用口令时,如何使口令保持秘密;操作系统安全性方面,在主存 储器和数据文件用过后,操作系统是否把它们的内容清除掉。安全性控制的方法有用户的标识和鉴定, 存取控制,定义视图,数据加密和 审计等,在本系统中的安全性体现在用户的标识和鉴定,例如在登陆界面时,首先会输入账户名称,系统内部记录着所有合法用户的标识, 每次用户要求进入系 统时,由系统进行核实,通过鉴定后才提供机器上对数据库的使用权。 当你不是 该系统的合法用户时,则账号是错误的就无法进入该系统。 就用户存取权限控制 而言,在系统登陆界面时会选择是一般用户登陆还是管理员登

8、陆,当为一般用户登陆时,只能查询员工信息和部门信息, 而不能对其进行管理。当以管理员身份 登陆时不仅仅可以查询部门和员工的基本信息,也可以对其进行添加、删除、修改等操作。数据库的完整性是指保护数据库中数据的正确性、有效性和相容性,防止错 误的数据进入数据库造成无效操作。 在本系统中对数据类型的约束,包括数据的 类型、长度、单位和精度等。例如规定员工性别的数据类型应为字符型,长度为2. 对数据格式的约束例如规定出生日期的数据格式为XXXX.XX.XX。对取值范围的约束,例如月份的取值范围为1-12月,日期为1-31号。对空格的约束,例 如员工姓名和编号不能为空,但是员工学历即可为空。实体完整性约

9、 白斑病束说明了关系主键(主码)的属性列必须唯一,其职不能为全空或部分为 空。2.3需求分析调查本地的企业,根据企业的具体情况分析、设计和实现企业人事管理系统。 其主要功如下:1、人事档案管理:户口状况、政治面貌、生理状况、合同管理等。2、考勤、加班、出差官理。3、人事变动:新进员工登记、员工离职登记、人事变更记录。4、考核奖惩。5、员工培训。6、系统维护:操作员管理、权限设置等。2.4系统模块设计企业人事管理系统出差管理考勤管理f 奖薪合惩资同管管管理理理LL3.数据库设计3.1数据字典数据项来源数据 类型赠大小约束条件员工编号企业员工信息表char4Primary key姓名企业员工信息表

10、char10Not null性别企业员工信息表char2岀生日期企业员工信息表chai16部门企业员工信息表chai16身份证号企业员工信息表chai32Not null职位企业员工信息表chai16政治面貌企业员工信息表chai10民族企业员工信息表chai16奖惩编号奖惩信息表char4Prim ary key奖惩原因奖惩信息表char50管理员编号管理员信息表char4Prim ary key密码管理员信息表charSNot null姓名管理员信息表charg薪资编号薪资信息表char4Primary key基本工资薪资信息表char10考勤编号考勤信息表char4Primary key

11、考勤日期考勤信息表chai16岀差编号岀差 息表char4Primary key出差起始岀差信息表char16岀差结束岀差信息表char16加班编号加班信息表chai4Primary key加班起丈台加班侣息表char16加班结束加班信息表char16合同编号合同信息表chai4Primary key合同起始合同信息表char16合同到期合同信息表char16283.2系统数据流图3.3数据库概念设计数据库ER图:3.4数据库逻辑设计由数据库E-R图,可得以下关系:员工(员工编号,姓名,性别,政治面貌,出生日期,部门,职位,身份证 号,民族)加班(加班编号,员工编号,加班起始,加班结束) 出差

12、(出差编号,员工姓名,出差起始,出差结束) 考勤(考勤编号,员工编号,考勤日期,上班时间,下班时间) 奖惩(奖惩编号,员工编号,奖惩方式,奖惩原因,奖惩日期) 职务调动(调动编号,员工编号,调往部门,调往职位,调动日期) 合同(合同编号,员工编号,合同起始,合同到期) 新员工(登记编号,员工编号,到港日期,部门,职位) 员工离职(离职编号,员工编号,部门,职位,离职日期) 薪资管理(薪资编号,员工编号,基本工资,总工资,发薪日期) 管理员(管理员编号,管理员姓名,管理员密码)3.5数据库物理设计数据库物理设计阶段的任务是根据具体的计算机系统的特点,为给定的数据库系统确定合理的存储结构和存取方法

13、。所谓的“合理”有两个含义:一个是要 使设计出的物理数据库占用较少的存储空间, 另一个对数据库的操作具有尽可能 高的速度要体现在后者。(1)存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。将日志文件和数据库对象分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。所以,系统应将日志文件和数据文件存放在不同的磁盘上。(2)评价物理结构数据库物理结构设计过程中需要对时间效率, 空间效率,维护代价和各种用 户需求进行权衡,其结果可以产生多种方案,因此要从中选择一个最优的方案。评价物理结构的方法依赖于

14、所选用的 DBMS主要是定量估算各种方案的存 储空间,存储时间和维护代价,对估算结果进行权衡,选择一个较优的物理结构。4系统的实现与调试4.1建立企业人事管理系统数据库create database mmon(n ame=mmdat,file name=E:StudySQLmydatammdat.mdf, size=100,maxsize=300,filegrowth=10)log on(n ame=mmlog,file name=E:StudySQLmydatammdat.ldf,size=50,maxsize=150,filegrowth=10%)选徉页乎常規g脚本吕帮助/文件组兰1选项芒

15、更改跟臨 占1权限 号扩展昌性雪事务日志传送敎孵上次凿份曰期无数擔库日怎上决奋悄日期无菩称管遐磁正常创建曰期PC-20190712LV1IFAdmini suitor2016/T/4 星期一1:50 48丈小15.00 MB可用空间T.T5 MB用户频4排黒规测iM5t_PK_CI_AS4.2建立了数据库的各基本表建立员工表:create table 员工表(员工编号 char(4) primary key,姓名 char(10) not null,性别 char(2) check(性别 in(男,女), 出生日期char(16),身份证号 char(32) not null, 民族 char

16、(16) default 汉, 职位 char(16),部门 char(16),政治面貌char(10);二表厘性-员工表I =回富I5脚本嘘帮助B全JJ当前连接蚤勅数据库 用户册务器masterFC-20150T12LVDFAdmini strat orFC-20150T12LVDFJ篡制对表进行复制F:alEeJ说明 创建曰期2016/7/3 星期曰 23:48名称员工表系统对象F:lEe架构dboJ迭顶带引号的标识符TrueAIISI NumTrue建立新员工表:create table 新员工表(登记编号 char(4) primary key,员工编号char(4),部门 char(

17、16),职位 char(16),入职日期char(16),foreign key(员工编号)references员工表(员工编号);二耒屋性-新员工袤*=.旦探规限改U展 宀吊収更存犷 2?丰 _*一4 _I用户-亘制朋袈遶行豆制-说明创锤日期带弓I暑的标识符AMSI JTULLxnasterFC-Z0150TZLYDFSAdii亦 eOratorFC-SQISCnSZLVBFf lLs2016/77 1 期一0:15新员:嘉FkL仏伽TrTrue建立离职表:create table 离职表(离职编号 char(4) primary key,员工编号char(4),部门 char(16),职位

18、 char(16),离职日期char(16),foreign key(员工编号)references员工表(员工编号) );二震厲性_震IR茨? 邑港择页3脚本空帮助更改足購扩展屈性CZIzl | J“当苗连接董數数拥库naster用户PCSCl 150712LVBFAdm inislral ar服势器rc-201S0712LW“豆制对表进行复制 -说明创建日期2016/7/4 星期一0:01名称离瞧Falsedha-迭顶带引号的标识符TrutMISI NULLsTrue建立人事表:create table 人事表(调动编号 char(4) primary key,员工编号char(4),调后

19、部门char(16),调后职位char(16),调动日期char(16),foreign key(员工编号)references员工表(员工编号);n袈廉性”新员工st丨巳.回 嘉迭择页雷唧本偽帮助号权限H更改跟踪T扩展厲性“当前连糕蚤數數据库master用户FC-2C1 SQn 12LVDFiniitrtor月嘉器FC-20150712UDF-m閤搗进行夏制丄说明仓嵯日期2016/7/4 星期一0 15新贯工褰dbo-迭顷芾引号的标視符TrueXHSI HVLLcTrut建立合同表:create table 合同表(合同编号 char(4) primary key,员工编号char(4),合

20、同起始char(16),合同到期char(16),foreign key(员工编号)references员工表(员工编号);规限改储展 當枳m存扩 丄青3 -宜*当幫连餓羞敘用户 朋芬器*对表进行复制-说明 创BSM名称 裁对象架拘带引号的标识符ANSI lTULLs- J* =_4itini H IralorS55IIS 列 BlMCt 列 |SE9FKXb 苟命 fc斧 NULL ifl5SS丹仃ch-rtr(lO IOSSt够I虫巴1和菲Kjh口QJcreate index奖惩管理表_奖惩方式ndex on奖惩表(奖惩方式)*存储表容(T):呷辞片PK_JSS5_21233 06 E&3

21、1014F霸删凶:7 唯TQ)士 PC-201iD712LVDF虧囉列PC-2015O712LVDFAdminis tFatorJ名荊t80京理丸屮允许NULL管chan4) 41r.n回察别JS性-PK_J?!_212B8.3 BBE B?1 D14F口回爲create in dex薪资表_总工资n dex on 薪资表(总工资)熨索引屈性-PK用表D1CFEF卿529491m:表0 PC-201M712LVDF PC-20150712LVDFAdmini trator4.5视图(1)建立一个视图,反映员工姓名及工资情况create view 员工工资asselect员工表.姓名,薪资表.类

22、型大水窃识允许NUU.值 闵1;乂“徐州工程学院课程设计from员工表,薪资表where员工表.员工编号=薪资表.员工编号0性-员二工55常权扩 妒一宜M 一-当前连接裁数用户*说闍创建日期架构名称-迭顶KNSI NULLs帝引号的标识符 架枸已绑走 已力曙PCM15O712LVIiFkistrPOEtJl测1ZLVJJF讪血i ni1強2C16/7/1 星期一243 dbo员亩资FalseTrueTmFIe*Falsie(2)建立一个视图,反应管理员信息create view系统管理员信息(编号姓名,密码)asselect管理员编号,管理员姓名,管理员密码from db o.管理员-当前连接

23、参皴服劳器数拥库ftHSI NULLz帛引号的标识符 架枸已绑宦 已力眩rc-2fll5DT12LVLFFC-301BQ71ZLVKFidmifii zUfitdr2C16/7/1 星期一I 21ibo管理员信息FalseTrueTrue:FLs4.6存储过程1、创建存储过程procl用于查看所有信息create proc proclasselect * from 员工表,管理员,人事表exec proclSQLQuery6.sql “ P.rninistrator (59) SQLQuefySncreate proc proc 1a.sselect * from员工表管理员,人事表exec

24、proc 1100 % -二结果命令已咸功完辰Q2、设计存储过程,实现根据传递参数(员工编号和部门编号)查询指定员工的部门名称。create proc proc4员工编号char(10),编号 char(10)as select企业员工.员工编号姓名,部门.编号,部门.部门名称from企业员工,部门where企业员工.员工编号二部门.员工编号 and企业员工.员工编号=员工 编号and部门.编号=编号exec proc4 0001,001SQLQueryS.sql - P.mfnistr3tor (59)SQLQueryS.ql - P.ministrator (57)&QLQuery3cre

25、ate proc proc4K工编号chr 10 J,磁编号char (10)as seiept歪业屈工直mss*妓氨題fron 翔煽二阳亡企4盪工虎工S曽二辺煜IM敖曲d朗盪工屈遍愛詡员工编号 曲邀号卫编号exec proc4 !00011!001 100% 石消息命令已咸功完咸;4.7触发器(1)关键操作,在工资表里添加一条新的记录,实发工资会自动更新新的 数据。定义这个触发器名称为in sert_X资。代码如下:create trigger insert_工资 on 薪资表 for insertasdeclare i char(20)declare bb intset i=casewhe

26、n bb=0001 then 实发工资 when bb=0002 then 实发工资endprint iSQLQuerySnSql - P.,miSQLQueryS.sql -卩ministrator57) create trigger insert 工贸 on 壽资表 for insert asdeclare i char(20declare bb intlset i=casewhen bb-0001 then,实岌工资, when ifibb-0002 then 实发工资end print100 % 由消息命令已咸功完咸SQLQuery5.sql - P.minitrator (57) X

27、USE mastetSQLQueryS.sql - P.mini5tratar 53)*GO/+ Object:也o* inger工资】Script Date: 2016/7/1 星期一2:53:17 +*+/SET AMSI.NULLS ONGOSET QIRTED-IDE町IFIER OHGOBatch submitted throjh debigEEr: SQLQueryS. sqL 0 0 |C:UsersADBINllAppD3rtaLoc31TenipvsEi8FB. sql RjiLTER trigger 風匹层戯灯*占枣J. cn dbo,南资蛊:for inserta;dec

28、lare 篮 char(201declare Onb intI- irt Qi caseuihen bb=0001 then 实岌工贺when Db=0002 then 实发工资endprint(2)员工新调入进行员工新调入操作是在员工信息表中添加一条新的记录,可以为员工信息 表设计一个Insert触发器,当员工信息表执行Insert操作后自动更改出部门信息 表相应记录的数据。定义这个触发器名称为 staffnsert。其代码如下:create trigger staffnsert on 员工for in sertas if (select coun t(*)from 部门,inserted,

29、工资where部门.部门人数=inserted.部门人数 and工资.工号=insertedX 号)=0rollback transactiongoSQLQuery3.sqlSQLQjery6.sql - P.ministrator (59) SQLQuerySql - P.ministrata (57)CREATE TRIGGER staff.insert ON 员工耒FOR INSERTAS IF (SELECT COUNT(*)FKONl inserted,晌E 辿lilQZ遨皿ert 乩机蕊 insert1)=0ROLLEAQ TRANSACTIONGOSQLQueryt.jql -

30、P,., min Orator (59 j)QLQu亡ry5占q - P.mini$tratorSQLQueryS.tql - P,.,mirritrator (53ijUSE usterGO/* Object: Trigger dbot staff.insertScript Date: 2016/1/1 呈期一3:02:12SET ANSI.MLS OKGOSET QUOTED_IDENTIFIER ONGOBatch submitted through debugger: SQLQueryJ.sql10101C:UsersAJnuriAppDataLccalTejipvsBSFB,sqL

31、EALTER TRIGGER 創J取笺展ON dbo.员工利FOR INSERTEAS IF (SELECT COWh)FROS insert ed,ROLLBACK MSACTION4.8主要的查询 SQL语句(1)查询编号为1的员工姓名select distinct 姓名from员工表where员工编号= 1SQLQuery6sqI - P.-.miriistrator (S9SQLQuery5.sqI -ministrator (3select dist inct 姓名 from员工表 where员工偏号=01100 % “a结果由消息姓名1丽ia iraia m *(2)查询工资编号为1的基本工资select基本工资from薪资表where薪资编号= 1;SQLQuery6asql - PB.ministrator (59)SQLQuery5.sqI - P.ministjrat select 基本工贯 from薪资表 where赫资漏号=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论