还剩16页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
东莞理工学院课程设计课程数据库系统原理与设计题目人事管理系统院系名称计算机学院班级2013信息与计算科学1班学生姓名学号组员指导教师时间2016年1月8日人事管理系统目录1绪论
31.1概述
31.
1.1问题的提出
31.
1.2本课题的意义32需求分析
32.1功能需求及数据需求分析
32.2业务需求分析53概念设计
63.1主要功能概念建模分析
63.2确定总E-R图84逻辑设计
84.1数据字典
84.2逻辑模式转换115数据库设计及实现
115.1基本表的创建
115.2增加参照完整性约束
145.3数据录入、修改、删除操作16总结18参考文献181绪论
1.1概述
1.
1.1问题的提出高效率地实现一个公司的人事管理,开发一个具有使用意义的人事管理系统,此系统具有员工基本信息、学历信息、婚姻信息录入、修改和删除及工作安排记录功能
1.
1.2本课题的意义通过对企业日常员工管理对员工进行分析归类,对基本信息、员工学历、员工配偶、员工工作调动记录、企业聘请员工记录、企业成立部门、企业部门对岗位进行分配等相关内容进行分析,完成具有员工管理、企业管理和等相关功能的小型数据库管理应用系统2需求分析
2.1功能需求及数据需求分析员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等下面为系统概要图人事管理系统企业管理员工基本信息录入员工管理部门设置员工学历学习录入员工婚姻信息录入员工工作安排员工信息修改删除员工管理员工基本信息表包括姓名、员工号、性别、生日、籍贯、民族、联系电话,政治面貌,聘请时间,岗位,工龄,实现员工的信息录入,实现按名字、工号进行查询;员工婚姻情况表,反映员工的配偶信息包括员工号、配偶姓名、配偶年龄、配偶民族、配偶政治面貌、配偶联系电话;员工学历信息表包括员工号、学历、毕业时间、专业、学校、外语情况,实现员工的学历信息录入,实现按学历、毕业时间、学校、专业、外语情况进行查询员工各种信息的修改;对于转出、辞职、辞退、退休员工信息的删除;员工信息录入流程图分析开始选择员工表输入基本信息已婚?选择婚姻表录入配偶信息选择学历表录入学历信息YN结束员工工作安排流程图分析开始增加调动行输入安排信息选择基本表修改岗位信息结束员工信息修改流程图分析(图1)开始选择基本表修改信息结束图1开始选择基本表选择删除信息结束图2级联删除信息
2.企业管理企业工作岗位表包括岗位号、岗位名称、薪水、要求学历、人数需求,实现岗位的员工安排、工作的调整;企业部门信息表包括部门号、部门名称、部门主管
2.2管理规则需求分析每一位员工由工号唯一标识,工号由系统时间顺序生成每一岗位由岗位号唯一标识,岗位号由系统时间顺序生成企业每一部门由部门号唯一标识,部门号由系统时间顺序生成只有部门主管才可以搜索、删除、修改员工信息,员工可以查看和修改自己的信息,不可以对其他员工信息进行操作每一名员工只能属于一个部门,而且只能安排在一个部门的一个岗位,员工调动时记录调动时间每个岗位有固定的需求人数,超过限定人数不可以在安排工作安排工作要符合工作的学历、工龄、外语要求等信息登记员工调动前后的具体职务,以及调动时间3概念设计
3.1主要功能的概念建模分析根据上面的需求分析,人事管理系统的主要功能有员工信息录入、员工信息修改、员工工作安排调动记录下面分别对它们进行建模分析员工与配偶信息录入员工配偶婚姻信息11每名员工可存在两种婚姻状态,即“已婚”和“未婚”,已婚的员工有配偶信息表,未婚的没有,每一个已婚员工对应一个配偶信息表员工学历信息录入员工学历信息学历录入11每名员工以其学历一一对应,学历表根据员工的学历详情的几项属性进行录入,每名员工必须拥有学历记录
3、部门聘请员工记录员工部门聘请1m聘请时间就职岗位新近员工都会由各个部门聘用,新员工不一定有岗位,新员工的信息录入不一定要有就职岗位,由聘请时间来记录新员工被聘请的时间
4、员工工作安排调动记录员工岗位工作nm安排时间调前岗位员工在企业不一定一直进行一项工作,在这间企业的职业生涯也可能存在工作调动
3.2确定总E-R图岗位员工员工配偶部门学历信息聘请设置调动婚姻信息学历录入4逻辑设计
4.1数据字典
4.
1.1实体集字典
1、员工(Employee)实体集
2、员工配偶(Spouse)实体集
3、员工学历(Education)实体集
4、企业工作岗位(Post)实体集
5、企业部门(Department)实体集
4.
1.2联系集字典
1、员工与部门间聘请(Hire)联系集
2、员工与工作岗位间调动(Transfer)联系集
4.2逻辑模式转换员工(Employee)实体集逻辑转换Employeename,employeeNo,sex,native,nation,phoneNo,politicalStatus,hireTime,postworkingYearstype,birthday员工配偶(Spouse)实体集逻辑转换Spouse(employeeNo,name,age,nation,politicalStatus,phoneNo,birthday,spouseNo)员工学历(Education)实体集逻辑转换Education(employeeNo,education,,graduationTime,major,school,foreignLanguage)部门岗位(Post)实体集逻辑转换Post(postNo,postName,salary,requiredEducation,demand,departmentNo)公司部门(Department)实体集逻辑转换Department(departmentNo,departmentName,Manager)员工与部门之间有聘请(Hire)关系联系集逻辑转换Hire(eployeeNodepartmentNodepartmentManagerhireTime,post)逻辑转换员工与岗位之间有调动(Transfer)记录联系集逻辑转换Transfer(recordNo,eplayeeNo,postNo,transterTime,priorPost,note)逻辑转换5数据库设计及实现
5.1基本表的创建
1、数据库及日志文件的创建CREATEDATABASEEmployeeDBONNAME=EmployeeDBFILENAME=I:\EmployeeDB.mdfSIZE=5MAXSIZE=20--创建初始大小为5MB的数据库LOGONNAME=EmployeeLogFILENAME=I:\EmployeeLog.ldfSIZE=5MAXSIZE=20--创建初始大小为5MB的数据库日志文件
2、员工(Employee)基本表的创建CREATETABLEEmployeenamevarchar30NOTNULL--员工姓名employeeNochar10NOTNULL--员工号sexchar2NULL--性别CHECKsexIN男女nativevarchar20NULL--籍贯nationvarchar20NULL--民族phoneNochar13NULL--联系电话politicalStatusvarchar20NULL--政治面貌hireTimedatetimeNOTNULL--聘请时间postNochar6NULL--目前岗位workingYearschar5NULL--工龄tytevarchar20NULL--员工类型birthdaydatetimeNULL--员工生日
3、员工配偶信息(Spouse)基本表的创建CREATETABLESpousenamevarchar30NOTNULL--配偶姓名employeeNochar10NOTNULL--员工号nationvarchar20NULL--民族phoneNochar13NULL--联系电话politicalStatusvarchar20NULL--政治面貌birthdaydatetimeNULL--配偶生日spouseNochar10NOTNULL--编号
4、员工学历(Education)基本表的创建CREATETABLEEducationemployeeNochar10NOTNULL--员工号educationvarchar30NOTNULL--学历graduationTimedatetimeNOTNULL--毕业时间majorvarchar40NULL--专业schoolvarchar30NOTNULL--学校foreignLanguagevarchar30NULL--外语情况
5、部门岗位(Post)基本表的创建CREATETABLEPostpostNochar6NOTNULL--岗位号postNamevarchar20NOTNULL--岗位名称salarychar5NOTNULL--薪水requireEducationvarchar30NULL--学历要求demandchar6NULL--人数需求departmentNochar5NOTNULL--所属部门
6、公司部门(Department)基本表的创建CREATETABLEDepartmentdepartmentNochar5NOTNULL--部门号departmentNamevarchar20NOTNULL--部门名称departmentManagerchar10NOTNULL--部门主管
7、部门聘请员工(Hire)基本表的创建CREATETABLEHiredepartmentNochar5NOTNULL--部门号employeeNochar10NOTNULL--员工号departmentManagerchar10NOTNULL--部门主管hireTimedatetimeNOTNULL--聘请时间postNochar6NULL--就职岗位
8、员工工作调动(Transfer)基本表的创建CREATETABLETransferrecordNochar6NOTNULL--调动记录号emplayeeNochar10NOTNULL--员工号postNochar6NOTNULL--调后岗位transferTimedatetimeNOTNULL--调动时间priorPostchar6NOTNULL--调前岗位
5.2增加参照完整性约束ALTERTABLEEmployeeADDCONSTRAINTePKPRIMARYKEYemployeeNo--把employeeNo设置为表Employee的主键ALTERTABLEEmployeeADDCONSTRAINTeFKFOREIGNKEYpostNoREFERENCESPostpostNo--添加外键ALTERTABLESpouseADDCONSTRAINTsPKPRIMARYKEYspouseNo—把spouseNo设置为表Spouse的主键ALTERTABLESpouseADDCONSTRAINTsFKFOREIGNKEYemployeeNoREFERENCESEmployeeemployeeNo--添加外键ALTERTABLEEducationADDCONSTRAINTeduPKPRIMARYKEYemployeeNo--把employeeNo设置为表Education的主键ALTERTABLEPostADDCONSTRAINTpPKPRIMARYKEYpostNo—把posteNo设置为表Post的主键ALTERTABLEPostADDCONSTRAINTpFKFOREIGNKEYdepartmentNoREFERENCESDepartmentdepartmentNo--添加外键ALTERTABLEDepartmentADDCONSTRAINTdPKPRIMARYKEYdepartmentNo--把departmentNo设置为表Department的主键ALTERTABLEDepartmentADDCONSTRAINTdFKFOREIGNKEYdepartmentManagerREFERENCESEmployeeemployeeNo--添加外键ALTERTABLEHireADDCONSTRAINThPKPRIMARYKEYdepartmentNoemployeeNo--把(department,employeeNo)设置为表Hire的主键ALTERTABLEHireADDCONSTRAINThFK1FOREIGNKEYdepartmentNoREFERENCESDepartmentdepartmentNoCONSTRAINThFK2FOREIGNKEYemployeeNoREFERENCESEmployeeemployeeNoCONSTRAINThFK3FOREIGNKEYdepartmentManagerREFERENCESEmployeeemployeeNoCONSTRAINThFK4FOREIGNKEYpostNoREFERENCESPostpostNo--添加外键ALTERTABLETransferADDCONSTRAINTtPKPRIMARYKEYrecordNo--把recordNo设置为表Transfer的主键ALTERTABLETransferADDCONSTRAINTtFK1FOREIGNKEYpostNoREFERENCESPostpostNoCONSTRAINTtFK2FOREIGNKEYemployeeNoREFERENCESEmployeeemployeeNoCONSTRAINTtFK3FOREIGNKEYpriorPostREFERENCESPostpostNo--添加外键
5.3数据录入、修改、删除操作
5.
3.1员工信息操作
1、全部查询SELECT*FROMEmployee
2、按名字查询SELECT*FROMEmployeeWHEREname=张学友
3、按工号查询SELECT*FROMEmployeeWHEREemployeeNo=
0000074、员工基本信息修改UPDATEEmployeeSETnation=藏族WHEREemployeeNo=
0000075、员工信息录入INSERTINTOEmployeeVALUES陈学海000012男广东汉族15934892481中共党员2016-01-0100:00:
00.00000020技术1994-01-0100:00:
00.
0005.
3.2员工配偶信息操作
1、按名字SELECTb.*FROMEmployeeaSpousebWHEREa.employeeNo=b.employeeNoANDa.name=赖均尚
2、按员工号SELECTb.*FROMEmployeeaSpousebWHEREa.employeeNo=b.employeeNoANDa.employeeNo=
0000023、按名字修改UPDATESpouseSETnation=藏族WHEREemployeeNoINSELECTEmployeenoFROMEmployeeWHEREname=赖均尚
4、按工号修改UPDATESpouseSETnation=藏族WHEREemployeeNo=
0000025.
3.3员工学历信息查询
1、按名字SELECTa.*FROMEducationaEmployeebWHEREa.employeeNo=b.employeeNoANDb.name=赖均尚
2、按员工号SELECTa.*FROMEducationaEmployeebWHEREa.employeeNo=b.employeeNoANDb.employeeNo=
0000023、按名字修改UPDATEEducationSETschool=深圳大学WHEREemployeeNoINSELECTEmployeenoFROMEmployeeWHEREname=赖均尚
4、按工号修改UPDATEEducationSETschool=深圳大学WHEREemployeeNo=
0000025.
3.4员工工作调动记录
1、记录插入INSERTINTOTransferVALUES00001200022016-01-0909:34:
1600011、调动记录UPDATETABLETransferSETpostNo=0002transferTime=2016-01-0809:34:16priorPost=0001WHEREemployeeNo=0000126总结此次的课程设计经过努力终于完成,在这过程中,通过组员合作,相互沟通,虽然没有到实际上的某些公司企业进行需求的咨询和分析,而是通过大量的网上资料进行需求分析,但无疑也是一种锻炼与此同时,这次设计也是对期末学习的一种考察和复习,不仅加深对关系模式的掌握,而且对实体-联系模型也有进一步的理解,这是一笔很好的收获由于时间紧迫,本系统未能实现功能部分UI操作,关系模型求精也没有做到很精简,对联系集的设置还缺乏合理,系统的部分功能还未能实现参考文献
[1]万常选廖国琼吴京慧刘喜平.数据库系统原理与设计.第二版.北京清华大学出版社,
2012.
09.属性名含义类别域及约束name姓名Varchar
(20),不允许空值employeeNo员工号主码Char10不允许空值sex性别Char2取值范围{‘男’,‘女’}native籍贯Varchar20,允许空值nation民族Varchar20允许空值phoneNo联系电话Char13,允许空值politicalStatus政治面貌Varchar
(20)允许空值hireTime聘请时间Datetime,不允许空值postNo初始岗位外码char
(6),允许空值workingYears工龄派生属性char
(5),不允许空值type员工类型varChar
(5),允许空值birthday生日datetime,允许空值属性名含义类别域及约束employeeNo员工号外码Char10不允许空值Name配偶姓名Varchar
(30),不允许空值Nation配偶民族Varchar20允许空值PoliticalStatus配偶政治面貌Varchar20允许空值PhoneNo配偶联系电话Char13,允许空值spouseNo编号主码Char10不允许空值birthday生日datetime,允许空值属性名含义类别域及约束employeeNo员工号主码Char10不允许空值education学历Varchar
(30),不允许值graduationTime毕业时间Datetime,允许空值major专业Varchar
(40),允许值school学校Varchar
(30),不允许值foreignLanguage外语情况Varchar
(30),不允许值属性名含义类别域及约束postNo岗位号主码Char6不允许空值postName岗位名称Varchar20不允许空值salary薪水Char5不允许空值requiredEducation要求学历Varchar
(30),不允许空值demand人数需求Char6不允许空值departmentNo所属部门外码Char5不允许空值属性名含义类别域及约束departmentNo部门号主码Char5不允许空值departmentName部门名称Varchar20不允许空值departmentManager部门主管外码char10不允许空值属性名含义类别域及约束departmentNo部门号主码Char5不允许空值employeeNo员工号主码char10不允许空值departmentManager部门主管外码char10不允许空值hireTime聘请时间Datetime,不允许空集postNo就职岗位外码char
(6),允许空值属性名含义类别域及约束recordNo调动记录号主码Char6不允许空值emplayeeNo员工号外码char6不允许空值postNo调后岗位外码char6不允许空值transferTime调动时间Datetime不允许空值priorPost调前岗位外码char6允许空值。