写一个关于公司管理数据库代码
时间: 2024-02-26 07:58:32 浏览: 26
好的,以下是一个基于MySQL数据库的简单公司管理系统的SQL代码示例:
```
-- 创建员工表
CREATE TABLE employee(
emp_id INT AUTO_INCREMENT PRIMARY KEY, -- 员工编号
emp_name VARCHAR(50) NOT NULL, -- 员工姓名
emp_gender VARCHAR(10) NOT NULL, -- 员工性别
emp_birthday DATE NOT NULL, -- 员工出生日期
emp_phone VARCHAR(20) NOT NULL, -- 员工联系方式
emp_entry_date DATE NOT NULL -- 员工入职日期
);
-- 创建部门表
CREATE TABLE department(
dep_id INT AUTO_INCREMENT PRIMARY KEY, -- 部门编号
dep_name VARCHAR(50) NOT NULL, -- 部门名称
dep_manager INT NOT NULL, -- 部门负责人
FOREIGN KEY (dep_manager) REFERENCES employee(emp_id)
);
-- 创建岗位表
CREATE TABLE position(
pos_id INT AUTO_INCREMENT PRIMARY KEY, -- 岗位编号
pos_name VARCHAR(50) NOT NULL, -- 岗位名称
pos_dept INT NOT NULL, -- 所属部门
pos_duty VARCHAR(100) NOT NULL, -- 岗位职责
FOREIGN KEY (pos_dept) REFERENCES department(dep_id)
);
-- 创建薪资表
CREATE TABLE salary(
sal_id INT AUTO_INCREMENT PRIMARY KEY, -- 薪资编号
sal_emp INT NOT NULL, -- 员工编号
sal_basic DECIMAL(8,2) NOT NULL, -- 基本工资
sal_bonus DECIMAL(8,2) NOT NULL, -- 绩效奖金
sal_allowance DECIMAL(8,2) NOT NULL, -- 津贴
FOREIGN KEY (sal_emp) REFERENCES employee(emp_id)
);
-- 创建考勤表
CREATE TABLE attendance(
att_id INT AUTO_INCREMENT PRIMARY KEY, -- 考勤编号
att_emp INT NOT NULL, -- 员工编号
att_date DATE NOT NULL, -- 打卡日期
att_time TIME NOT NULL, -- 打卡时间
att_type VARCHAR(20) NOT NULL, -- 考勤类型(正常、迟到、早退、缺勤等)
FOREIGN KEY (att_emp) REFERENCES employee(emp_id)
);
-- 创建奖惩表
CREATE TABLE reward_punishment(
rp_id INT AUTO_INCREMENT PRIMARY KEY, -- 奖惩编号
rp_emp INT NOT NULL, -- 员工编号
rp_type VARCHAR(20) NOT NULL, -- 奖惩类型(奖金、罚款、警告等)
rp_amount DECIMAL(8,2) NOT NULL, -- 奖惩金额
rp_reason VARCHAR(100) NOT NULL, -- 奖惩原因
FOREIGN KEY (rp_emp) REFERENCES employee(emp_id)
);
-- 创建培训表
CREATE TABLE training(
tra_id INT AUTO_INCREMENT PRIMARY KEY, -- 培训编号
tra_emp INT NOT NULL, -- 员工编号
tra_topic VARCHAR(100) NOT NULL, -- 培训主题
tra_date DATE NOT NULL, -- 培训日期
tra_content TEXT NOT NULL, -- 培训内容
FOREIGN KEY (tra_emp) REFERENCES employee(emp_id)
);
-- 创建招聘表
CREATE TABLE recruitment(
rec_id INT AUTO_INCREMENT PRIMARY KEY, -- 招聘编号
rec_position VARCHAR(50) NOT NULL, -- 职位名称
rec_count INT NOT NULL, -- 招聘人数
rec_process TEXT NOT NULL -- 招聘流程
);
-- 创建绩效表
CREATE TABLE performance(
per_id INT AUTO_INCREMENT PRIMARY KEY, -- 绩效编号
per_emp INT NOT NULL, -- 员工编号
per_content VARCHAR(100) NOT NULL, -- 考核内容
per_result VARCHAR(50) NOT NULL, -- 考核结果
per_level VARCHAR(20) NOT NULL, -- 考核等级
FOREIGN KEY (per_emp) REFERENCES employee(emp_id)
);
```
以上是一个简单的公司管理系统的SQL代码示例,可以根据具体需求进行调整和优化。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)