欢迎来到天天文库
浏览记录
ID:42981011
大小:811.71 KB
页数:46页
时间:2019-09-24
《公交车路线查询系统后台大数据库设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文档公交车路线查询系统后台数据库设计--查询算法1.公交车路线信息在数据库中的存储方式显然,如果在数据库中简单的使用表bus_route(路线名,路线经过的站点,费用)来保存公交车路线的线路信息,则很难使用查询语句实现乘车线路查询,因此,应该对线路的信息进行处理后再保存到数据库中,笔者使用的方法是用站点-路线关系表stop_route(站点,路线名,站点在路线中的位置)来存储公交车路线,例如,如果有以下3条路线R1:S1->S2->S3->S4->S5R2:S6->S7->S2->S8R3:S8->S9->S10则对应的站点-路线关系表stop
2、_route为StopRoutePositionS1R11S2R12S3R13S4R14S5R15S6R21S7R22S2R23文案大全实用标准文档S8R24S8R31S9R32S10R33注:Stop为站点名,Route为路线名,Position为站点在路线中的位置2.直达乘车路线查询算法基于表stop_route可以很方便实现直达乘车路线的查询,以下是用于查询直达乘车路线的存储过程InquiryT0: createprocInquiryT0(@StartStopvarchar(32),@EndStopvarchar(32))asbeginselec
3、tsr1.Stopas启始站点,sr2.Stopas目的站点,sr1.Routeas乘坐线路,sr2.Position-sr1.Positionas经过的站点数fromstop_routesr1,stop_routesr2wheresr1.Route=sr2.Routeandsr1.Position4、一行与之相对应)。例如R1,R2,R3对应的RouteT0如下: 文案大全实用标准文档起点终点乘坐路线站点数S3S4R11S3S5R12S4S5R11S1S2R11S1S3R12S1S4R13S1S5R14S2S3R11S2S4R12S2S5R13S2S8R21S6S2R22S6S7R21S6S8R23S7S2R21文案大全实用标准文档S7S8R22S8S10R32S8S9R31S9S10R31RouteT0定义如下:createviewRouteT0asselectsr1.StopasStartStop,--启始站点sr2.StopasEndStop5、,--目的站点sr1.RouteasRoute,--乘坐线路sr2.Position-sr1.PositionasStopCount--经过的站点数fromstop_routesr1,stop_routesr2wheresr1.Route=sr2.Routeandsr1.Position6、yT1(@StartStopvarchar(32),@EndStopvarchar(32))asbeginselectr1.StartStopas启始站点,r1.Routeas乘坐路线1,r1.EndStopas中转站点,r2.Routeas乘坐路线2,r2.EndStopas目的站点,r1.StopCount+r2.StopCountas总站点数from文案大全实用标准文档RouteT0r1,RouteT0r2wherer1.StartStop=@StartStopandr1.EndStop=r2.StartStopandr2.EndStop=@En7、dStopend同理可以得到二次换乘的查询语句createprocInquiryT2(@StartStopvarchar(32),@EndStopvarchar(32))asbeginselectr1.StartStopas启始站点,r1.Routeas乘坐路线1,r1.EndStopas中转站点1,r2.Routeas乘坐路线2,r2.EndStopas中转站点2,r3.Routeas乘坐路线3,r3.EndStopas目的站点,r1.StopCount+r2.StopCount+r3.StopCountas总站点数fromRouteT0r1,Rou8、teT0r2,RouteT0r3wherer1.StartStop=@StartStopand
4、一行与之相对应)。例如R1,R2,R3对应的RouteT0如下: 文案大全实用标准文档起点终点乘坐路线站点数S3S4R11S3S5R12S4S5R11S1S2R11S1S3R12S1S4R13S1S5R14S2S3R11S2S4R12S2S5R13S2S8R21S6S2R22S6S7R21S6S8R23S7S2R21文案大全实用标准文档S7S8R22S8S10R32S8S9R31S9S10R31RouteT0定义如下:createviewRouteT0asselectsr1.StopasStartStop,--启始站点sr2.StopasEndStop
5、,--目的站点sr1.RouteasRoute,--乘坐线路sr2.Position-sr1.PositionasStopCount--经过的站点数fromstop_routesr1,stop_routesr2wheresr1.Route=sr2.Routeandsr1.Position6、yT1(@StartStopvarchar(32),@EndStopvarchar(32))asbeginselectr1.StartStopas启始站点,r1.Routeas乘坐路线1,r1.EndStopas中转站点,r2.Routeas乘坐路线2,r2.EndStopas目的站点,r1.StopCount+r2.StopCountas总站点数from文案大全实用标准文档RouteT0r1,RouteT0r2wherer1.StartStop=@StartStopandr1.EndStop=r2.StartStopandr2.EndStop=@En7、dStopend同理可以得到二次换乘的查询语句createprocInquiryT2(@StartStopvarchar(32),@EndStopvarchar(32))asbeginselectr1.StartStopas启始站点,r1.Routeas乘坐路线1,r1.EndStopas中转站点1,r2.Routeas乘坐路线2,r2.EndStopas中转站点2,r3.Routeas乘坐路线3,r3.EndStopas目的站点,r1.StopCount+r2.StopCount+r3.StopCountas总站点数fromRouteT0r1,Rou8、teT0r2,RouteT0r3wherer1.StartStop=@StartStopand
6、yT1(@StartStopvarchar(32),@EndStopvarchar(32))asbeginselectr1.StartStopas启始站点,r1.Routeas乘坐路线1,r1.EndStopas中转站点,r2.Routeas乘坐路线2,r2.EndStopas目的站点,r1.StopCount+r2.StopCountas总站点数from文案大全实用标准文档RouteT0r1,RouteT0r2wherer1.StartStop=@StartStopandr1.EndStop=r2.StartStopandr2.EndStop=@En
7、dStopend同理可以得到二次换乘的查询语句createprocInquiryT2(@StartStopvarchar(32),@EndStopvarchar(32))asbeginselectr1.StartStopas启始站点,r1.Routeas乘坐路线1,r1.EndStopas中转站点1,r2.Routeas乘坐路线2,r2.EndStopas中转站点2,r3.Routeas乘坐路线3,r3.EndStopas目的站点,r1.StopCount+r2.StopCount+r3.StopCountas总站点数fromRouteT0r1,Rou
8、teT0r2,RouteT0r3wherer1.StartStop=@StartStopand
此文档下载收益归作者所有