データベース・プログラミング - Exercise - SQL - Part3
データベースの作成と準備
my_rpg
データベースに接続してください。
テーブルの作成
以下のテーブルを作成します。
item_category
item
warrior
equipment
以下の仕様に従ってitem_category
テーブルを作成してください。
エクササイズ2で作成済みの場合はそのままで大丈夫です。
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(100) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
以下の仕様に従ってitem
テーブルを再度、作成してください。
エクササイズ2で作成済みの場合はそのままで大丈夫です。
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(100) | YES | | NULL | |
| effect | int(11) | YES | | NULL | |
| price | int(11) | YES | | NULL | |
| category_id | int(11) | YES | | NULL | |
+-------------+--------------+------+-----+---------+-------+
以下の仕様に従ってwarrior
テーブルを再度、作成してください。
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(100) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
以下の仕様に従ってequipment
テーブルを再度、作成してください。
+------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| ???????_id | ??????? | YES | | NULL | |
| ????_id | ??????? | YES | | NULL | |
+------------+---------+------+-----+---------+-------+
列名、データ型を决定してください。
レコードの作成
以下の結果に示すとおり、item_category
テーブルにレコードを作成してください。
エクササイズ2で作成済みの場合はそのままで大丈夫です。
+----+--------+
| id | name |
+----+--------+
| 1 | Weapon |
| 2 | Armor |
| 3 | Shield |
| 4 | Helmet |
+----+--------+
以下の結果に示すとおり、item
テーブルにレコードを作成してください。
エクササイズ2で作成済みの場合はそのままで大丈夫です。
+----+--------------+--------+-------+-------------+
| id | name | effect | price | category_id |
+----+--------------+--------+-------+-------------+
| 1 | Excalibur | 100 | 10000 | 1 |
| 2 | Gungnir | 90 | 9000 | 1 |
| 3 | Steel sword | 30 | 1000 | 1 |
| 4 | Iron ax | 20 | 500 | 1 |
| 5 | Silver mail | 50 | 3000 | 2 |
| 6 | Steel armar | 30 | 1000 | 2 |
| 7 | Ice shield | 60 | 6000 | 3 |
| 8 | Steel shield | 40 | 1000 | 3 |
| 9 | Elixir | 100 | 1000 | NULL |
+----+--------------+--------+-------+-------------+
以下の結果に示すとおり、warrior
テーブルにレコードを作成してください。
+----+-------+
| id | name |
+----+-------+
| 1 | Cloud |
| 2 | Ryan |
+----+-------+
以下の要件の示すとおり、equipment
テーブルにレコードを作成してください。
Cloud
は以下のitem
を装備します。Excalibur
Silver mail
Ice shield
Ryan
は以下のitem
を装備します。Steel sword
Steel armar
Steel shield
データの検索
- 1
Cloud
の装備を表示してください。
+--------------+---------------+-------------+
| warrior_name | category_name | item_name |
+--------------+---------------+-------------+
| Cloud | Weapon | Excalibur |
| Cloud | Armor | Silver mail |
| Cloud | Shield | Ice shield |
+--------------+---------------+-------------+
- 2
Ryan
の装備を表示してください。
+--------------+---------------+--------------+
| warrior_name | category_name | item_name |
+--------------+---------------+--------------+
| Ryan | Weapon | Steel sword |
| Ryan | Armor | Steel armar |
| Ryan | Shield | Steel shield |
+--------------+---------------+--------------+
- 3
Steel sword
を装備しているwarrior
を表示してください。
+-------------+--------------+
| item_name | warrior_name |
+-------------+--------------+
| Steel sword | Ryan |
+-------------+--------------+
- 4 ER図を作成してください。