Windows2000Server+IISで構築されているイントラネットサイトにデータベースを組み込むためにやるべき事の詳細は「実験室 イントラ編3の1」を見てもらうとして,いよいよ実際にデータベースMySQLを使ってみることにしよう。
ひとつサンプルデータベースでも作ってみることにしよう...F1のデータベースにでもしてみるか(^^;
できた,できた(^^) とはいっても,中身がなんにもないぞ。データ構造(テーブル)を検討しなければ。必要と思われるものをあげていこう。
| テーブル名 | カラム各 | 形式 | 内容 |
|---|---|---|---|
| driver | d_id | int (整数,primary keyに指定,auto_incrementだ) | IDナンバー |
| d_name | char(30) (30文字) | 名前 | |
| country | char(30) (30文字) | 国籍 | |
| team | t_id | int (整数,primary keyに指定,auto_incrementだ) | IDナンバー |
| t_name | char(30) (30文字) | チーム名称 | |
| engine | e_id | int (整数,primary keyに指定,auto_incrementだ) | IDナンバー |
| e_name | char(30) (30文字) | エンジン名称 | |
| circuit | cir_id | int (整数,primary keyに指定,auto_incrementだ) | IDナンバー |
| cir_name | char(30) (30文字) | サーキット名 | |
| cir_cntry | char(30) (30文字) | 国名 | |
| const | con_id | int (整数,primary keyに指定,auto_incrementだ) | IDナンバー |
| con_year | int(4) (整数4桁) | 西暦年 | |
| con_team | int(2) (整数2桁) | チーム名(=t_id) | |
| con_en | int (整数) | エンジン(=e_id) | |
| tyre | char(20) (20文字) | タイヤ名称 | |
| pack1 (レースカレンダ) | p1_id | int (整数,primary keyに指定,auto_incrementだ) | IDナンバー |
| p1_year | int(4) (整数4桁) | 西暦年 | |
| rnd | int(2) (整数2桁) | ラウンド | |
| p1_cir | int (整数) | サーキット(=cir_id) | |
| pack2 (エントリリスト) | p2_id | int (整数,primary keyに指定,auto_incrementだ) | IDナンバー |
| p2_year | int(4) (整数4桁) | 西暦年 | |
| p2_dri | int (整数) | ドライバー(=d_id) | |
| p2_con | int (整数) | コンストラクタ(=con_id) | |
| qualify | q_id | int (整数,primary keyに指定,auto_incrementだ) | IDナンバー |
| q_event | int (整数4桁) | レース名(=p1_id) | |
| q_seat | int (整数) | 誰(=p2_id) | |
| q_time | decimal(6,3) (数値6桁,小数点以下3桁) | 予選タイム(sec) | |
| race | r_id | int (整数,primary keyに指定,auto_incrementだ) | IDナンバー |
| r_event | int (整数) | レースID(=p1_id) | |
| r_seat | int (整数) | 誰(=p2_id) | |
| result | int(2) (整数2桁) | 結果(着順) | |
| point | pt_id | int (整数,primary keyに指定,auto_incrementだ) | IDナンバー |
| pt_year | int(4) (整数4桁) | 西暦年 | |
| pt_rslt | int(2) (整数) | レース着順 | |
| point | int(2) (整数2桁) | ポイント |
...ちょっと待て!なんじゃこの複雑な構造は? もう少し簡単にはならんのかい?...まぁとりあえず作ってみよう。
え〜と,driverテーブルの作成は,
この調子でどんどんテーブルを作成して...と。よしよし,できたできた。
ん? そうかぁ,データも入力しないとどうにもならないんだ...まずは地道に入力していくしかないか。
d_idは入力しなくても勝手に1番から順に番号を割り当ててくれるんだ。(auto_increment) では,どんな感じで入っているか確認してみよう。
できたできた。さて,同様に全てのテーブルにデータを入れたら,レース結果でも抽出してみよう。
上の結果は,2004年第1戦決勝結果の8位までのデータを抽出したものだけど,実はこれ,r_event=1が2004年第1戦だとわかっているから直接指定できたもの。こんな指定方法がいつもできる訳じゃない。そこで他のテーブルと関連づけて目で見てわかる抽出結果にしよう。
ほぉら,こんどこそばっちりだ。
だけど...誰がこんなに長いコマンドを入力できるんだ? ...しょうがない別の手を考えてみるか。次のページに続く...