この人頭いいなと思ったエピソード

電車の時刻表を表示させるプログラムの構成を考えています。

関係データベースは各路線ごと上下4つ作って
レコード構成は電車番号、休日の状況、電車の種類(行き先)、××線と○○線を跨ぐか、駅の発車時刻(駅ごとに列)にしたいと思っています。

そして、各線ごとの2つの表にSelect文で駅名と発車時刻と行き先を表示して、
各駅の発車時刻の項目がnullの場合と別の表にない場合、駅名と発車時間を非表示にしたりしたいのですがWHERE文が分からなくなりました。

上記の場合どのようにすればいいのか助言していただけませんでしょうか。
末文になりますが、乱文になってしまい申し訳ありません。

A 回答 (3件)

以下を補足説明してくれなければ、誰も適切なアドバイスはできないと思います。



(1)表と表の構成列
(2)格納データ例
(3)得たい結果例
(4)MySQLのバージョン

(2)と(3)は、得たいデータ、得たくないデータが、他人が見て分かるように示してください。

この回答への補足

分かり難い書き方をしてすみません。下記に私なりですが書かせていただきます。
また、不明な点や分かり難い点は失礼ながら回答していただけると嬉しいです。

表:下記の運行表が本線・支線の上下4つ、目的地の表、

表の構成:
運行表
発車番号 休日状況 電車の種類 ×線と○線を跨ぐか △駅発車時刻 □駅発車時刻 ……
 T999   休日運休   特急   跨がない       8:00     null
 A002   休日運行   快速   跨ぐ          8:10     8:15

目的地の表
H=博多、N=長崎、SG=佐賀、SS=佐世保、K=久留米

得たい結果:
駅ごとの発車時刻(射影)、列車を選択して停車駅を表示(上記運行表を参考に)

MYSQLのバージョン:おそらくですが4.2.0だと思います。

補足日時:2008/05/17 06:19
    • good
    • 0

「MySQLのバージョンを明確にできない」


「やりたいことを具体的に説明できない」
では、回答のしようがないし、具体的なアドバイスができません。

>なにぶんデータベースを作成するのが初めてなもので~ご回答お待ちしております

待たないで、ace_getさんが主体的に調べたり、試行錯誤してください。
ここは、「仕様を提示して作ってもらう」というサイトでなく、「自分なりに考えて分からない点を、具体的に示して質問する」というサイトです。

>>各駅の発車時刻が範囲内か、あるいはnullかといった判定を、その全列に対して指定するのですか?
>はいそういった構成でいこうと思います。

正規化について、調べてみてください。

ace_getさんが考えている仕様がイマイチ具体的でないですが、例えば、私がテーブル設計するなら、次のようにすると思います。

駅テーブル(駅id、駅名)
電車テーブル(電車id、電車名)
発車時刻テーブル(電車id、駅id、発車時刻)

質問のタイトルと質問内容が合わなくなっているし、質問日時も古くなってきていますよね?
しかも、補足説明も、具体的になっていないので、他の人もアドバイスしにくいと思います。一旦、この質問は締めて、テーブル設計方法から質問してみてはいかがでしょうか?
    • good
    • 0
この回答へのお礼

わかりました。ご迷惑をおかけして申し訳ありませんでした。

お礼日時:2008/06/06 17:08

補足説明をしてもらいましたが、内容がかなり曖昧ですが?



>MYSQLのバージョン:おそらくですが4.2.0だと思います

MySQL 4.2って、聞いたことがないのですが?

MySQL 4.0以前では、サブクエリが使えないといった制限があります。
MySQL 5.0以降なら、ストアドプロシジャを使えるようになっています。
操作性が大きく違ってくるので、バージョンは明確にしてください。
SQLが入力できる状態で、「select version()」と入力することで確認できます。

>発車番号 休日状況 電車の種類 ×線と○線を跨ぐか △駅発車時刻 □駅発車時刻 ……

駅が10個あれば列を10個、100個あれば列を100個作ろうと考えているのですか?
各駅の発車時刻が範囲内か、あるいはnullかといった判定を、その全列に対して指定するのですか?

駅の管理表、列車の管理表、その2表と関連付ける運行時刻表というように分割することを考えてみては?

この回答への補足

chukenkenkouさんの仰るとおりです。
>各駅の発車時刻が範囲内か、あるいはnullかといった判定を、その全列に対して指定するのですか?
はいそういった構成でいこうと思います。

chukenkenkouさんのご提案を私の想像ですがまとめてみました。
発車番号(列車番号でした)をキーにして、
駅の管理表(駅名だけですか?)列車の管理表、運行時刻表を作成、副問合わせを行い出力する。
といった感じでしょうか?
なにぶんデータベースを作成するのが初めてなもので失礼とは思いますがご回答お待ちしております。

補足日時:2008/05/19 11:42
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


おすすめ情報