はじめに
地元の書店が、商品カタログデータベースの構築において助けを必要としています。あなたはデータベース管理者として、書籍に関する情報を保存するためのテーブルを作成する必要があります。このチャレンジでは、適切なデータ型と制約(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 データベースを扱う際に頻繁に使用されます。



