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

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

ID:9508845

大小:156.46 KB

页数:39页

时间:2018-05-01

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

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

1、公交车路线查询系统后台数据库设计  在《查询算法》一文中已经实现了换乘算法,但是,使用存储过程InquiryT2查询从东圃镇到车陂路口的乘车路线时,发现居然用了5分钟才查找出结果,这样的效率显然不适合实际应用。因此,有必要对原有的换乘算法进行优化和改进。在本文中,将给出一种改进的换乘算法,相比原有的算法,改进后的算法功能更强,效率更优。  1.压缩RouteT0  假设RouteT0有以下几行  如下图所示,当查询S1到S4的二次换乘路线时,将会产生324=24个结果  从图中可以看出,第1段路线中的3条线路的起点和站点都相同(第2、3段路线也是如此),

2、事实上,换乘查询中关心的是两个站点之间有无线路可通,而不关心是乘坐什么路线,因此,可以将RouteT0压缩为:  如下图所示,压缩后,查询结果有原来的24条合并1组  图片看不清楚?请点击这里查看原图(大图)。  查询结果为:  图片看不清楚?请点击这里查看原图(大图)。  那么,为什么要对视图RouteT0进行压缩呢,原因如下:  (1)RouteT0是原有换乘算法频繁使用的视图,因此,RouteT0的数据量直接影响到查询的效率,压缩RouteT0可以减少RouteT0的数据量,加速查询效率。  (2)压缩RouteT0后,将中转站点相同的路线合并为1

3、组,加速了对结果集排序的速度。  2.视图GRouteT0  在数据库中,将使用GRouteT0来描述压缩的RouteT0,由于本文使用的数据库的关系图与《查询算法》中有所不同,在给出GRouteT0的代码前,先说明一下:  主要的改变是Stop_Route使用了整数型的RouteKey和StopKey引用Route和Stop,而不是用路线名和站点名。  GRouteT0定义如下: create viein(StopCount) as MinStopCount,    max(StopCount) as MaxStopCountfrom RouteT0g

4、roup by StartStopKey,EndStopKey  注意,视图GRouteT0不仅有StartStopKey和EndStopKey列,还有MinStopCount列,MinStopCount是指从StartStop到EndStop的最短线路的站点数。例如:上述RouteT0对应的GRouteT0为:  3.二次查询算法  以下是二次换乘查询的存储过程GInquiryT2的代码,该存储过程使用了临时表来提高查询效率:   GInquiryT2/*查询站点StartStops到站点EndStops之间的二次换乘乘车路线,多个站点用'/&

5、#39;分开,结果以分组方式给出,如:exec InquiryT2 '站点1/站点2','站点3/站点4'*/CREATE     proc GInquiryT2(    StartStops varchar(2048),    EndStops varchar(2048))asbegin    declare ss_tab table(StopKey int)    declare es_ta123456789下一页>>>>这篇文章来自..,。b table(StopKey int)    insert ss_tab  

6、   select distinct Stop.StopKey     from dbo.SplitString(StartStops,'/') sn,Stop    e    insert es_tab     select distinct Stop.StopKey     from dbo.SplitString(EndStops,'/') sn,Stop    e    if(exists(select top 1 * from ss_tab sst,es_tab est  ss_tab    insert sto

7、ps select StopKey from es_tab    print '===================================================='    print '筛选出第1段乘车路线'    print '----------------------------------------------------'    set statistics time on    -----------------------------------------------

8、-------------    --筛选出第1段乘车路线,保存到临时表#R1中

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

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

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