私は設計のバス時刻表を使用してください。各バス路線は、必要としないシステム構築も可能なテーブルの各ルート?
質問
私たちの最も効率的なデータベースとして可能です。私のバス路線のすべて約10停止します。バスの中で一番に達するまでに10の停止、その後で戻ります。このサイクルが3倍です。
思ったよりずっとこだわったとしてどのようにできますを効率よく生成するのにバスというのは停止します。を置いの一つの分野の他のデータベースな非常にダイナミックに変化します。
い店舗の一つ一つの列で、その他のカラムがたくさん出てしまうと思いますの繰り返し起きてさらに落として停止しています。
もっ欠かっ学習SQLおよびこのタンクを設定されている。
よろしくお願いします。
解決
が必要となりまテーブルを含んでお Timetable
:
- ルートID
- 停ID
- 時間
- その他の分野として必要な方向に配列#'s、ブロック#等)
でおすすめを別々のテーブル Bus Stop
(店舗停名、緯度経度longなど) Route
(ルートの名前、バーク近くでおすすめの、方向など)。
皆様もご承知のことですが、バスケジューリングで複雑なものです。例えば:
する必要がある指定として"時点"のホームページからシンプルな印刷日程
各ルートが複数のバリエーションがあります。例えば、一部のバージョンが開始または終了時で異なるバス停
スケジュールにも異なる土曜日、日曜日、機関の変更その附属明細書四半期
す必要があるかを考えてのこれらのケースを構築しておschema.
なすか?
他のヒント
ここでは、これを行うための方法(多くの)一つだけです。
それはあなたがおそらく各ルートを説明しroutes
テーブルを持つようにしたいように聞こえる、と開始時間を持っています。
次に、各停留所でバスの説明と待ち時間とstops
テーブルます。
A stopDistanceMapping
テーブルは、2つの停止、及びそれらの間の駆動時間との間の距離を記述することになる。
最後に、あなたのrouteMap
テーブルはroutes
のリストで、個々のstops
をリンクします。次に、あなたのroutes
テーブルの距離と時間は、個々のストップからの待ち時間を利用して記入し、stopDistanceMapping
からの時間/距離できます。
グッドラック!
(非常に粗い)第1パスでは、私はこのようなテーブル内のバス路線の時刻を続けるだろう。
RouteID StartingLocationID EndingLocationID TravelTime
また、私は、次のような停止のテーブルを続けるだろう
StopID Address City etc... (whatever other information you need about each location)
私は格納しますルート自身のために
RouteID StartingLocationID RouteStartTime
もちろん、あなたがあなた自身のニーズに合わせて調整する必要があり、これを、これはあなたを開始する場所を与える必要があります。