公交车路线查询系统后台数据库的设计

公交车路线查询系统后台数据库的设计

ID:10808659

大小:621.50 KB

页数:41页

时间:2018-07-08

公交车路线查询系统后台数据库的设计_第1页
公交车路线查询系统后台数据库的设计_第2页
公交车路线查询系统后台数据库的设计_第3页
公交车路线查询系统后台数据库的设计_第4页
公交车路线查询系统后台数据库的设计_第5页
资源描述:

《公交车路线查询系统后台数据库的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、公交车路线查询系统后台数据库设计转自:http://www.cnblogs.com/lucc/archive/2009/02/21/1395616.htm一、查询算法—实现站点到站点的换乘路线查询21.1公交车路线信息在数据库中的存储方式21.2直达乘车路线查询算法21.3查询换乘路线算法31.1.1直达路线视图31.1.2换乘路线算法31.4测试4二、关联地名和站点—实现通过地名或站点的路线查询51.5路线和地名信息维护61.1.3字符串分割函数61.1.4插入新的公车路线:71.1.5插入新地名函数:81.6路线查询91.1.6直达路线查询:91.1.7一次换乘查询

2、:101.1.8二次换乘查询:111.1.9综合查询:121.1.10获取地名对应的站点:12三、引入步行路线—在乘车路线中插入步行路线13四、换乘算法的改进与优化—改进原查询算法,提高其查询效率171.7“压缩”RouteT0171.8视图GRouteT0191.9二次查询算法201.10测试241.11效率优化291.12展开路线组351.13总结41一、查询算法—实现站点到站点的换乘路线查询1.1公交车路线信息在数据库中的存储方式显然,如果在数据库中简单的使用表bus_route(路线名,路线经过的站点,费用)来保存公交车路线的线路信息,则很难使用查询语句实现乘车

3、线路查询,因此,应该对线路的信息进行处理后再保存到数据库中,笔者使用的方法是用站点-路线关系表stop_route(站点,路线名,站点在路线中的位置)来存储公交车路线,例如,如果有以下3条路线R1:S1->S2->S3->S4->S5R2:S6->S7->S2->S8R3:S8->S9->S10则对应的站点-路线关系表stop_route为StopRoutePositionS1R11S2R12S3R13S4R14S5R15S6R21S7R22S2R23S8R24S8R31S9R32S10R33注:Stop为站点名,Route为路线名,Position为站点在路线中的位置

4、1.2直达乘车路线查询算法基于表stop_route可以很方便实现直达乘车路线的查询,以下是用于查询直达乘车路线的存储过程InquiryT0:createprocInquiryT0(@StartStopvarchar(32),@EndStopvarchar(32))asbeginselectsr1.Stopas启始站点,sr2.Stopas目的站点,sr1.Routeas乘坐线路,sr2.Position-sr1.Positionas经过的站点数fromstop_routesr1,stop_routesr2wheresr1.Route=sr2.Routeandsr1.P

5、osition

6、数fromstop_routesr1,stop_routesr2wheresr1.Route=sr2.Routeandsr1.Position

7、topas中转站点,r2.Routeas乘坐路线2,r2.EndStopas目的站点,r1.StopCount+r2.StopCountas总站点数fromRouteT0r1,RouteT0r2wherer1.StartStop=@StartStopandr1.EndStop=r2.StartStopandr2.EndStop=@EndStopend同理可以得到二次换乘的查询语句createprocInquiryT2(@StartStopvarchar(32),@EndStopvarchar(32))asbeginselectr1.Sta

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。