学习链接
一、数据库名称规范化及建表相关(6.26)
-
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查看)
解决方法:
- 按下
Ctrl+Shift+V
快捷键。打开“Choose Content to Paste”面板。 - 在“Choose Content to Paste”面板中,将鼠标悬停在要删除的内容上。
- 按下
Shift+Delete
组合键。这将删除选中的内容。
不是这个问题(😅)
解决了:不能复制的原因是下载的代码包没有解压缩,必须解压后复制方可粘贴(😅)
错误原因在于选择了文本框和字典,取消使用即可