- ベストアンサー
電車の時刻表表示プログラムの構成とWHERE文の使い方
- 電車の時刻表を表示させるプログラムの構成と、WHERE文の使い方について詳しく解説します。
- 関係データベースの構成やレコードの内容についても説明します。
- 駅名と発車時刻の項目を非表示にする方法や、WHERE文を使った条件分岐についてもご提案します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
以下を補足説明してくれなければ、誰も適切なアドバイスはできないと思います。 (1)表と表の構成列 (2)格納データ例 (3)得たい結果例 (4)MySQLのバージョン (2)と(3)は、得たいデータ、得たくないデータが、他人が見て分かるように示してください。
その他の回答 (2)
- chukenkenkou
- ベストアンサー率43% (833/1926)
「MySQLのバージョンを明確にできない」 「やりたいことを具体的に説明できない」 では、回答のしようがないし、具体的なアドバイスができません。 >なにぶんデータベースを作成するのが初めてなもので~ご回答お待ちしております 待たないで、ace_getさんが主体的に調べたり、試行錯誤してください。 ここは、「仕様を提示して作ってもらう」というサイトでなく、「自分なりに考えて分からない点を、具体的に示して質問する」というサイトです。 >>各駅の発車時刻が範囲内か、あるいはnullかといった判定を、その全列に対して指定するのですか? >はいそういった構成でいこうと思います。 正規化について、調べてみてください。 ace_getさんが考えている仕様がイマイチ具体的でないですが、例えば、私がテーブル設計するなら、次のようにすると思います。 駅テーブル(駅id、駅名) 電車テーブル(電車id、電車名) 発車時刻テーブル(電車id、駅id、発車時刻) 質問のタイトルと質問内容が合わなくなっているし、質問日時も古くなってきていますよね? しかも、補足説明も、具体的になっていないので、他の人もアドバイスしにくいと思います。一旦、この質問は締めて、テーブル設計方法から質問してみてはいかがでしょうか?
お礼
わかりました。ご迷惑をおかけして申し訳ありませんでした。
- chukenkenkou
- ベストアンサー率43% (833/1926)
補足説明をしてもらいましたが、内容がかなり曖昧ですが? >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さんのご提案を私の想像ですがまとめてみました。 発車番号(列車番号でした)をキーにして、 駅の管理表(駅名だけですか?)列車の管理表、運行時刻表を作成、副問合わせを行い出力する。 といった感じでしょうか? なにぶんデータベースを作成するのが初めてなもので失礼とは思いますがご回答お待ちしております。
補足
分かり難い書き方をしてすみません。下記に私なりですが書かせていただきます。 また、不明な点や分かり難い点は失礼ながら回答していただけると嬉しいです。 表:下記の運行表が本線・支線の上下4つ、目的地の表、 表の構成: 運行表 発車番号 休日状況 電車の種類 ×線と○線を跨ぐか △駅発車時刻 □駅発車時刻 …… T999 休日運休 特急 跨がない 8:00 null A002 休日運行 快速 跨ぐ 8:10 8:15 目的地の表 H=博多、N=長崎、SG=佐賀、SS=佐世保、K=久留米 得たい結果: 駅ごとの発車時刻(射影)、列車を選択して停車駅を表示(上記運行表を参考に) MYSQLのバージョン:おそらくですが4.2.0だと思います。