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戦だとわかっているから直接指定できたもの。こんな指定方法がいつもできる訳じゃない。そこで他のテーブルと関連づけて目で見てわかる抽出結果にしよう。
ほぉら,こんどこそばっちりだ。
だけど...誰がこんなに長いコマンドを入力できるんだ? ...しょうがない別の手を考えてみるか。次のページに続く...