企业人事管理系统

  1.课设要求描述   

【系统描述】软件从登录界面开始,验证用户名与密码后,根据登录用户名权限的不同,打开软件后展示不同的功能模块。软件主要功能模块是人事管理、部门管理、备忘录、员工生日提醒、数据库的维护等。


通过简单分析后,总结如下信息(以下描述功能必须完成):


√由于该系统的使用对象较多,要有较好的权限管理,这样可以让不同用
户对不同的功能模块具有不同的操作权限;
√系统提供基本信息进行管理,员工基本信息可以由员工录入,也可由人
事处工作人员进行录入;
√员工只能查看和修改自己的信息,人事管理人员可以查看或修改所有员
工的信息,部门负责人只能查看本部门工作人员信息,但不能查看员工薪资;
√记录公司内部员工基本档案信息,提供便捷的查询功能;
√在查询员工信息时,可以对当前员工的家庭情况,培训与进修情况进行
添加与修改与删除操作;
√不同的员工不同职称,职级或工作年限对应不同的薪资,管理员可以调
整员工的职称或职级,员工的薪资及职称/职级调整后需要有审核;√部门负责人可以按年度添加员工考核结果;
√生日提醒
√备忘录
√员工入职、转岗、离职
√可以按照条件对员工相关情况进行统计;√提供灵活的数据备份,还原与清空功能。

√提供异常处理功能

-- 创建一个视图,用于展示员工的详细信息

-- 创建一个视图,用于展示员工及其家庭成员的详细信息


-- 定义一个触发器将新插入员工的生日提醒信息插入到表中

-- 定义一个触发器更新表中相应员工的生日提醒日期

2.制作思路及基础讲解

此项目主要是用于完成大二下半学期的数据库课设,随手记录。技术面大二下之前只学过Java,MySQL/SQLServer。所以此项目没有前端界面,只通过命令行的形式来操作该系统,制作思路:首先是数据库作为存储数据的地方,编写根据课设要求编写好对应的建表语句和存储过程,视图,触发器等。然后编写好对应系统的Java代码,最后通过JDBC将Java代码与数据库连接起来。

  部分学生可能学的比较浅,不理解mysql,sqlserver,java,c等一堆名词之间的含义。之前有同学找我做过这类似的课设。问的问题都比较抽象,例如用mysql做一个系统之类的。在此简单说一下我对于这些的理解,mysql,sqlserver都是数据库的一种,只不过是外国的所以都是用英文表示,大部分上课不听的同学看到这一堆英文都会比较懵,其实只需简单把数据库(mysql,SQLServer)理解成存储数据的地方,而java,c等语言是用来编写系统逻辑功能的代码。当然在数据库中的存储过程或者触发器什么的,这些功能也能在代码编程语言中通过特定的逻辑实现类似的功能,只不过我们在数据库中写好的话,免去了Java中代码的编写量,并且查询时速度会更快。

3.使用工具及语言详解

不同的学校要求不同,有的是sqlserver,有的是mysql,但其实这两者的区别在我看来区别不大,大部分的语句格式都是一样的,所以我选择了我熟悉的一种,mysql来进行编写。在语言方面,我大一的时候学过c,但是当时没有认真听,后来也慢慢都忘了,大二时学了Java,并且之后又系统性的学了一遍,所以选择来用Java语言编写。对于编译器我使用的是IDEA,版本随意,这个不影响,但需要注意IDEA不是免费的,可以去试用30天,也可以自行网上找方法安装破解版。数据库可视化工具使用的是Navicat,这个工具同样也不是免费的,但提供14天试用期,有长期需求也需要各位自行找破解版。

PS:这里又提到两个新名词,IDEA和Navicat,这不是编程语言,而是工具的名字,大家需要慢慢熟悉这些名词,简单来说就是他能让你的编程之路变得更顺畅,提供了可视化的界面,不需要一直在黑窗口中输入代码

4.数据库建表代码(完整数据库文件请到主页资源处下载)

-- 创建用户表
CREATE TABLE Users (
    UserID INT PRIMARY KEY AUTO_INCREMENT,
    Username VARCHAR(50) NOT NULL,
    Password VARCHAR(255) NOT NULL,
    RoleID INT
);

-- 创建角色表
CREATE TABLE Roles (
    RoleID INT PRIMARY KEY AUTO_INCREMENT,
    RoleName VARCHAR(50) NOT NULL
);

-- 创建权限表
CREATE TABLE Permissions (
    PermissionID INT PRIMARY KEY AUTO_INCREMENT,
    PermissionName VARCHAR(50) NOT NULL
);

-- 创建角色权限关联表
CREATE TABLE RolePermissions (
    RoleID INT,
    PermissionID INT,
    PRIMARY KEY (RoleID, PermissionID)
);

-- 创建员工表
CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY AUTO_INCREMENT,
    Name VARCHAR(50) NOT NULL,
    Sex VARCHAR(50) NOT NULL,
    BirthDate DATE,
    DepartmentID INT,
    PositionID INT,
    Salary DECIMAL(10, 2),
    HireDate DATE,
    Status VARCHAR(20)
);

-- 创建部门表
CREATE TABLE Departments (
    DepartmentID INT PRIMARY KEY AUTO_INCREMENT,
    DepartmentName VARCHAR(100) NOT NULL
);

-- 创建职位表
CREATE TABLE Positions (
    PositionID INT PRIMARY KEY AUTO_INCREMENT,
    PositionName VARCHAR(100) NOT NULL
);

-- 创建员工家庭情况表
CREATE TABLE EmployeeFamily (
    EmployeeID INT,
    FamilyMemberName VARCHAR(100),
    Relationship VARCHAR(50),
    BirthDate DATE,
    PRIMARY KEY (EmployeeID, FamilyMemberName)
);

-- 创建培训与进修表
CREATE TABLE EmployeeTraining (
    TrainingID INT PRIMARY KEY AUTO_INCREMENT,
    EmployeeID INT,
    TrainingName VARCHAR(100),
    StartDate DATE,
    EndDate DATE
);

-- 创建考核结果表
CREATE TABLE EmployeeEvaluation (
    EvaluationID INT PRIMARY KEY AUTO_INCREMENT,
    EmployeeID INT,
    Year INT,
    Result VARCHAR(100)
);

5.Java代码思路及结构

此处只放部分代码截图

 

6.效果运行实例  

 

附带完整源码,数据库文件,需要后台私信   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/794266.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32串口工作原理

STM32的串口是相当丰富的,功能也很强劲。最多可提供5 路串口,有分数波特率发生器、支持单线光通信和半双工单线通讯、支持LIN、智能卡协议和IrDA SIRENDEC 规范(仅串口3支持)、具有DMA等。 串口最基本的设置,就是波特率的设置。STM32的串口使…

Nature Communications|柔性高密度、高灵敏应变传感器阵列(柔性应变传感/界面调控/电子皮肤/柔性电子)

复旦大学武利民( Limin Wu)和李卓( Zhuo Li)团队,在《Nature Communications》上发布了一篇题为“High-density, highly sensitive sensor array of spiky carbon nanospheres for strain field mapping”的论文。论文内容如下: 一、 摘要 在工程应用中,准确地映射应变…

暑假实践web前后端开发-笔记

(主要是前端开发,不做后端,前面先介绍一个实现了前后端的项目) 一. 安装和运行项目MoreMall 1.介绍项目MoreMall 已经实现前后端可以前后端交互,前端:client,后端:server&#xff…

轮转数组(超详细!)

前言: 小编在上一篇文章的时候拿过轮转数组作为例子来讲述复杂度,但是小编并没有给出这个题目的正确解答,既然读者朋友已经了解复杂度了(不了解也没关系,可以看小编上一篇文章),下面&#xff0c…

【数据结构】深入理解哈希及其底层数据结构

目录 一、unordered系列关联式容器 二、底层结构 2.1 哈希的概念 2.2 哈希冲突(哈希碰撞) 2.3 哈希函数 2.4 哈希冲突处理 2.4.1 闭散列(开放定址法) 2.4.1.1 代码实现: 2.4.2 开散列(链地址法&…

高职计算机网络实训室

一、高职计算机网络实训室建设的背景 如今,数字化发展已成为国家发展的战略方向,是推动社会进步和经济发展的重要动力。在这一时代背景下,计算机网络技术作为数字化发展的基础设施,其地位和作用愈发凸显。因此,高职院…

Python数据分析-乳腺癌诊断分析预测

一、研究背景 乳腺癌是全球女性中最常见的癌症之一,发病率和死亡率都处于较高水平。据世界卫生组织(WHO)统计,乳腺癌每年造成数百万女性的死亡,并且其发病率在许多国家呈上升趋势。乳腺癌的早期诊断对于提高患者的生存…

帕金森老人的锻炼建议

对于帕金森病老人来说,适当的锻炼可以帮助改善症状、增强肌肉力量、提高关节灵活性,并预防长期并发症。以下是一些基于最新信息的锻炼建议: 选择合适的运动类型:包括有氧运动、抗阻运动和牵伸运动。有氧运动如快走、慢跑、游泳和舞…

旅游景区度假村展示型网站如何建设渠道品牌

景区、度假村、境外旅游几乎每天的人流量都非常高,还包括本地附近游等,对景区及度假村等固定高流量场所,品牌和客户赋能都是需要完善的,尤其是信息展示方面,旅游客户了解前往及查看信息等。 通过雨科平台建设景区度假…

收银系统源码-视频介绍

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

目标检测基本标注工具-labelImg安装与使用

🍉一、安装 1.1 打开conda创建虚拟环境🎈 conda create -n labelImg python3.8 -y 1.2 激活labelImg虚拟环境🎈 activate labelImg1.3 安装labelImg🎈 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lab…

LayoutLMv1

近年来,预训练技术在各种NLP任务中得到了成功的验证。尽管NLP应用程序广泛使用预训练模型,但它们几乎只关注文本级操作,而忽略了对文档图像理解至关重要的布局和样式信息。在本文中,我们提出了LayoutLM来联合建模文本和布局信息在…

【走出阴霾,拥抱阳光】当心情陷入抑郁,我们该如何自救?

在这个快节奏的时代,我们时常会感受到生活的压力和种种不如意。当心情长时间处于低落状态,甚至影响到日常生活时,我们或许已经步入了抑郁的阴影。面对这种情况,我们不必过于恐慌,更不能自暴自弃。接下来,就…

简单分享下利用python做测试的学习方向

做为一名转行过来的工程师,我想分享一下这些年来,我对于技术是怎样晋升的,我是在职,边上班边利用时间学习起来的,也听过很多业内人的分享(简单可以总结以下几点,分享给大家碎片的式学习方式&…

Java小白入门到实战应用教程-开发环境搭建-JDK安装详细教程

Java小白入门到实战应用教程-JDK安装详细教程 writer:eleven 开发环境搭建 上节内容补充 在带领大家搭建开发环境前,先来了解一些java领域的名词。 Java根据应用领域区别可分为三个版本: JavaSE:是Java的标准版,提供了Java的…

Java 常用的参数校验,简化参数校验,赶紧学起来!!

Java 常用的参数校验,简化参数校验,赶紧学起来!!Java中的参数校验注解主要用于简化数据验证的过程,它们允许开发者以声明式的方式指定参数的验证规则,而无需在业https://mp.weixin.qq.com/s?__bizMzkzMTY0…

289个地级市-资源型城市划分数据

资源型城市:经济地理的独特现象与可持续发展的挑战 资源型城市是指那些以丰富的自然资源为基础,对国家经济和工业化进程有着重要影响的城市。这些城市在国家现代化建设中扮演着关键角色,其发展状况直接关系到区域经济的繁荣与社会的稳定。 资…

使用ffmpeg将一个目录下的mkv格式的视频文件转换成mp4格式

最近学剪辑,从BT种子下载的素材资源都是mkv格式的,不能直接导入到视频剪辑软件中。这种情况下需要用一些格式转换工具进行转换,也可以使用ffmpeg进行编辑。 ffmpeg是一个命令行工具,用来对本地的音频视频软件进行编辑。ffmpeg我也…

无人机之电池保养

一、充电时 1、推荐使用官方充电器和充电管家 2、充电时确保电池处于关闭状态 3、冷却后再充电理想充电温度22-28度 二、使用时 1、首次使用需要充电唤醒电池 2、切勿将电池耗尽过放容易造成电池鼓包 三、储存时 1、存放在环境干燥通风的地方 2、不使用时每两个月充一…

【鸿蒙学习笔记】文件管理

官方文档:Core File Kit简介 目录标题 文件分类什么是应用沙箱? 文件分类 应用文件,比如应用的安装包,自己的资源文件等。用户文件,比如用户自己的照片,录制的音视频等。 什么是应用沙箱? 应…