データベース作成
事前準備
こちらのページから、ソースコードをC:¥web_app_dev
へcloneしてください。
本章の進め方について
本章については、別途Web資料「Webアプリケーション開発 学習用コンテナについて」を中心に進めます。
以下の「課題について」は、上記資料でデータベース環境を起動できるようになった後に取り組んでください。
課題について
この課題では、自分でデータベースにテーブルと初期値を投入していただきます。 主に、phpMyAdminをブラウザ上で使用しますが、テーブルと初期値の投入方法についてはご自身で調べてみてください。
やるべきこと
2つのテーブルを作成してください。 それぞれのテーブル構成は後述します。
- person
- company
その上で、このテーブル構成をエクスポートし、db
ディレクトリ上に init.sql
という名前で配置してください。
テーブル構成・初期値
personテーブル
personテーブルは、以下のカラムを持つものとします。 全てのカラムはNULLを許容しない(not null)とします。
uid
: int型、主キーとして設定、 auto_increment付きname
: varchar型、最大文字数20company_id
: int型age
: int型
初期値として、以下のレコードを挿入してください
なおuid
は自動採番(auto_increment)されるため省略しています。
name | company_id | age |
---|---|---|
財津一郎 | 1 | 5 |
田宮二郎 | 2 | 15 |
北島三郎 | 3 | 25 |
伊東四朗 | 4 | 35 |
糸井五郎 | 1 | 45 |
鶴田六郎 | 2 | 55 |
companyテーブル
companyテーブルでは、以下のカラムを持つものとします。 全てのカラムはNULLを許容しない(not null)とします。
cid
: int型、主キーとして設定、 auto_increment付きname
: varchar型、最大文字数20address
: varchar型、最大文字数40
初期値として、以下のレコードを挿入してください。
なお cid
は自動採番(auto_increment)されるため省略しています。
name | address |
---|---|
東京商事 | 東京都中央区中央1-1-1 |
大阪商会 | 大阪市北区中之島2-2-2 |
神戸工業 | 神戸市中央区三宮町3-3-3 |
採点について
提出した課題がGitHub上で自動採点されます。pushした課題が合格したかはpush後に必ず確認してください。
課題の合格基準について
- テーブル構造・初期値がファイル
db/init.sql
に配置されていること - phpMyAdmin起動時に
person
およびcompany
テーブルができていること- カラム構造のチェックをある程度含めています
- 初期値として挿入したレコードが存在すること
合格確認方法
- 本課題の課題ページに再度アクセスしてください。
- 画面上部にある
Actions
をクリックしてください。
- 一番上の行に、緑色のチェックが入っていればOKです。
エラーが出た時の対処法
自動採点がエラーになると、一番上の行に赤いばつ印がでます。その場合の解決策を以下に示します。
タイムアウトになっていないかを確認する
※右端の赤枠で囲まれている箇所に処理時間がでますが、4分前後かかっている場合には、まずタイムアウトの可能性を疑ってください。
具体的なタイムアウトの確認・解決方法は、
Actions
のタイトルが以下のようにリンクになっているので、クリックrun-autograding-tests.png
をクリック- 赤いばつ印が出ている箇所をクリック
::error::Setup timed out in XXXXXX milliseconds
のメッセージがあればタイムアウト- 解決策としては、右上に
Re-run jobs
(再実行)のボタンがあるので、Re-run failed jobs
(失敗した処理だけ再実行)をクリックする。
- タイムアウトにならず3分以内に処理が終了したらOK。※タイムアウトでないエラーは、次の解決策を参照。
プログラムが正確に書かれているか確認する
プログラムが正確に書かれているかを確認してください。たとえ、ブラウザの画面でそれらしく表示されても、自動採点なので融通は効きません。エラーが出た際は、以下の点を確認してください。