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

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

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
公交车路线查询系统算法后台数据库设计.

/lucc/archive/2009/02/21/1395616.html公交车路线查询系统后台数据库设计以下文章将逐步深入地介绍公交车路线查询系统后台数据库的设计:1./lucc/archive/2009/02/11/1388684.html \t _blank查询算法?—— 实现站点到站点的换乘路线查询2./lucc/archive/2009/02/14/1390384.html \t _blank关联地名和站点?—— 实现通过地名或站点的路线查询3./lucc/archive/2009/02/21/1395573.html \t _blank引入步行路线?—— 在乘车路线中插入步行路线4./lucc/archive/2009/03/03/1401863.html \t _blank换乘算法的改进与优化?—— 改进原查询算法,提高其查询效率 公交车路线查询系统后台数据库设计--查询算法公交车路线查询系统后台数据库设计系列文章数据库下载1.?公交车路线信息在数据库中的存储方式显然,如果在数据库中简单的使用表bus_route(路线名,路线经过的站点,费用)来保存公交车路线的线路信息,则很难使用查询语句实现乘车线路查询,因此,应该对线路的信息进行处理后再保存到数据库中,笔者使用的方法是用站点-路线关系表stop_route(站点,路线名,站点在路线中的位置)来存储公交车路线,例如,如果有以下3条路线R1: S1-S2-S3-S4-S5R2: S6-S7-S2-S8R3: S8-S9-S10则对应的站点-路线关系表stop_route为StopRoutePositionS1R11S2R12S3R13S4R14S5R15S6R21S7R22S2R23S8R24S8R31S9R32S10R33注:Stop为站点名,Route为路线名,Position为站点在路线中的位置2.直达乘车路线查询算法基于表stop_route可以很方便实现直达乘车路线的查询,以下是用于查询直达乘车路线的存储过程InquiryT0:?create proc InquiryT0(@StartStop varchar(32),@EndStop varchar(32))asbegin select sr1.Stop as 启始站点, sr2.Stop as 目的站点, sr1.Route as 乘坐线路, sr2.Position-sr1.Position as 经过的站点数 from stop_route sr1, stop_route sr2 where sr1.Route=sr2.Route and sr1.Positionsr2.Position and sr1.Stop=@StartStop and sr2.Stop=@EndStopend3.查询换乘路线算法(1)直达路线视图直达路线视图可以理解为一张存储了所有直达路线的表(如果两个站点之间存在直达路线,那么在直达路线视图中就有一行与之相对应)。例如R1,R2,R3对应的RouteT0如下:?起点终点乘坐路线站点数S3S4R11S3S5R12S4S5R11S1S2R11S1S3R12S1S4R13S1S5R14S2S3R11S2S4R12S2S5R13S2S8R21S6S2R22S6S7R21S6S8R23S7S2R21S7S8R22S8S10R32S8S9R31S9S10R31RouteT0定义如下:create view RouteT0as select sr1.Stop as StartStop,--启始站点 sr2.Stop as EndStop,--目的站点 sr1.Route as Route,--乘坐线路 sr2.Position-sr1.Position as StopCount--经过的站点数 from stop_route sr1, stop_route sr2 where sr1.Route=sr2.Route and sr1.Positionsr2.Position (2)换乘路线算法显然,一条换乘路线由若干段直达路线组成(每段路线的终点与下一段路线的起点相同),因此,基于直达路线视图RouteT0可以很方便实现换乘查询,以下是实现一次换乘查询的存储过程InquiryT1:?create proc InquiryT1(@StartStop varchar(32),@EndStop varchar(32))asbegin select r1.StartStop as 启始站点, r1.Route as 乘坐路线1, r1.EndStop as 中转站点, r2.Route as 乘坐路线2, r2.EndStop as 目的站点, r1.StopCount+r2.StopCount

文档评论(0)

fv45ffsjjI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档