商品カタログテーブルの作成

MySQLBeginner
オンラインで実践に進む

はじめに

地元の書店が、商品カタログデータベースの構築において助けを必要としています。あなたはデータベース管理者として、書籍に関する情報を保存するためのテーブルを作成する必要があります。このチャレンジでは、適切なデータ型と制約(Constraints)を使用して MySQL テーブルを作成する能力が試されます。

書籍テーブルの作成

あなたのタスクは、書店の在庫情報を保存するテーブルを作成することです。このテーブルは、各書籍に関するさまざまな種類のデータを効果的に保存できる必要があります。

タスク

  • root ユーザーとして MySQL に接続する
  • bookstore データベースを使用する
  • 以下の情報を保存するために、適切なカラム名とデータ型を持つ books という名前のテーブルを作成する:
    • 書籍 ID(自動インクリメントされること)
    • 書籍のタイトル(最大 200 文字、必須項目)
    • 価格(最大 999.99 までの小数点以下の値をサポートすること)
    • 出版日
    • ページ数(整数のみ)
    • 説明文(長文テキスト)
    • 在庫数(0 または正の数であること)

要件

  • すべての操作は ~/project ディレクトリ内で実行すること
  • テーブル名は正確に books とすること
  • すべてのカラム名は小文字にすること
  • 主キー(Primary Key)の名前は id とすること
  • タイトルは NULL を許容しないこと
  • 価格は小数点以下 2 桁まで保持すること
  • quantity_in_stock には負の値を許可しないこと

テーブルを正しく作成した後、その構造を確認すると以下のような出力が表示されるはずです:

DESCRIBE books;
+-------------------+--------------+------+-----+---------+----------------+
| Field             | Type         | Null | Key | Default | Extra          |
+-------------------+--------------+------+-----+---------+----------------+
| id                | int(11)      | NO   | PRI | NULL    | auto_increment |
| title             | varchar(200) | NO   |     | NULL    |                |
| price             | decimal(5,2) | YES  |     | NULL    |                |
| publication_date  | date         | YES  |     | NULL    |                |
| page_count        | int(11)      | YES  |     | NULL    |                |
| description       | text         | YES  |     | NULL    |                |
| quantity_in_stock | int(11)      | YES  |     | NULL    |                |
+-------------------+--------------+------+-----+---------+----------------+

まとめ

このチャレンジでは、適切なデータ型と制約を使用して MySQL テーブルを作成する練習を行いました。情報の種類に応じた適切なデータ型の選択、自動インクリメントされる主キーの実装、NOT NULL 制約の設定、および CHECK 制約によるデータバリデーション(妥当性確認)などのスキルを習得しました。これらの基礎はデータベース設計において不可欠であり、MySQL データベースを扱う際に頻繁に使用されます。

✨ 解答を確認して練習