人员信息管理系统课程设计.doc

上传人:知****量 文档编号:92939695 上传时间:2023-06-16 格式:DOC 页数:23 大小:777KB
返回 下载 相关 举报
人员信息管理系统课程设计.doc_第1页
第1页 / 共23页
人员信息管理系统课程设计.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《人员信息管理系统课程设计.doc》由会员分享,可在线阅读,更多相关《人员信息管理系统课程设计.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 23 页 共 23 页课 程 设 计 课程名称_数据库原理课程设计_题目名称 人员信息管理系统 学生学院 计算机学院 专业班级 计算机科学与技术八班 学 号 学生姓名 指导教师 左亚尧 20 13 年 1 月 16 日目 录一、引言.2二、需求分析.2三、概念结构设计8四、逻辑结构设计9五、物理结构设计10六、数据库装载与实施11七、系统设计及测试数据库15八、实现的主要功能与代码及使用说明20九、设计环境21十、心得体会21一、引 言1.1课程设计选题;1.2本选题的设计背景为了方便企业更好的管理员工,员工更好的查询自己的信息。设计了这个分管理员与员工两种用户的人事管理系统。二、需求分析

2、企业人事管理系统是为企业人事部门能更好的管理人员而设计的,该系统能达到快捷、方便人事部门对人员的管理,基于管理员设计的。2.1、系统功能模块企业人事管理系统分为六个模块:员工信息管理模块、出勤管理模块、工资管理模块、福利管理模块、培训管理模块、奖罚管理模块1、 员工模块:对本员工的基本信息进行查询、修改个人密码,选修培训课。2、 管理员模块:有条件的对员工信息、部门信息、职位信息、工作信息查询;修改和删除员工信息、部门信息、职位信息;增加员工信息、部门信息、职位信息。通过对企业相关人员深入地进行交流,亲身参加业务工作了解业务活动,知道了该企业具体的需求,做了如下的分析:2.2、信息需求员工信息

3、:员工编号、姓名、性别、电话、出生日期、学历、工作日期部门信息:部门编号、部门名称、部门人数职位信息:职位编号、职位名称、职位人数,职位等级工资信息:工资等级编号、基本工资/月、加班工资/天、请假扣款/天、分红百分比/季福利信息:养老保险、失业保险、生育保险、医疗保险、工伤保险、住房公积金出勤信息:工作时间、出勤类别编号、出勤类别名称(白/夜/中)。奖罚信息:奖罚编号、奖罚项目、奖罚金课程信息:课程编号、课程名、学时、教材;2.3、建立数据字典2.3.1数据项(1) 员工信息表:(Employee)员工信息:员工编号、姓名、性别、电话、出生日期、学历、工作日期、密码,工资编号、部门编号,职位编

4、号,出勤类别编号数据项名数据别名数据类型取值范围是否为空说明员工编号Employee_noVarchar(20)Not null主键姓名Employee_nameVarchar(20)Not null性别Employee_sexVarchar(20)男或女出生日期Employee_birthdatamentNot null工作日期Employee_work_datedatementNot null电话Employee_phone_noVarchar(20)密码Employee_passwordVarchar(20)工资等级编号Salary_degree_noVarchar(20)外键部门编号D

5、epartment_noVarchar(20)外键职位编号Occupation_noVarchar(20)外键出勤类别编号Work_type_noVarchar(20)外键(2) 部门信息表:(Department)部门编号、部门名称、部门人数。数据项名数据别名数据类型取值范围是否为空说明部门编号Department_noVarchar(20)Not null主键部门名称Department_nameVarchar(20)Not null部门人数Department_totalityInt(3) 职位信息表:职位编号、职位名称、职位人数,职位等级。部门编号数据项名数据别名数据类型取值范围是否为

6、空说明职位编号Occupation_noVarchar(20)Not null主键职位名称Occupation_nameVarchar(20)Not null职位人数Occupation_totalityInt职位等级Occupation_degreeVarchar(20)部门编号Department_noVarchar(20)外键(4) 工资信息表:(Salary)工资编号、工资等级、基本工资/月、加班工资/天、请假扣款/天、分红百分比/季。数据项名数据别名数据类型取值范围是否为空说明工资等级编号Salary_degree_noVarchar(20)Not null主键基本工资/月Eleme

7、ntary_salaryfloat0-15000加班工资/天Extra_work_salaryfloat0-1500请假扣款/天Cut_paymentfloat0-1500分红百分比/季Bonus_percentageVarchar(20)(5) 福利信息表:(Welfare)养老保险、失业保险、生育保险、医疗保险、工伤保险、住房公积金。员工编号数据项名数据别名数据类型取值范围是否为空说明养老保险Endowment_insurancefloat失业保险Unemployment_insurancefloat生育保险Birth_insurancefloat医疗保险Medical_insurance

8、float工伤保险Accident_insurancefloat住房公积金House_foundfloat员工编号Employee_noVarchar(20)外键(6) 出勤信息表:(Work)工作时间、出勤类别编号、出勤类别名称(白/夜/中)。数据项名数据别名数据类型取值范围是否为空说明工作时间Work_timeint0-24出勤类别编号Work_type_noVarchar(20)Not null主键出勤类别名称Work_typeVarchar(20)(7) 奖罚信息表:奖罚编号、奖罚项目、奖罚金数据项名数据别名数据类型取值范围是否为空说明奖罚编号Reword_punish_noVarch

9、ar(20)Not null主键奖罚项目Rework_punish_nameVarchar(20)奖罚金Reword_punish_foundfloat0-10000(8) 选课信息表:时间、成绩、员工编号、课程编号数据项名数据别名数据类型取值范围是否为空说明时间Select_timedatetime成绩Gradefloat0-100员工编号Employee_noVarchar(20)外键(与Course_no)构成主键课程编号Course_noVarchar(20)外键(与Employee_no)构成主键(9) 接受惩罚信息表:时间、员工编号、奖罚编号数据项名数据别名数据类型取值范围是否为空

10、说明时间Timedatetime员工编号Employee_noVarchar(20)外键(与Employee_no)构成主键奖罚编号Rework_punish_noVarchar(20)外键(与Employee_no)构成主键(10) 课程信息表:课程编号,课程名,学时,教材。数据项名数据别名数据类型取值范围是否为空说明课程编号Course_noVarchar(20)Not null主键课程名Course_nameVarchar(20)Not null学时Course_timeint教材Course_bookVarchar(20)2.3.2 数据结构名称别名含义组成员工信息表Employee员

11、工基本信息员工编号、姓名、性别、电话、出生日期、学历、工作日期。密码,工资编号、部门编号,职位编,出勤类别编号部门信息表Department部门基本信息部门编号、部门名称、部门人数。职位信息表Occupation职位基本信息职位编号、职位名称、职位人数,职位等级。部门编号工资信息表Salary工资基本信息工资编号、工资等级、基本工资/月、加班工资/天、请假扣款/天、分红百分比/季。福利信息表Welfare福利情况基本信息养老保险、失业保险、生育保险、医疗保险、工伤保险、住房公积金。员工编号出勤信息表Work工作情况基本信息工作时间、出勤类别编号出勤类别名称(白/夜/中)。惩罚信息表Rework

12、惩罚情况基本信息奖罚编号、奖罚项目、奖罚金选课信息表Select_Course员工选课情况基本信息时间、成绩、员工编号、课程编号。课程信息表Course课程基本信息课程编号,学时,课程名接受惩罚信息表Acdept_Rework员工惩罚情况基本信息时间、员工编号、奖罚编号三、概念结构设计3.1、整体E-R图设计四、逻辑结构设计4.1 逻辑结构表员工信息(Employee):员工编号、姓名、性别、电话、出生日期、学历、工作日期,密码。工资编号、部门编号,职位编号,出勤类别编号 部门信息(Department):部门编号、部门名称、部门人数。职位信息(Occupation):职位编号、职位名称、职位

13、人数,职位等级。部门编号工资信息(Salary):工资等级编号、基本工资/月、加班工资/天、请假扣款/天、分红百分比/季。福利信息(Welfare):养老保险、失业保险、生育保险、医疗保险、工伤保险、住房公积金。员工编号出勤信息(Work):工作时间、出勤类别编号、出勤类别名称(白/夜/中)。奖罚信息(Rework):奖罚编号、奖罚项目、奖罚金。课程信息(Course):课程名,学时,课程编号,教材。选课信息(Select_Course):时间、成绩、员工编号、课程编号。(课程名和课程编号共同组成主码,同时课程名是课程信息表的外码,员工编号是员工信息表的外码)接受惩罚信息(Accept_Rew

14、ork):时间、员工编号、奖罚编号(奖罚编号和课程编号共同组成主码,同时奖罚编号是奖罚信息表的外码,员工编号是员工信息表的外码)(以上蓝颜色的是表的主码,红颜色的是外码)以上表全部达到三范式。4.2数据库关系图五、 物理结构设计5.1、数据的存放位置及系统配置六、 数据库装载、实施6.1用SQL SEVER 2008建立数据库。6.1.1用SQL 语句建立表:create database mypersonaluse personalcreate table Password(Employee_no Varchar(20) primary key not null,foreign key(Em

15、ployee_no) references Employee(Employee_no),Employee_password Varchar(20),)create table Employee(Employee_no Varchar(20) primary key not null,Employee_name Varchar(20) null,Employee_sex Varchar(20)check(Employee_sex = 男 or Employee_sex = 女),Employee_birth datetime null,Employee_work_date datetime nu

16、ll,Employee_phone_no Varchar(20),Salary_degree_no Varchar(20),Department_no Varchar(20),Occupation_no Varchar(20),Work_type_no Varchar(20),foreign key(Salary_degree_no) references Salary(Salary_degree_no),foreign key(Department_no) references Department(Department_no),foreign key(Occupation_no) refe

17、rences Occupation(Occupation_no),foreign key(Work_type_no) references Work(Work_type_no),)create table Department(Department_no Varchar(20) primary key not null,Department_name Varchar(20) null,Department_totality Int,)create table Occupation(Occupation_no Varchar(20) primary key not null,Occupation

18、_name Varchar(20) not null,Occupation_totality Int,Occupation_degree Varchar(20),Department_no Varchar(20),foreign key(Department_no) references Department(Department_no),)create table Salary(Salary_degree_no Varchar(20) primary key not null,Elementary_salary float check(Elementary_salary 0 and Elem

19、entary_salary 0 and Extra_work_salary 0 and Cut_payment 0 and Work_time 0 and Reword_punish_found 0 and Grade 100),Employee_no Varchar(20),Course_no Varchar(20),primary key(Employee_no,Course_no),foreign key(Employee_no) references Employee(Employee_no),foreign key(Course_no) references Course(Cours

20、e_no),)create table Accept_Rework(Time datetime,Employee_no Varchar(20),Reword_punish_no Varchar(20),primary key(Employee_no,Reword_punish_no),foreign key(Employee_no) references Employee(Employee_no),foreign key(Reword_punish_no) references Rework(Reword_punish_no),)create table Course(Course_no Va

21、rchar(20) primary key not null,Course_name Varchar(20),Course_time int,Course_book Varchar(20),)6.1.2插入一些数据后:(1) 、接受惩罚信息(Accept_Rework):(2) 、员工信息(Employee):(3) 、部门信息(Department):(4) 、职位信息(Occupation):(5) 、工资信息(Salary):(6) 、福利信息(Welfare):(7) 、出勤信息(Work):(8) 、奖罚信息(Rework):(9) 、课程信息(Course):(10) 、选课信息(

22、Select_Course):七、 系统设计及测试数据库7.1登录模块:登录界面分为管理员、用户登录两种,不同用户根据自己的编号与密码进行登录(用户的数据都已经录入数据库)。登录时会根据员工编号与密码进行数据库查询并反馈回来,进行员工登录、管理员登录;没有则报错。7.2管理员模块(1) 、查询修改界面根据部门名称与职位名称进行查询,方便管理员查看用户。对表进行查询。(2) 、增加信息界面:增加部门信息,职位信息、奖罚信息,对表进行插入。如果遇到插入值是主属性,且在表中存在,则系统会做出错处理。(不违反实体完整性规则)现在增加职位信息(3) 、删除信息界面:对选课信息、员工信息、部门信息进行删除

23、。对表执行删除操作。如果遇到表的属性石另一个表的外码则删除不了,系统会做出错处理。(不违反参照完整性规则)现在删除部门名称为“eeeee”的部门。7.3 员工模块(1) 、员工菜单界面:(2) 、个人信息查询:(3) 、奖罚查询(4) 、工作信息查询:(5) 、选课菜单:A、 员工选课:员工根据课程表里的信息进行选课,进行了数据库的插入操作。B、 选课查询:选了数学、英语后查询结果。(6) 、密码修改:员工对密码进行修改。如果两次输入的密码不正确则系统出错处理。八、 实现的主要功能及代码及使用说明8.1 实现的主要功能:实现了对数据库数据的不同条件的查询、插入、删除、修改功能。8.2 代码实现

24、见附录:8.3 使用说明:在myEclipse 里运行,并启动SQL SEVER 2008 ;九、 设计环境: myEclopse + SQL SEVER 2008十:心得体会这次的课程设计是自己独立完成的,收获很大,深入理解了数据库理论与设计方法,把数据库应用到实际的应用系统中,并取得了实际成效。刚开始做数据库课程设计的时候,对数据库设计的概念还很模糊,还不理解数据库设计的六个步骤。看了老师给的需求分析范文,再重新翻阅了数据库设计那章节,反复对比,思考。理清楚了数据库设计步骤的前四个步骤(需求分析、概念结构设计、逻辑结构设计,物理结构设计)但对物理结构设计理解还不是很深入。然后进行数据库设计

25、,第一步:需求分析(自己想设计怎样功能的系统),第二部:概念结构设计、第三部:逻辑结构设计,这些设计都不难。但对于物理结构设计,还不是很理解,只知道备份数据库文件与日志文件,还有配置一些存储大小信息,至于建立索引还不会。有待解决。接着对自己的系统进行功能设计,大多数问题和难点都体现在系统连接数据库,对数据库查询、插入、删除功能。因为对java Swing 还不是很熟悉,对需求分析的一些功能模块不知道用怎样的形式显示出来。不断翻阅了java书籍,查阅了资料后,把大部分功能都实现了,并用java界面显示出来(虽然不是很好看)。在用SQL语句进行查询、插入、删除的时候,开始时,很容易出错,差错误不怎

26、么熟练,后来调试多了就很快排除了。还有,由于我建立的表都达到3范式,有时候查询起来很不方便,要连接很多表,而且有些查询的数据都差不多,做到最后的时候才想到建视图,然后进行查询,这样的话SQL语句就不用连接那么多表了,直接在视图里面查询。在进行插入、删除的时候,不能破坏实体完整性规则,与自定义完整性规则,参照完整性规则,我在这里只是做了不能插入、删除的处理。在用java设计系统开始的时候结构不是很好,写了很多无用的代码,后来发现了,把他封装在一个类里面,要用的时候直接调用就行了如(SQLManage类),用java设计系统还有待提高。做这次课程设计学到了很多东西,不像以前一样只需考虑好大概有几张表就开始动手做项目。那样显得不是很规范,虽然那样效率会相对来说比较高,成果会比较快。但是假如遇到复杂的数据库系统,考虑的不周全很有可能会对数据库进行重构,这样会很致命的。总的来说,自己行动了收获了不少东西,同时知道了还有很多东西有待提高。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁