3.13每日总结第一次结对作业

今天,建民老师给我们布置了第一次结对作业,让我们做一个地铁查询系统

我们的北京地铁线路工程如下:
  数据库中存在两张表,一张是站点表,属性包括站点id,线路位数,站点名;第二张表是线路联通表,属性包括第一条线路,第二条线路,站点名称。

   查询过程一共有三种可能。

   第一种,在同一条线路上的站点,其中包括起始站或终点站都是转乘点的情况,此时我们需要得到查询输入的起始站和终点站,查询line表,在二者的所属线路相同的情况下,得到二者差值的绝对值即可得到站数,然后输出其中的站点名;

   第二种,分布在两条线上的起始站和终点站,且起始站和终点站所在的线路存在交点,此时我们需要得到查询输入的起始站和终点站,查询line表,得到二者的所属线路,然后查询线路交点表,将得到所属线路作为条件查询得到线路交点的中转站,然后再回到第一张表line中,以起始站属性和中转站定位与起始站线路相同的中转站,然后求出起始站到中转站的站点,再以终点站线路和中转站与终点站线路相同的中转站,求出中转站到终点站的站点名,最后合并到同一个list中即可;

   第三种情况,起始站和终点站在不同的两条线路上,且两点之间不存在交点,即需要第三条线作为中转,此时我们需要得到查询输入的起始站和终点站,查询line表,得到二者的所属线路,然后查询线路交点表,将得到的中点站作为条件查询,得到的值应当为空。在这种情况下,我们应该再次查询线路交点表,将得到的起始站线路作为第一条记录的一线路,将得到的终点站线路作为第二条记录的二线路,求满足第一条记录第二条线路等于第二条记录第一条线路的线路中间线路并记录。然后依旧在本张表中,以起始站线路作为第一线路,将中间线路作为终点线路,查询线路交点,得到第一个中转点;然后以第一个中转点为起始站,终点站做第二线路,查询线路交点,得到第二个中转点。然后在line表中,查询起始站到第一个中转站的中间站名;之后查询第一个中转站到第二个中转站的中间站名;最后查新第二个中转站到终点站的站名。最后将三部分放入同一个list中。

posted @   漏网鲨鱼  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示