人事管理システムのデータベース設定

SQLSQLBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このプロジェクトでは、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)

🎯 タスク

このプロジェクトでは、以下のことを学びます。

  • sudo コマンドを使ってMySQLにアクセスする方法
  • companySys という名前のデータベースを作成する方法
  • companyworkemploy の3つのテーブルを作成する方法
  • 各テーブルに適切な主キーと外部キー制約を設定する方法
  • テーブルにデータを挿入する方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • データベースの作成と管理の基本を理解する
  • 関係型データベースでCRUD(作成、読み取り、更新、削除)操作を実行する
  • 主キーと外部キーを使ってテーブル間の関係を確立する
  • 人事管理システムのデータベース内のデータを管理および操作する

MySQLにアクセスしてデータベースを作成する

このステップでは、sudo コマンドを使ってMySQLにアクセスし、companySys データベースを作成する方法を学びます。

  1. ターミナルを開き、次のコマンドを実行してMySQLサービスを起動します。
sudo service mysql start
  1. sudo コマンドを使ってMySQLにアクセスします。
sudo mysql
  1. creatComDatabase.sql ファイルを開きます。
  2. creatComDatabase.sql ファイルで、UTF-8文字セットで companySys データベースを作成します。
CREATE DATABASE IF NOT EXISTS companySys DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. companySys データベースを使用します。
USE companySys;

テーブルを作成する

このステップでは、companyworkemploy の3つのテーブルを作成します。

  1. creatComDatabase.sql ファイルを開き、そのファイル内に以下のテーブルを順に作成します。
  2. 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;
  1. 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;
  1. 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;

データを挿入する

このステップでは、3つのテーブルにデータを挿入します。

  1. creatComDatabase.sql ファイルを開き、前のステップから続けて以下のsql文を追加します。
  2. company テーブルにデータを挿入する:
INSERT INTO company (company_name, city) VALUES
  ('ABC Company', 'New York'),
  ('LabEx', 'London'),
  ('Company 3', 'Paris');
  1. work テーブルにデータを挿入する:
INSERT INTO work (per_name, company_name, salary) VALUES
  ('John', 'ABC Company', 5000.00),
  ('Jane', 'LabEx', 6000.00),
  ('Mary', 'Company 3', 5500.00);
  1. 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');

データベースを検証する

このステップでは、テーブルを記述することでデータベースを検証します。

  1. MySQLクライアントで、次のコマンドを実行してSQLスクリプトを実行します。
MariaDB [(none)]> SOURCE /home/labex/project/creatComDatabase.sql;
  1. 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)
  1. 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)
  1. 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でさらに多くの実験を行って練習してください。