MySQL テーブル設計チュートリアル: 簡単な図書貸出テーブルを作成する

王林
リリース: 2023-07-02 17:45:10
オリジナル
4426 人が閲覧しました

MySQL テーブル設計チュートリアル: 簡単な図書借用テーブルの作成

データベース内のテーブルの設計は、データベース開発における重要なタスクです。このチュートリアルでは、簡単な図書貸出テーブルの作成を例として、テーブル設計に MySQL を使用する方法を説明します。

まず、新しいデータベースを作成する必要があります。 MySQL では、次のコマンドを使用して新しいデータベースを作成できます:

CREATE DATABASE library;
ログイン後にコピー

次に、作成したばかりのデータベースを選択する必要があります:

USE library;
ログイン後にコピー

books# という名前の新しいデータベースを作成します。 ## 書籍情報を格納するために使用されるテーブル。各書籍について次のフィールドを記録する必要があります: idtitleauthorpublication_datestatus 。このテーブルを作成するには、次のコマンドを使用します。

CREATE TABLE books (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(100) NOT NULL,
    author VARCHAR(100) NOT NULL,
    publication_date DATE,
    status ENUM('available', 'borrowed') DEFAULT 'available'
);
ログイン後にコピー

上記のコマンドでは、書籍の一意の識別子として自動インクリメント主キー

id を定義しました。 title フィールドと author フィールドは、本のタイトルと著者を保存するために使用されます。 publication_date フィールドには書籍の発行日が格納され、status フィールドは書籍の貸出ステータスを識別するために使用されます。デフォルトは「利用可能」です。

次に、借り手の情報を保存するために、

borrowers という名前のテーブルを作成します。各借り手は一意の idname を持っている必要があります。このテーブルを作成するには、次のコマンドを使用します。

CREATE TABLE borrowers (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL
);
ログイン後にコピー

書籍の貸し出し情報を記録するには、

borrowings という名前のテーブルも作成する必要があります。各借用情報には、借用者の borrower_id、借りた本の book_id、および借用日 borrow_date を含める必要があります。このテーブルを作成するには、次のコマンドを使用します。

CREATE TABLE borrowings (
    borrowing_id INT AUTO_INCREMENT PRIMARY KEY,
    borrower_id INT,
    book_id INT,
    borrow_date DATE,
    FOREIGN KEY (borrower_id) REFERENCES borrowers(id),
    FOREIGN KEY (book_id) REFERENCES books(id)
);
ログイン後にコピー

上記のコマンドでは、外部キーの関連付けを使用して、

borrowers と ## を含む borrowings テーブルを作成しました。 #booksテーブルに連絡して、各貸出情報に関連付けられた借り手と書籍が対応するテーブルに存在することを確認します。 これで、簡単な図書貸出テーブルが作成できました。次のコードを使用してテーブルにデータを追加できます:

INSERT INTO books (title, author, publication_date) VALUES 
('Animal Farm', 'George Orwell', '1945-08-17'),
('1984', 'George Orwell', '1949-06-08'),
('To Kill a Mockingbird', 'Harper Lee', '1960-07-11');

INSERT INTO borrowers (name) VALUES 
('John Smith'),
('Jane Doe');

INSERT INTO borrowings (borrower_id, book_id, borrow_date) VALUES 
(1, 1, '2020-01-01'),
(1, 2, '2020-02-01'),
(2, 3, '2020-03-01');
ログイン後にコピー

次のコマンドを使用して書籍テーブル内のすべてのデータをクエリします:

SELECT * FROM books;
ログイン後にコピー

クエリ結果:

+----+-----------------------+----------------+-------------------+------------+
| id | title                 | author         | publication_date  | status     |
+----+-----------------------+----------------+-------------------+------------+
|  1 | Animal Farm           | George Orwell  | 1945-08-17        | available  |
|  2 | 1984                  | George Orwell  | 1949-06-08        | available  |
|  3 | To Kill a Mockingbird | Harper Lee     | 1960-07-11        | available  |
+----+-----------------------+----------------+-------------------+------------+
ログイン後にコピー

次のコマンドを使用して、借用者テーブルのすべてのデータをクエリします。

SELECT * FROM borrowers;
ログイン後にコピー

クエリ結果:

+----+-------------+
| id | name        |
+----+-------------+
|  1 | John Smith  |
|  2 | Jane Doe    |
+----+-------------+
ログイン後にコピー

次のコマンドを使用して、借用情報テーブルのすべてのデータをクエリします。

SELECT borrowings.borrowing_id, borrowers.name, books.title, borrowings.borrow_date FROM borrowings 
INNER JOIN borrowers ON borrowers.id = borrowings.borrower_id 
INNER JOIN books ON books.id = borrowings.book_id;
ログイン後にコピー

クエリ結果:

+--------------+-------------+-----------------------+-------------+
| borrowing_id | name        | title                 | borrow_date |
+--------------+-------------+-----------------------+-------------+
|            1 | John Smith  | Animal Farm           | 2020-01-01  |
|            2 | John Smith  | 1984                  | 2020-02-01  |
|            3 | Jane Doe    | To Kill a Mockingbird | 2020-03-01  |
+--------------+-------------+-----------------------+-------------+
ログイン後にコピー

このようにして、簡単な図書貸出テーブルを正常に作成し、いくつかの基本的なデータ クエリを実行しました。この例を通じて、テーブル設計に MySQL を使用する方法を学び、コード例を通じて基本的なテーブル作成とデータ クエリのスキルを習得できます。この記事が MySQL テーブル設計をマスターするのに役立つことを願っています。

以上がMySQL テーブル設計チュートリアル: 簡単な図書貸出テーブルを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート