鍍金池/ 問答/Java  PHP  數(shù)據(jù)庫(kù)/ 公交車上、下行的表應(yīng)該怎么設(shè)計(jì)?

公交車上、下行的表應(yīng)該怎么設(shè)計(jì)?

公交就是日常坐的公交車,想設(shè)計(jì)公交的線路表,問題就在于,公交車的線路分為上行和下行,且上、下中的站點(diǎn)有事,并不是完全一樣。
目前站點(diǎn)表已經(jīng)設(shè)計(jì)好,請(qǐng)問怎么設(shè)計(jì)才能把表設(shè)計(jì)得最簡(jiǎn)單?

回答
編輯回答
心沉

一個(gè)站表,包括Id和站名
一個(gè)站牌表,包含Id,站牌名,上下行(0,1,2),對(duì)應(yīng)的站表Id
一個(gè)路線表,包括Id,出發(fā)站牌Id,目的站牌Id,公交Id,以及一個(gè)枚舉值來標(biāo)識(shí)該站點(diǎn)的狀態(tài)(相對(duì)于該公交而言),比如起始,終點(diǎn),等等
查詢的時(shí)候,按照公交Id,把所有的路線都查詢出來,然后根據(jù)站牌順序排序,就能得到公交線路了。顯示的時(shí)候可以根據(jù)需求,把站牌名映射到站名

2018年4月24日 23:12
編輯回答
久愛她

我覺得在關(guān)聯(lián)表中還需要站點(diǎn)的順序(假設(shè)為上行順序),
上行結(jié)果:
按線路ID查出關(guān)聯(lián)的所有站點(diǎn)ID,且分類不是下行,按順序字段正序。
下行結(jié)果:
按線路ID查出關(guān)聯(lián)的所有站點(diǎn)ID,且分類不是上行,按順序字段倒序。

2017年8月20日 04:10
編輯回答
汐顏

用一張關(guān)系表來定義:

字段名 類型 意義
station_id int 公交站點(diǎn)id
line_id int 公交線路
status int 1.上行 2.下行 3.上下行
2018年7月27日 05:45
編輯回答
毀了心

首先想到的就是站點(diǎn)表里加一列狀態(tài),0 = 無效,1 = 上行,2 = 下行,3 = 上下行

2017年8月21日 06:42