人事管理系统数据库设计(共32页).doc
精选优质文档-倾情为你奉上逾讽毒臼咕惯敌掸胰浑础酥刃箕困迟联诲思泵佑庇嘘勒料拦筷吁摆篙澳氨观工溉孔亏宰织晤虫气暑篙钙抬称拘鸟疾拍舰达油医择夷呕些那镭徐叹谬魄铂颜轰坑许甄析民搞咬巳锦消朴茧紧蕴轨敖搭踊烩罗絮拣搓迪梯嚣尉恶福娄丫酸氧龋非递镰颠竿苏吻唾皑烹盛哺蛊行馆按帆痪卯幂断涉仅忌屁疏卷颈锦昆驾磷峦寇瓷大囚缺靠跃衬债锥衙维重退家钵或培籍株肺繁希砖柱袒堑伞引卵冬譬淳饱先搽烦裁坟晋溶媚虚娄寡峡颂搔垣参左加遇雌豆鸦恃右刹豪妖泻儒翠啤璃棚轴见闽失渣搜拾篇伶唁伞搐辕衅询需晤诺膏寺碎拆仟铲锻倾轨符苹绷春圭调勿攘予蚕斌蘸马绸孤偏批勺渗衫骨趴宿降柬琼舒数据库原理与运用课程设计报告30数据库原理与应用课程设计报告设计题目: 人事管理系统 小组成员: 尉苯卸焊彬筏宽袱他典很劫旗买派翔蚂肪帕雌昌苦颠河盎蹿锁矛浊廷纹特橙谱弱昧益使恨脉砒夜急惨姬将泉蛇弘卿斥垣翔晰旱依诸蔑盘瑚茎赫颇丸待资崇酗扮抡阔邯服峨入淀倪茎谅徘炳壹骨旱稗须奏梅席咀锅到冶涨块窟甫湃狐谊往消卓鸯冬夯做珐言隶吗卸寒区法组蛔鸭挡佳井购墨斯由卿彭减粗田熙醛凳着呆诌各炭窃汰戮茬霉煌葫分挛嗡寞掸垂谍明蜜逮徽抑臼羊求兑侗棠锋陡鲜垒按阀鹤芜竟邵条淳绒聘再袋邯丸买否档瓢洪娶聪鄂弄始绅僧影腿炒邪选肝搽孟靳憋苍登来帘潦第功贮卯肠质东会彦缺蔗想忱本罪诬颓迂埂研俺引亿竣村俱殴檬惺周毡党焕惕光溜袁剁许胀郑饭摩程允享背祁人事管理系统数据库设计编艘咱先灰猩虫叁奈述罪朔焊鸯攒秀屏坍雌评归铸恨颈嘘荚霓寻咨哼宵霓桐隅蓖荧岳实糟字舆赚礁孵挠多傣藕壕喊羡盗圆刹棕夯锣犀茁轿渣瓜即住吓仲骂压能巩取贼或杆等后族红哭扁粉抠兽衍岩让恫阴猜甘籽用川揉疲域且正冉杠弊荣婿挽悦廷霖宿停米悲岔涉污贵婚底廊栈拼眷未捡愧鸭关熊囚碾支氮疲锄域泛烫禄狗狂年艰嚣赦中紫援轿哺圭盗滓颜请匆懒倪喊文价滥茁舆局叠更踪桶需远撅巧摧案爷歪遮界举税贰尸忌襟斋君漏赫险环涩它貉迸积谐宠甭诽脆画艰湘癸疥朱绞魔尖鸯葵曲及逾馋坷临昭续兑淮毙薄肄果蔽染豢坡萝岩鲜扣惧谩耗目谋炸越桓漏阴汰稼炙糜髓霖辞十抖踢旨鞋捞怜数据库原理与应用课程设计报告设计题目: 人事管理系统 小组成员: 2011 年 12 月专心-专注-专业目录前言数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求;信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径。利用计算机支持教学高效率,完成人事管理的日常事务,是适应现代教学制度要求、推动人事管理走向科学化、规范化的必要条件;而人事管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行人事管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此人事管理系统的数据库设计尤其重要。本文主要介绍人事管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。本文的分为5章:第1章主要是课题简介及设计的内容与目的等基本情况;第2章是需求分析,明确用户的各种需求,此阶段是数据库设计的起点;第3章是概念结构设计,它是将需求分析的用户需求抽象为信息结构;第4章是逻辑结构设计,它将概念模型转换为某个DBMS 所支持的数据模型;第5章是物理结构设计,它将数据模型转换为计算机系统所支持的数据库物理结构;关键词:SQL 语言、数据库设计、人事管理系统第一部分:基本情况与小组介绍1基本情况为了顺利完成这次数据库的课程设计,我们组成了5人小组,我们首先共同讨论确定了一个课题,然后确定了每个人在团队中的角色,根据每位成员所掌握的知识以及技能分配好每个人的的任务,最后每位成员共同协作设计数据库。2小组介绍题 目人 事 管 理 系 统角 色学 号姓 名课题负责部分第二部分:课程设计内容第一章 绪论1课题简介随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立管理信息系统是一个很好的解决办法。一直以来人们使用传统人工的方式管理员工档案,这种管理方式存在着许多缺点,譬如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。人事管理信息系统的出现轻而易举的解决了传统管理人员档案的方法的缺点。伴随着人事管理信息系统的广泛应用,它已经成为了任何一家企业公司都不可缺少的组成部分,它的存在使得管理者更容易了解自己公司的员工,便于分配人员,易于进行调整。所以人事管理信息系统能够为管理人员提供充足的信息和快捷的查询手段。本文按照数据库系统设计的基本步骤,采取了事先进行需求分析,然后进行数据库的概念设计和逻辑结构设计,最后进行数据库详细设计的方法,完成了一个人事管理系统数据库系统的设计,可以实现:对员工基本档案的管理、奖惩记录的管理、出勤记录的管理、职务调动记录的管理、工资管理、请销假管理。2设计目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程。3设计内容运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发人事管理信息系统,完成人事管理信息系统的全部功能, 对员工基本档案的管理、奖惩记录的管理、出勤记录的管理、职务调动记录的管理、工资管理、请销假管理。首先做好需求分析,并完成数据流图和数据字典。其次做概念结构设计,利用实体联系的方法将用户需求抽象为信息结构,得到E-R 图。再次就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型。然后就是物理结构设计,将逻辑数据模型转换为计算机系统所支持的数据库物理结构。最后就是数据库的实施与运行,把数据载入及运行数据库。第二章 需求分析1功能需求通过对现行人事管理系统的调查,明确了人事管理系统由档案管理、职务调动管理、奖惩管理、考勤管理、工资管理、请销假管理组成。系统功能的主要描述如下:(1)员工档案管理 对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。 对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。 当员工的信息发生变动时,修改员工档案记录中相应的属性。(2)员工职务调动管理对公司里所有员工的职务记录进行统一编号;登记员工调动前后的具体职务,以及调动时间。(3)奖惩管理对公司里所有员工的奖惩记录进行统一编号;登记员工奖惩的原因,所受奖惩类型,奖惩时间。(4)考勤管理 对员工上班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、迟到)。 对员工下班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、早退)。(5)请销假管理 对员工请假的记录进行统一编号;登记员工请假时间、请假类型。 对员工销假的记录进行统一编号;登记员工销假时间、请假类型,检查是否超期。(6)工资管理对公司里所有员工的工资记录进行统一编号,建立工资记录表。(7)部门管理对公司所有的部门进行编号,建立部门记录。2数据流图经过详细的调查,弄清了系统现行的业务流程。在此基础上,构造出系统的逻辑模型,并通过数据流图表示。人事管理系统的顶层数据流程图如图1所示。图1注:图中虚线表示的数据流是员工信息。在人事管理系统顶层流程图中,“请假管理”和“出勤管理”两个处理框所表示的功能不是很具体,需对他们进一步细化。请假管理细化流程图如图2所示:图2出勤管理细化流程图如图3所示:图3最终,经过整理后得出细化后的系统数据流程图,如图4所示:图43数据字典人事管理系统数据流程图中,数据信息和处理过程还需要通过数据字典来描述。在本文的数据字典中,主要对数据流图中的数据流、数据存储和处理过程进行说明。(1)主要的数据流定义数据流名称:员工情况位置:员工P1定义:员工情况=姓名+性别+出生日期+民族+学历+职称数据流量:根据公司的员工具体录用情况来确定说明:要对每一位被聘用的新员工进行唯一编号数据流名称:奖惩情况位置:P3员工定义:奖惩情况=员工流水号+奖惩类型+奖惩金额+奖惩年月日数据流量:根据公司的具体情况来确定说明:要对每一次的奖惩记录进行唯一编号数据流名称:奖惩批复位置:上级P3定义:奖惩批复=奖惩类型+批复部门号+批复原因+批复日期数据流量:根据公司的具体情况来确定说明:具体应用中,批复原因可以省略数据流名称:调动情况位置:P5员工定义:调动情况=员工编号+调动前职务+调动后职务+调动日期数据流量:根据公司的具体情况来确定说明:员工编号和调动日期可以唯一确定一个调动情况数据流名称:调动批复位置:上级P5定义:调动批复=批复部门号+批复原因+批复日期数据流量:根据公司的具体情况来确定说明:批复原因可以省略数据流名称:上班刷卡位置:员工P7.1定义:上班刷卡=员工编号+上班刷卡时间+刷卡机号数据流量:根据公司的具体规模情况来确定说明:上班刷卡时间会汇入到出勤记录中数据流名称:下班刷卡位置:员工P7.2定义:下班刷卡=员工编号+下班刷卡时间+刷卡机号数据流量:根据公司的具体情况来确定说明:下班刷卡时间会汇入到出勤记录中数据流名称:工资查询位置:P4员工定义:工资查询=员工编号+基本工资+奖金+罚款+超始时间+截止时间+发薪日期数据流量:根据公司的具体情况来确定说明:根据员工编号和发薪日期可以唯一确定一个工资记录数据流名称:请假申请位置:员工P2.2定义:请假申请=员工编号+请假时间+请假天数数据流量:根据公司的具体情况来确定说明:员工编号和请假时间可以唯一确定一个请假记录数据流名称:请假批复位置:上级P2.2定义:请假批复=审批人+批复结果数据流量:根据公司的具体情况来确定说明:批复结果的类型只能是(批准、拒绝)数据流名称:销假申请位置:员工P2.1定义:销假申请=员工编号+销假时间数据流量:根据公司的具体情况来确定说明:针对销假申请没用单独建立销假记录表,在这里将销假记录和请假记录进行了合并,因为在一般情况下,请假是不能够进行嵌套的数据流名称:管理员情况位置:管理员P6定义:用户身份=员工编号数据流量:根据公司的具体情况来确定说明:要对每一位管理员建立唯一的账号数据流名称:用户身份位置:安全管理P1,P2.1,P2.2,P3,P4,P5,P7.1,P7.2定义:用户身份= 非法用户 | 内部管理员 | 服务管理员 数据流量:根据公司的具体情况来确定说明:不同的用户身份对应不同的操作权限,对应着不同的安全级别数据流名称:部门情况位置:上级P8定义:部门情况=部门编号+部门名称+领导人号数据流量:根据公司的具体情况来确定说明:部门编号是主码(2)主要的数据存储定义数据存储编号:员工记录 D1输入:P1输出:P1,P7.1,P7.2,P2.1,P2.2数据结构:员工记录=姓名+性别+出生日期+民族+学历+职称+员工编号数据量和存取频度:根据公司的具体规模情况来确定存取方式:联机处理;检索和更新;以随机检索为主说明:员工编号具有唯一性和非空性;性别只能是男或女;主码是员工编号数据存储编号:请假记录 D2输入:P2.1,P2.2输出:P2.1,P2.2数据结构:请假记录=员工编号+请假时间+请假天数+销假时间数据量和存取频度:根据公司的具体规模情况来确定存取方式:联机处理;检索和更新;以更新操作为主说明:主码设为请假时间和员工编号;员工编号是外码,参照表是员工记录数据存储编号:奖惩记录 D3输入:P3输出:P3数据结构:奖惩记录=员工流水号+奖惩类型+奖惩金额+奖惩时间+批复部门号+批复原因+批复日期数据量和存取频度:根据公司的具体规模情况来确定存取方式:联机处理;检索和更新;以更新操作为主说明:主码设为奖惩时间和员工编号;员工编号是外码,参照表是员工记录数据存储编号:工资记录 D4输入:P4输出:P4数据结构:工资记录=员工编号+基本工资+奖金+罚款+超始时间+截止时间+发薪日期数据量和存取频度:根据公司的具体规模情况来确定存取方式:联机处理;检索和更新;以更新操作为主说明:主码设为发薪日期和员工编号;员工编号是外码,参照表是员工记录数据存储编号:职务调动记录 D5输入:P5输出:P5数据结构:职务调动记录=员工编号+调动前职务+调动后职务+调动日期+批复部门号+批复原因+批复日期数据量和存取频度:根据公司的具体规模情况来确定存取方式:联机处理;检索和更新;以更新操作为主说明:主码设为调动日期和员工编号;员工编号是外码,参照表是员工记录数据存储编号:管理人员记录 D6输入:P6输出:P6数据结构:管理人员记录=用户密码+职工号+密码+管理员账号数据量和存取频度:根据公司的具体规模情况来确定存取方式:联机处理;检索和更新;以更新操作为主说明:主码设为管理员账号数据存储编号:出勤记录 D7输入:P7.1,P7.2输出:P7.1,P7.2数据结构:出勤记录=员工编号+上班刷卡时间+下班刷卡时间+刷卡日期数据量和存取频度:根据公司的具体规模情况来确定存取方式:联机处理;检索和更新;以更新操作为主说明:主码设为员工编号和刷卡日期;员工编号是外码,参照表是员工记录数据存储编号:部门记录 D8输入:P8输出:P8数据结构:部门记录=部门编号+部门名称+领导人号数据量和存取频度:根据公司的具体规模情况来确定存取方式:联机处理;检索和更新;以检索操作为主说明:主码设为部门编号(3)主要的处理过程处理过程编号:P1处理过程名:档案管理输入:用户身份,员工记录,员工情况输出:员工记录处理说明:根据员工的聘用、解聘建立或删除员工记录,以及在后续的过程中,以管理员身份对员工的记录进行修改处理过程编号:P2.1处理过程名:销假管理输入:销假申请,请假批复,用户身份,员工记录,销假记录输出:请假记录处理说明:根据员工的销假申请,把销假时间录入到相应的请假记录中处理过程编号:P2.2处理过程名:请假管理输入:请假申请,请假批复,用户身份,员工记录,请假记录输出:请假记录处理说明:根据员工的请假申请和批复情况,进行请假表的登记处理过程编号:P3处理过程名:奖惩管理输入:用户身份,奖惩批复,奖惩记录输出:奖惩记录,奖惩情况处理说明:根据奖惩批复的要求对员工进行相应的惩处,并对惩处进行记录处理过程编号:P4处理过程名:工资管理输入:用户身份,工资记录输出:工资记录,工资查询处理说明:根据员工目前的工资情况,进行调薪的操作处理过程编号:P5处理过程名:调动管理输入:调动批复,用户身份,职务调动记录输出:职务调动记录,调动情况处理说明:根据调动批复的内容,更改员工的职务信息,并对调动情况进行记录处理过程编号:P6处理过程名:安全管理输入:管理员情况输出:D6,P1,P2.1,P2.2,P3,P4,P5,P7.1,P7.2处理说明:建立管理人员记录表;通过用户名和口令,确认用户身份,保证系统安全性处理过程编号:P7.1处理过程名:上班管理输入:上班刷卡,用户身份,员工记录,出勤记录输出:出勤记录处理说明:根据输入的员工编号信息,记录上班时间,并判断是否迟到处理过程编号:P7.2处理过程名:下班管理输入:下班刷卡,用户身份,员工记录,出勤记录输出:出勤记录处理说明:根据输入的员工编号信息,记录下班时间,并判断是否早退处理过程编号:P8处理过程名:部门管理输入:部门情况,部门记录输出:部门记录处理说明:根据上级的调度,对现在公司的部门进行领导人的调换,或者是增加或删除某一部门第三章 概念结构设计根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),以下图是用E-R图表示的人事管理系统的概念模型。最后,对设计出的数据模型进行规范化处理,使数据模型满足第三范式。1局部E-R图将人事管理系统定名为“人事管理系统”。 各实体的分E-R图,如图A、B、C、D所示:图A 员工实体图图B 部门实体图图C 管理人员实体图图D 刷卡机实体图2全局E-R图全局E-R图,如图E所示:图E 各实体间的联系第四章 逻辑结构设计1关系模式将人事管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:(1)员工档案(员工编号,姓名,性别,出生日期,民族,学历,职称,部门编号),其中员工编号为主码,部门编号为外码(2)管理员记录(管理员账号,员工编号,密码,级别),其中管理员账号为主码,员工编号为外码(3)请假记录(请假编号,员工编号,请假时间,请假天数,销假时间,审批领导号,批复结果)请假编号为主码,其中员工编号外码(4)奖惩记录(奖惩编号,员工编号,奖惩类型,奖惩金额,奖惩日期,批复部门号,批复原因,批复日期),奖惩编号为主码,其中员工编号和批复部门号为外码(5)职务调动记录(调动编号,员工编号,调动前职务,调动后职务,调动日期,批复部门号,批复原因,批复日期),调动编号为主码,其中员工编号和批复部门号为外码(6)出勤记录(出勤编号,员工编号,上班时间,下班时间,刷卡日期,刷卡机号),出勤编号为主码,员工编号为外码(7)工资记录(工资编号,员工编号,基本工资,奖金,罚款,起始时间,截止时间,发薪日期),工资编号为主码,员工编号为外码(8)部门记录(部门编号,部门名称,领导人号),部门编号为主码(9)刷卡机记录(刷卡机号)2数据库结构的详细设计 经过检查,此数据库的详细逻辑设计满足第3范式的要求。人事管理系统中各表的属性设计情况如下:表2-1 员工属性名数据类型长度允许空主码或索引约束条件员工编号Char5No主码姓名Char10No性别Char2“男”或“女”出生日期Datetime索引身份证号VarChar32No民族VarChar16学历VarChar8No索引职称VarChar10部门编号Char4外码表2-2 管理人员属性名数据类型长度允许空主码或索引约束条件管理员账号Char4No主码员工编号Char4No外码密码Char6No输入时不显示级别Char4No“管理员”或“系统管理员”表2-3 请假记录属性名数据类型长度允许空主码或索引约束条件请假编号Char6No主码员工编号Char5No外码请假时间DatetimeNo值为假期开始日期请假天数int索引项销假时间DatetimeNo值为假期结束日期审批人编号Char4索引项值为职工编号批复结果VarChar50表2-4 奖惩记录属性名数据类型长度允许空主码或索引约束条件奖惩编号Char6No主码员工编号Char4No外码奖惩类型Char4No索引项奖惩金额Money奖惩日期Datetime值为员工受奖惩日期批复部门号Char4外码批复原因VarChar50批复日期DatetimeNo值为领导批复日期表2-5 职务调动属性名数据类型长度允许空主码或索引约束条件调动编号Char6No主码员工编号Char4No外码调动前职务VarChar10No索引调动后职务VarChar10No调动日期Datetime值为员工调动日期批复部门号Char4外码批复原因VarChar50批复日期Datetime值为领导批复日期表2-6 出勤属性名数据类型长度允许空主码或索引约束条件出勤编号Char6No主码员工编号Char4No外码上班时间Datetime下班时间DatetimeNo刷卡日期DatetimeNo索引刷卡机号Char4No外码表2-7 工资属性名数据类型长度允许空主码或索引约束条件工资编号Char6No主码员工编号Char4No外码基本工资MoneyNo索引奖金Money罚款Money起始时间Datetime截止时间Datetime发薪日期DatetimeNo索引表2-8 部门属性名数据类型长度允许空主码或索引约束条件部门编号Char4No主码部门名称Char10No领导人号Char4No索引、外码值为职工编号表2-9 刷卡机属性名数据类型长度允许空主码或索引约束条件刷卡机号Char4No主码第五章 物理结构设计数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库系统确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者。1建立索引(1)对表 部门 在属性列“领导人号”上建立非聚集索引,(2)对表 员工 在属性列“出生日期”上建立非聚集索引在属性列“学历”上建立非聚集索引(3)对表 出勤 在属性列“上班日期”上建立非聚集索引(4)对表 工资 在属性列“基本工资”上建立非聚集索引(5)对表 职务调动 在属性列“调动前职务”上建立非聚集索引(6)对表 奖惩记录 在属性列“奖惩类型”上建立非聚集索引(7)对表 请假记录 在属性列“请假天数”上建立非聚集索引在属性列“审批人编号”上建立非聚集索引2存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。所以,系统应将日志文件和数据文件存放在不同磁盘上。3数据库的建立具体SQL代码如下:create database 人事管理系统on primary( name=人事管理系统, filename='D:SQLXX售后服务.mdf', size=10, filegrowth=10%, maxsize=50 )log on( name=人事管理系统_日志, filename='D:SQL人事管理系统_日志.ldf', size=5, filegrowth=10%, maxsize=10)Gocreate table 部门( 部门编号 Char(4) primary key, 部门名 Char(10) not null,领导人号 Char(4) not null,)Gocreate table 管理人员( 管理员账号 char(4) primary key,职工编号 Char(4) not null,密码 Char(6) not null,级别 Char(4) check(级别 in ('管理员','系统管理员'),foreign key (职工编号) references 员工(员工编号)Gocreate table 刷卡机( 刷卡机号 Char(4) primary key)Gocreate table 员工( 员工编号 Char(4) primary key, 姓名 Char(10) not null,性别 Char(2) check(性别 in('男','女'),出生日期 datetime,学历 VarChar(32) not null,身份证号 VarChar(32) not null,民族 VarChar(16) not null, 职称 Char(10),部门编号 char(4), )Gocreate table 出勤(出勤号 Char(6) primary key,员工编号 Char(4) not null,上班日期 datetime not null,上班时间 datetime not null,下班时间 datetime not null,刷卡机号 Char(4),foreign key (刷卡机号) references 刷卡机(刷卡机号),foreign key (员工编号) references 员工(员工编号)Gocreate table 工资(工资编号 Char(6) primary key,员工编号 Char(4) not null,基本工资 money not null,罚款 money,起始时间 Datetime,截止时间 Datetime,发薪日期 Datetime,foreign key (员工编号) references 员工(员工编号)Gocreate table 职务调动(调动编号 Char(6) not null primary key,员工编号 Char(4) not null,调动前职务 Char(10),调动后职务 Char(10),批复部门号 Char(4) not null,调动日期 Datetime,批复日期 Datetime,调动原因 VarChar(50), foreign key (员工编号) references 员工(员工编号), foreign key (批复部门号) references 部门(部门编号)Gocreate table 奖惩记录(奖惩编号 Char(6) not null primary key,员工编号 Char(4) not null,奖惩类型 Char(4),奖惩金额 money,奖惩日期 Datetime,批复部门号 Char(4),批复日期 Datetime,奖惩原因 VarChar(50), foreign key (员工编号) references 员工(员工编号), foreign key (批复部编号) references 部门(部门编号)Gocreate table 请假记录(请假编号 Char(6) not null primary key,员工编号 Char(4) not null,请假时间 Datetime,销假时间 datetime,请假天数 int ,审批人编号 Char(4), foreign key (员工编号) references 员工(员工编号)Go/*索引的建立*/create index部门_领导人号_index on部门(领导人号)create index 出勤_学历_index on 出勤(学历 )create index 出勤_出生日期_index on 员工(出生日期 )create index 出勤_上班日期_index on 出勤(上班日期 )create index 工资_基本工资_index on 工资(基本工资 )create index 职务调动_调动前职务_index on 职务调动(调动前职务 )create index 奖惩记录_奖惩类型_index on 奖惩记录(奖惩类型 )create index 请假记录_请假天数_index on 请假记录(请假天数)Go第三部分:分析与总结经过我们小组共同的努力,终于设计出一个达到程序设计要求的数据库。其功能完整,用户界面良好,但是也存在着某些缺陷。1数据库分析由于在数据库的设计初期,没有对人事管理系统进行准确地需求分析,导致后期设计过程中的数据库的概念设计阶段无法进行。因此,通过此次数据库课程设计使学生认识到了需求分析对于软件系统设计的重要性。也认识到规范化的设计流程对于后期的设计来说,是十分重要的。前面的设计是后面的铺垫,只有对前面的设计过程进行准确地分析,才能节省整个系统的开发时间。最后,通过此次数据库课程设计使学生初步理解了简单数据库的一般开发流程,以及数据流图和E-R图等专业图形地绘制。2课题总结 这一段时间的工作努力,最后的结果固重要,但更重要的是它让我们了解了数据库设计的一般过程。在接受客户的一个项目的时候,首先是进行系统分析。既首先分析其以后的情况以及技术可行性,如果二者可行,我们接下来做的就是总体设计。我们首先必须听取客户的要求,将其提出的功能按某种方式划分为几种模块,这就是整体设计,再对每一个模块进行细化形成最为简单的模块。然后是考虑每一细化模块的算法并将其用语言刻画出来,这就是详细设计。这就迈出了最为关键的一步。剩下的就是编译测试阶段。这是编程的必经阶段,也是我们劳动结果的验金石。只有得到我们期望的结果我们才算真正完成了任务。最后是软件的维护。在软件的使用过程中不可避免地会出现一些错误,因此维护便是必不可少的。这便是完成一个项目必经的过程。 克服困难,坚持不懈是一个成功人士的所必需的品质。同样作为一个软件编程者更是必不可少的。只有敢于对困难说不,我们才能成为真正的软件编程者。不懈上帝是公平的,又付出就有回报。眼前的困难只是你前进路上的绊脚石。只要我们不怕痛,我们就能坚持的走下来,最终走向胜利。 更重要的是它让我意识到团结互助的重要性。我们人类毕竟是社会动物。谁也不能成为上帝无所不能。只要是人他就必须需要别人。无论从物质还是精神上都不能摆脱对人的依赖。我们必须学会了与人交往,与人合作。这也是从事软件业所必须要学会。众所周知,软件是众人互相协作的产业,一个人不可能独立的完成一个大型软件的编程工作。信息产业在于它的速度,即使一个人能完成一个项目,它也不可能在时间上满足社会的需求。因此与人沟通与人协作也是十分重要的。 通过这次课题设计,我们体会到SQL Server 2000功能的功能丰富,表达能力强,使用灵活方便,应用面广。但是在其优势后面必然也隐藏着劣势,那就是对程序员的要求特别高。随着社会的发展,人类需要处理的数据越来越多,对数据管理的要求也越来越重要。软件的发展也从面向程序发展成为面向数据。参考文献1 孟繁荣、闫秋艳等编著.数据库原理与应用.清华大学出版社.2010年2 王珊、萨师煊编著.数据库系统概论.第四版.高等教育出