换乘 数据库设计

换乘问题的数据库设计

线路,站点,次序

所有车次:select distinct 线路 from bus

某条线路:select 站点 from bus where 线路==x order by 次序

直达:select x.*, y.* from bus x, bus y where x.线路 == y.线路 and x.次序 < y.次序 and x.站点 == s and y.站点 == e

一次换乘:视图,自连接,所有直达

线路a,站点a,次序a,线路b,站点b,次序b(次序递增)

select viewa.站点s,viewa.线路s,viewa.站点e,viewa.线路e,  viewb.站点s,viewb.线路s,viewb.站点e,viewb.线路e from

vview viewa, vview viewb where{

viewa.站点b == viewb.站点a and

viewa.站点a == s and

viewb.站点b == e

}

已经包含中转站信息

二次更多次换乘:视图,继续连接,保留中转站信息,个人感觉做到四次换乘就行了,超过四次就打的吧。

比较困难的地方在打印出完整的换乘信息,但是没有技术难度,只是有些复杂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值