欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年2022年公交路线查询系统--数据库设计 .pdf

    • 资源ID:27208461       资源大小:131.61KB        全文页数:8页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年2022年公交路线查询系统--数据库设计 .pdf

    1. 公交车路线信息在数据库中的存储方式显然,如果在数据库中简单的使用表bus_route(路线名 ,路线经过的站点,费用 )来保存公交车路线的线路信息,则很难使用查询语句实现乘车线路查询,因此,应该对线路的信息进行处理后再保存到数据库中,考试大使用的方法是用站点-路线关系表stop_route(站点 ,路线名,站点在路线中的位置)来存储公交车路线,例如,如果有以下3 条路线R1:S1-S2-S3-S4-S5 R2:S6-S7-S2-S8 R3:S8-S9-S10 则对应的站点 -路线关系表stop_route 为Stop Route Position S1 R1 1 S2 R1 2 S3 R1 3 S4 R1 4 S5 R1 5 S6 R2 1 S7 R2 2 S2 R2 3 S8 R2 4 S8 R3 1 S9 R3 2 S10 R3 3 注: Stop 为站点名, Route 为路线名, Position 为站点在路线中的位置2.直达乘车路线查询算法基于表 stop_route 可以很方便实现直达乘车路线的查询,以下是用于查询直达乘车路线的存储过程InquiryT0 :create proc InquiryT0(StartStop varchar(32),EndStop varchar(32) as begin 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=EndStop end 3.查询换乘路线算法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - (1)直达路线视图直达路线视图可以理解为一张存储了所有直达路线的表(如果两个站点之间存在直达路线,那么在直达路线视图中就有一行与之相对应) create view RouteT0 as 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) as begin select r1.StartStop as 启始站点 , r1.Route as 乘坐路线 1, r1.EndStop as 中转站点 , r2.Route as 乘坐路线 2, r2.EndStop as 目的站点 , r1.StopCount+r2.StopCount as 总站点数from RouteT0 r1, RouteT0 r2 where r1.StartStop=StartStop and r1.EndStop=r2.StartStop and r2.EndStop=EndStop end 同理可以得到二次换乘的查询语句create proc InquiryT2(StartStop varchar(32),EndStop varchar(32) as begin select r1.StartStop as 启始站点 , r1.Route as 乘坐路线 1, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - r1.EndStop as 中转站点 1, r2.Route as 乘坐路线 2, r2.EndStop as 中转站点 2, r3.Route as 乘坐路线 3, r3.EndStop as 目的站点 , r1.StopCount+r2.StopCount+r3.StopCount as 总站点数from RouteT0 r1, RouteT0 r2, RouteT0 r3 where r1.StartStop=StartStop and r1.EndStop=r2.StartStop and r2.EndStop=r3.StartStop and r3.EndStop=EndStop end (3).测试exec InquiryT0 S1, S2exec InquiryT1 S1, S8exec InquiryT2 S1, S9运行结果 : 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 那么有没有方法可以提高筛选第2段路线的效率呢?答案是肯定的。只需把GRouteT0 改成实表,并创建索引就行了。修改成实表后,就不需要把第2段路线缓存到临时表#R2 中,修改后的 GInquiryT2( 重命名为 GInquiryT2_1)如下:GInquiryT2_1 /* 查询站点 StartStops到站点 EndStops之间的二次换乘乘车路线,多个站点用 / 分开,结果以分组方式给出,如:execGInquiryT2_1站点 1/ 站点 2, 站点 3/ 站点 4 */ CREATEprocGInquiryT2_1( StartStopsvarchar(2048), EndStopsvarchar(2048) ) as begin declaress_tabtable(StopKeyint) declarees_tabtable(StopKeyint) insertss_tabselectdistinctStop.StopKeyfromdbo.SplitString(StartStops,/)sn,Stop wheresn.Value=Stop.StopName insertes_tabselectdistinctStop.StopKeyfromdbo.SplitString(EndStops,/)sn,Stop wheresn.Value=Stop.StopName if(exists(selecttop1*fromss_tabsst,es_tabestwhere名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - sst.StopKey=est.StopKey) begin raiserror( 起点集和终点集中含有相同的站点,16,1) return end declarestopstable(StopKeyint) insertstopsselectStopKeyfromss_tab insertstopsselectStopKeyfromes_tab print= print筛选出第 1段乘车路线 print- setstatisticstimeon - - 筛选出第 1段乘车路线,保存到临时表#R1 中select* into#R1 fromGRouteT0 whereStartStopKeyin(selectStopKeyfromss_tab) andEndStopKeynotin(SelectStopKeyfromstops) orderbyStartStopKey,EndStopKey - 在临时表 #R1 上创建索引createindexindex1on#R1(StartStopKey,EndStopKey) - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - setstatisticstimeoff print= print筛选出第 3段乘车路线 print- setstatisticstimeon - - 筛选出第 3段乘车路线,保存到临时表#R3 中select* into#R3 fromGRouteT0 whereEndStopKeyin(selectStopKeyfromes_tab) andStartStopKeynotin(SelectStopKeyfromstops) orderbyStartStopKey,EndStopKey - 在临时表上创建索引createindexindex1on#R3(StartStopKey,EndStopKey) - setstatisticstimeoff print= print二次换乘查询 print- 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - setstatisticstimeon - - 二次换乘查询selectss.StopNameas起点 , dbo.JoinRoute(res.StartStopKey,res.TransStopKey1)as路线 1, ts1.StopNameas中转站 1, dbo.JoinRoute(res.TransStopKey1,res.TransStopKey2)as路线 2, ts2.StopNameas中转站 2, dbo.JoinRoute(res.TransStopKey2,res.EndStopKey)as路线 3, es.StopNameas终点 , MinStopCount from( - 查询出站点数最少的10 组路线selecttop10 r1.StartStopKeyasStartStopKey, r2.StartStopKeyasTransStopKey1, r2.EndStopKeyasTransStopKey2, r3.EndStopKeyasEndStopKey, (r1.MinStopCount+r2.MinStopCount+r3.MinStopCount)asMinStopCount from#R1r1,GRouteT0r2,#R3r3 wherer1.EndStopKey=r2.StartStopKeyandr2.EndStopKey=r3.StartStopKey orderby(r1.MinStopCount+r2.MinStopCount+r3.MinStopCount)asc 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - )res, Stopss, Stopes, Stopts1, Stopts2 where res.StartStopKey=ss.StopKeyand res.EndStopKey=es.StopKeyand res.TransStopKey1=ts1.StopKeyand res.TransStopKey2=ts2.StopKey - setstatisticstimeoff print= end名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

    注意事项

    本文(2022年2022年公交路线查询系统--数据库设计 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开