Введение
В этом проекте вы научитесь создавать базу данных системы управления персоналом с использованием MySQL. В базе данных будут храниться сведения о сотрудниках, их рабочих единицах и местах проживания.
👀 Предварительный просмотр
MariaDB [companySys]> DESC company;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| company_name | varchar(50) | NO | PRI | NULL | |
| city | varchar(10) | YES | | NULL | |
+--------------+-------------+------+-----+---------+-------+
2 rows in set (0.001 sec)
🎯 Задачи
В этом проекте вы научитесь:
- Как обращаться к MySQL с использованием команды
sudo - Как создать базу данных под названием
companySys - Как создать три таблицы:
company,workиemploy - Как установить соответствующие ограничения первичного и внешнего ключа для каждой таблицы
- Как вставлять данные в таблицы
🏆 Достижения
После завершения этого проекта вы сможете:
- Разобраться в основах создания и управления базой данных
- Реализовать операции CRUD (Create, Read, Update, Delete) в реляционной базе данных
- Устанавливать связи между таблицами с использованием первичных и внешних ключей
- Управлять и манипулировать данными в базе данных системы управления персоналом
Доступ к MySQL и создание базы данных
В этом шаге вы научитесь обращаться к MySQL с использованием команды sudo и создавать базу данных companySys.
- Откройте терминал и выполните следующую команду, чтобы запустить службу MySQL:
sudo service mysql start
- Доступ к MySQL с использованием команды
sudo:
sudo mysql
- Откройте файл
creatComDatabase.sql. - В файле
creatComDatabase.sqlсоздайте базу данныхcompanySysс набором символов UTF-8:
CREATE DATABASE IF NOT EXISTS companySys DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- Используйте базу данных
companySys:
USE companySys;
Создать таблицы
В этом шаге вы создадите три таблицы: company, work и employ.
- Откройте файл
creatComDatabase.sqlи создайте в нем следующие таблицы в порядке. - Создайте таблицу
company:
CREATE TABLE IF NOT EXISTS company (
company_name varchar(50) NOT NULL,
city varchar(10),
PRIMARY KEY (company_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- Создайте таблицу
work:
CREATE TABLE IF NOT EXISTS work (
per_name varchar(10) NOT NULL,
company_name varchar(50),
salary decimal(10,2),
PRIMARY KEY (per_name),
FOREIGN KEY (company_name) REFERENCES company(company_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- Создайте таблицу
employ:
CREATE TABLE IF NOT EXISTS employ (
id int NOT NULL,
person_name varchar(10),
street varchar(100),
city varchar(10),
PRIMARY KEY (id),
FOREIGN KEY (person_name) REFERENCES work(per_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Вставить данные
В этом шаге вы вставите данные в три таблицы.
- Откройте файл
creatComDatabase.sqlи продолжайте с предыдущего шага, чтобы добавить следующий sql-запрос. - Вставьте данные в таблицу
company:
INSERT INTO company (company_name, city) VALUES
('ABC Company', 'New York'),
('LabEx', 'London'),
('Company 3', 'Paris');
- Вставьте данные в таблицу
work:
INSERT INTO work (per_name, company_name, salary) VALUES
('John', 'ABC Company', 5000.00),
('Jane', 'LabEx', 6000.00),
('Mary', 'Company 3', 5500.00);
- Вставьте данные в таблицу
employ:
INSERT INTO employ (id, person_name, street, city) VALUES
(1, 'John', '123 Main Street', 'New York'),
(2, 'Jane', '456 Park Avenue', 'London'),
(3, 'Mary', '789 Broadway', 'Paris');
Проверить базу данных
В этом шаге вы проверите базу данных, описав таблицы.
- В клиенте MySQL выполните следующую команду, чтобы выполнить SQL-скрипт:
MariaDB [(none)]> SOURCE /home/labex/project/creatComDatabase.sql;
- Опишите таблицу
company:
DESC company;
MariaDB [companySys]> DESC company;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| company_name | varchar(50) | NO | PRI | NULL | |
| city | varchar(10) | YES | | NULL | |
+--------------+-------------+------+-----+---------+-------+
2 rows in set (0.001 sec)
- Опишите таблицу
employ:
DESC employ;
MariaDB [companySys]> DESC employ;
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| person_name | varchar(10) | YES | MUL | NULL | |
| street | varchar(100) | YES | | NULL | |
| city | varchar(10) | YES | | NULL | |
+-------------+--------------+------+-----+---------+-------+
4 rows in set (0.001 sec)
- Опишите таблицу
work:
DESC work;
MariaDB [companySys]> DESC work;
+--------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+-------+
| per_name | varchar(10) | NO | PRI | NULL | |
| company_name | varchar(50) | YES | MUL | NULL | |
| salary | decimal(10,2) | YES | | NULL | |
+--------------+---------------+------+-----+---------+-------+
3 rows in set (0.001 sec)
Вы успешно создали базу данных системы управления персоналом и вставили в нее данные. Поздравляем!
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.
