MySQL 部门和员工管理系统

在本篇文章中,我们将通过一步步的实现,创建一个简单的 MySQL 数据库来管理部门与员工的信息。我们将分为几个步骤来完成这个任务,最后生成一个饼状图来展示部门与员工的关系。

整体流程

步骤 描述
1 安装 MySQL
2 创建数据库
3 创建部门表和员工表
4 插入示例数据
5 查询部门与员工信息
6 生成并展示饼状图

步骤详细说明

1. 安装 MySQL

您可以在 [MySQL官网]( 下载并安装 MySQL。如果是使用 Ubuntu 系统,可以使用以下命令:

sudo apt update
sudo apt install mysql-server

2. 创建数据库

使用 MySQL 客户端连接到数据库并创建一个新的数据库:

-- 登录 MySQL(首先在命令行中输入)
mysql -u root -p

-- 创建数据库
CREATE DATABASE company_management;
-- 选择数据库
USE company_management;

这段代码完成了登录 MySQL 以及创建一个名为 company_management 的数据库。

3. 创建部门表和员工表

接下来,我们需要创建两个表:一个用于存储部门信息,另一个用于存储员工信息。

-- 创建部门表
CREATE TABLE department (
    id INT AUTO_INCREMENT PRIMARY KEY,  -- 部门 ID
    name VARCHAR(100) NOT NULL           -- 部门名称
);

-- 创建员工表
CREATE TABLE employee (
    id INT AUTO_INCREMENT PRIMARY KEY,  -- 员工 ID
    name VARCHAR(100) NOT NULL,          -- 员工名字
    department_id INT,                   -- 外键关联部门
    FOREIGN KEY(department_id) REFERENCES department(id)
);

上述代码中,我们创建了两个表:departmentemployeeemployee 表中的 department_id 列通过外键与 department 表的 id 列进行关联。

4. 插入示例数据

在表格创建完成后,我们可以插入一些示例数据来测试。

-- 插入部门数据
INSERT INTO department (name) VALUES ('技术部'), ('市场部'), ('人力资源部');

-- 插入员工数据
INSERT INTO employee (name, department_id) VALUES 
('张三', 1), 
('李四', 1), 
('王五', 2),
('赵六', 3);

这个代码片段插入了 3 个部门和 4 个员工。他们分别归属不同的部门。

5. 查询部门与员工信息

为了查看部门和员工之间的关系,您可以使用 JOIN 查询。

-- 查询每个部门的员工
SELECT d.name AS department_name, COUNT(e.id) AS employee_count
FROM department d
LEFT JOIN employee e ON d.id = e.department_id
GROUP BY d.id;

以上 SQL 语句用于查询每个部门的员工数量,使用了 LEFT JOIN 来确保即使某个部门没有员工,查询结果也能显示该部门信息。

6. 生成并展示饼状图

我们可以使用 Mermaid 语法来生成一个饼状图,展示不同部门的员工占比。

pie
    title 部门员工占比
    "技术部": 2
    "市场部": 1
    "人力资源部": 1

在上面的饼状图中,我们展示了每个部门的员工数量,这样可以直观地看到各部门人员构成。

总结

通过以上步骤,我们已经成功创建了一个简单的部门与员工管理系统,涵盖了 MySQL 的安装、数据库和表的创建、数据的插入及查询,以及可视化数据的展示。这是一个基础的项目,但却涵盖了数据库操作的基本概念和技能。

希望本篇文章能够帮助到你,让你在数据库开发的道路上更进一步!如果你有任何疑问或者需要更多的指导,请随时提问。 Happy coding!