若依项目实战------企业人力资源管理平台

学习链接

一、数据库名称规范化及建表相关(6.26)

  1. 1.术语名称

1.系统名称:企业人力资源管理平台
英文翻译:Enterprise Human Resource Management Platform(ehrmp)
缩写:EHR

2.员工信息管理(Employee Information Management  缩写:EIM)ehr_eim

ID,姓名、性别、出生日期、联系方式、所属部门、职位、职级


CREATE TABLE `ehr_eim` (
    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '员工编号',
    `name` VARCHAR(50) NOT NULL COMMENT '姓名',
    `gender` VARCHAR(10) NOT NULL COMMENT '性别',
    `birth_date` DATE NOT NULL COMMENT '出生日期',
    `contact_info` VARCHAR(100) NOT NULL COMMENT '联系方式',
    `department` VARCHAR(50) NOT NULL COMMENT '所属部门',
    `position` VARCHAR(50) NOT NULL COMMENT '职位',
    `job_level` VARCHAR(20) NOT NULL COMMENT '职级',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='员工信息表';


INSERT INTO `ehr_eim` (`name`, `gender`, `birth_date`, `contact_info`, `department`, `position`, `job_level`) 
VALUES ('张三', '男', '1990-05-10', '138xxxxxxxx', '研发部', '软件工程师', '初级');

3.考勤管理(Attendance Management  缩写:AM)ehr_am

打卡记录、出勤天数、迟到早退次数、请假、加班、调休

CREATE TABLE `ehr_am` (
    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '记录编号',
    `employee_id` INT(11) NOT NULL COMMENT '员工编号',
    `punch_record` VARCHAR(200) COMMENT '打卡记录',
    `attendance_days` INT(11) NOT NULL COMMENT '出勤天数',
    `late_early_leave_count` INT(11) NOT NULL DEFAULT 0 COMMENT '迟到早退次数',
    `leave_request` VARCHAR(100) COMMENT '请假',
    `overtime` VARCHAR(100) COMMENT '加班',
    `comp_time_off` VARCHAR(100) COMMENT '调休',
    PRIMARY KEY (`id`),
    FOREIGN KEY (`employee_id`) REFERENCES `ehr_eim`(`id`)  -- 建立与员工表的外键关联
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考勤记录表';


INSERT INTO `ehr_am` (`employee_id`, `punch_record`, `attendance_days`, `late_early_leave_count`, `leave_request`, `overtime`, `comp_time_off`) 
VALUES (1, '09:00, 18:00', 20, 2, '病假 1 天', '3 小时', '1 天');

4.薪酬管理(Compensation Management  缩写:CM)ehr_cm

基本工资、绩效工资、奖金

CREATE TABLE `ehr_cm` (
    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '工资记录编号',
    `employee_id` INT(11) NOT NULL COMMENT '员工编号',
    `base_salary` DECIMAL(10, 2) NOT NULL COMMENT '基本工资',
    `performance_salary` DECIMAL(10, 2) NOT NULL COMMENT '绩效工资',
    `bonus` DECIMAL(10, 2) COMMENT '奖金',
    PRIMARY KEY (`id`),
    FOREIGN KEY (`employee_id`) REFERENCES `ehr_eim`(`id`)  -- 与员工信息表建立外键关联
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='工资信息表';


INSERT INTO `ehr_cm` (`employee_id`, `base_salary`, `performance_salary`, `bonus`) 
VALUES (1, 5000.00, 2000.00, 1000.00);

5.招聘管理(Recruitment Management  缩写:RM)ehr_rm

职位,职位描述,要求

CREATE TABLE `ehr_rm` (
    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '职位编号',
    `position_name` VARCHAR(50) NOT NULL COMMENT '职位',
    `position_description` VARCHAR(500) NOT NULL COMMENT '职位描述',
    `requirements` VARCHAR(500) NOT NULL COMMENT '要求',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='职位信息表';



INSERT INTO `ehr_rm` (`position_name`, `position_description`, `requirements`) 
VALUES ('软件工程师', '负责公司软件产品的开发和维护工作', '熟练掌握编程语言,有良好的问题解决能力和团队合作精神');

6.绩效管理(Performance Management  缩写:PM)ehr_pm

绩效目标,考评结果

CREATE TABLE `ehr_pm` (
    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '绩效评估编号',
    `employee_id` INT(11) NOT NULL COMMENT '员工编号',
    `performance_goal` VARCHAR(500) NOT NULL COMMENT '绩效目标',
    `evaluation_result` VARCHAR(100) NOT NULL COMMENT '考评结果',
    PRIMARY KEY (`id`),
    FOREIGN KEY (`employee_id`) REFERENCES `ehr_eim`(`id`)  -- 关联员工信息表
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='绩效评估表';


INSERT INTO `ehr_pm` (`employee_id`, `performance_goal`, `evaluation_result`) 
VALUES (1, '完成项目模块开发,提高代码质量', '优秀');

7.培训与发展(Training and Development  缩写:T&D)ehr_td

培训课程,计划,时间,内容,培训记录

CREATE TABLE `ehr_td` (
    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '培训编号',
    `course_name` VARCHAR(100) NOT NULL COMMENT '培训课程',
    `training_plan` VARCHAR(500) NOT NULL COMMENT '计划',
    `training_time` DATE NOT NULL COMMENT '时间',
    `training_content` VARCHAR(1000) NOT NULL COMMENT '内容',
    `training_record` VARCHAR(500) COMMENT '培训记录',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='培训信息表';

INSERT INTO `ehr_td` (`course_name`, `training_plan`, `training_time`, `training_content`, `training_record`) 
VALUES ('Python 编程培训', '系统学习 Python 基础语法和应用', '2024-07-10', '包括变量、数据类型、控制结构等', '大部分学员掌握较好');

8.福利与员工关系管理(Welfare and Employee Relationship Management  缩写:WERM)ehr_werm

福利项目,领取情况

CREATE TABLE `ehr_werm` (
    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '福利编号',
	`employee_id` INT(11) NOT NULL COMMENT '员工编号',
    `welfare_item` VARCHAR(100) NOT NULL COMMENT '福利项目',
    `receipt_status` VARCHAR(50) NOT NULL COMMENT '领取情况',
    PRIMARY KEY (`id`),
	FOREIGN KEY (`employee_id`) REFERENCES `ehr_eim`(`id`)  -- 关联员工信息表
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='福利信息表';


INSERT INTO `ehr_werm` (`employee_id`,`welfare_item`, `receipt_status`) 
VALUES (1,'节日礼品', '已领取');

9.决策支持(Decision Support  缩写:DS)ehr_ds

10.数据集成与分析(Data Integration and Analysis  缩写:DIA)ehr_dia

可视化报表

2.建表拓展学习

1.sql语句例子

CREATE TABLE Product(
product_id  CHAR(4)  NOT NULL,
product_name VARCHAR(100)  NOT NULL,
product_type  VARCHAR(32)  NOT NULL,
sale_price INTEGER,
purchase_price  INTEGER,
reqist_date  DATE,
PRIMARY KEY(product_id));
结果如图所示
注释

CREATE TABLE Product( -- 表示要创建一个名为"Product"的表

product_id CHAR(4) NOT NULL, -- 定义"product_id"列,数据类型为定长 4 个字符的字符型,且不允许为空值

product_name VARCHAR(100) NOT NULL, -- 定义"product_name"列,数据类型为可变长度、最大长度为 100 个字符的字符型,且不允许为空值

product_type VARCHAR(32) NOT NULL, -- 定义"product_type"列,数据类型为可变长度、最大长度为 32 个字符的字符型,且不允许为空值

sale_price INTEGER, -- 定义"sale_price"列,数据类型为整数型

purchase_price INTEGER, -- 定义"purchase_price"列,数据类型为整数型

reqist_date DATE, -- 定义为日期类型的列

PRIMARY KEY(product_id) -- 将"product_id"列设置为主键,用于唯一标识表中的每一行数据 );

2.相关实验sql语句

结果如图所示

CREATE TABLE `t_article` (
`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '文章 id',
`title` varchar(200) DEFAULT NULL COMMENT '文章标题',
`content` longtext COMMENT '文章内容',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
注释

CREATE TABLE `t_article` ( -- 创建一个名为
`t_article` 的表 `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '文章 id',
-- 定义 `id` 列,数据类型为整数,长度为 20 位,不允许为空值,并设置为自增列,同时添加注释为'文章 id'

`title` varchar(200) DEFAULT NULL COMMENT '文章标题', -- 定义 `title` 列,数据类型为可变长度、最大长度为 200 个字符的字符型,默认值为 NULL,并添加注释为'文章标题'

`content` longtext COMMENT '文章内容', -- 定义 `content` 列,数据类型为长文本,并添加注释为'文章内容'

PRIMARY KEY (`id`) -- 将 `id` 列设置为主键 )

ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; -- 设置存储引擎为 InnoDB,自增起始值为 2,默认字符集为 utf8

二、代码生成

1.表配置(第一次)

由于第三张生成包路径命名system与第一个菜单重复,出现

显示失败,

菜单不能很好的显示,闪退

部分按钮不能显示等问题

问题在于大按钮设置问题

2.第二次尝试

大按钮如图

代码生成信息如图

注意:遇到问题idea不能粘贴外部文件

原因:剪贴板最多存5条数据,CTRL+shift+V查看情况(idea查看)

解决方法:

  1. 按下 Ctrl+Shift+V 快捷键。打开“Choose Content to Paste”面板。
  2. 在“Choose Content to Paste”面板中,将鼠标悬停在要删除的内容上。
  3. 按下 Shift+Delete 组合键。这将删除选中的内容。

不是这个问题(😅)

解决了:不能复制的原因是下载的代码包没有解压缩,必须解压后复制方可粘贴(😅)

错误原因在于选择了文本框和字典,取消使用即可

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值