火车票可以分日期分区段售票的数据库建表

chinamcafee 2013-07-10 09:47:17
要开发一个火车票订票系统,关键要实现可以订不同日期的(未来12日内的成人票以及20日内的学生票),并且可以实现分区段售票(一个座位可以在不同区段分别售卖,查询同一车次的不同区段时,座位的余票数是不同的)求大神指教如何建表合理并且查询效率较高?
只是一个实训项目,在单个服务器的Oracle数据库中实现,并不需要考虑分布式数据库。
...全文
210 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chinamcafee 2013-07-12
引用 9 楼 forgetsam 的回复:
你先不用建表,你把你所有需要持久化的信息模型想明白,模型和模型之间什么关系想明白再说。
就是因为只是一个实训项目,完成时间短,再加上Oracle基础薄弱,所以才很难仔细构建模型。
回复
chinamcafee 2013-07-11
引用 5 楼 chinamcafee 的回复:
[quote=引用 4 楼 luoyoumou 的回复:] 根据已售信息,不就推算出来了么? -- 比如:T5次 北京---->南宁,7号车箱,55座,A顾客,已经买了 北京---->长沙的, 一旦出票后,有个“已售站状态”的字段,将其标志为"5"(是第5站) -- 那么这个时候,这个座位的余坐信息应该是 长沙---->南宁 段,(根据上面的"已售站状态字段值"及“终点站ID“就可以推算出来。如果"已售站状态"等于“终点站ID"表示该座位当天不能再次购买!
不好意思,恕我愚钝,还是没有完全搞清楚您的意思。一列车一般都有好几百个座位不是么?这个已售站状态要如何和几百个座位建立关联呢?毕竟每个座位都会有不同区段的售票可能的吧。[/quote] 好像大概理解了您的意思,您的意思是不是每趟列车都要有一个座位表、站次表呢?我一直理解的是所有列车都放在一张表里,所以一直想不通。
回复
陈字文 2013-07-11
引用 2 楼 luoyoumou 的回复:
个人感觉目前铁道部门的售票软件也非常垃圾, 比如说,我从“北京站”买火车票的话,一般始发站就是“北京站”这种情况居多,对吧? 这个时候,如果每次都售票人员去选择“始发站xx”的话,是不是非常浪费他们的时间呢? 我在系统中设置一个“默认始发站”不是可以节约他们非常多的时间呢? 垃圾软件就是在这些细节中体现来滴!
回复
陈字文 2013-07-11
引用 1 楼 luoyoumou 的回复:
-- 这个要考虑的很多呢: -- *(01). 首先必须有“车次信息表”。 -- *(02). 其次必须有车次对应的“座位信息表”,因为不同的车次,其“软、硬卧”及“硬座”的分布情况不一样,有的车还有双层呢! -- *(03). 再次是必须有车次对应的“站次信息表”,一般应该从“始发站”到“终点站”依次排序,生成一个站号(这样,如果某张票非全程的话,可以根据站号去补售其他站的票。。 -- *(04). 最后是售票信息表,这个表可以按“日期分区”,再按“车次所铁道部区段”子分区。 -- 自己慢慢理清了思路的话,应该不难。 -- 呵呵,不吹牛的说:要我来设计12306系统,或许现在售票就容易多了!
NICE JOB
回复
forgetsam 2013-07-11
你先不用建表,你把你所有需要持久化的信息模型想明白,模型和模型之间什么关系想明白再说。
回复
luoyoumou 2013-07-10
个人感觉目前铁道部门的售票软件也非常垃圾, 比如说,我从“北京站”买火车票的话,一般始发站就是“北京站”这种情况居多,对吧? 这个时候,如果每次都售票人员去选择“始发站xx”的话,是不是非常浪费他们的时间呢? 我在系统中设置一个“默认始发站”不是可以节约他们非常多的时间呢? 垃圾软件就是在这些细节中体现来滴!
回复
luoyoumou 2013-07-10
-- 这个要考虑的很多呢: -- *(01). 首先必须有“车次信息表”。 -- *(02). 其次必须有车次对应的“座位信息表”,因为不同的车次,其“软、硬卧”及“硬座”的分布情况不一样,有的车还有双层呢! -- *(03). 再次是必须有车次对应的“站次信息表”,一般应该从“始发站”到“终点站”依次排序,生成一个站号(这样,如果某张票非全程的话,可以根据站号去补售其他站的票。。 -- *(04). 最后是售票信息表,这个表可以按“日期分区”,再按“车次所铁道部区段”子分区。 -- 自己慢慢理清了思路的话,应该不难。 -- 呵呵,不吹牛的说:要我来设计12306系统,或许现在售票就容易多了!
回复
chinamcafee 2013-07-10
引用 4 楼 luoyoumou 的回复:
根据已售信息,不就推算出来了么? -- 比如:T5次 北京---->南宁,7号车箱,55座,A顾客,已经买了 北京---->长沙的, 一旦出票后,有个“已售站状态”的字段,将其标志为"5"(是第5站) -- 那么这个时候,这个座位的余坐信息应该是 长沙---->南宁 段,(根据上面的"已售站状态字段值"及“终点站ID“就可以推算出来。如果"已售站状态"等于“终点站ID"表示该座位当天不能再次购买!
不好意思,恕我愚钝,还是没有完全搞清楚您的意思。一列车一般都有好几百个座位不是么?这个已售站状态要如何和几百个座位建立关联呢?毕竟每个座位都会有不同区段的售票可能的吧。
回复
luoyoumou 2013-07-10
根据已售信息,不就推算出来了么? -- 比如:T5次 北京---->南宁,7号车箱,55座,A顾客,已经买了 北京---->长沙的, 一旦出票后,有个“已售站状态”的字段,将其标志为"5"(是第5站) -- 那么这个时候,这个座位的余坐信息应该是 长沙---->南宁 段,(根据上面的"已售站状态字段值"及“终点站ID“就可以推算出来。如果"已售站状态"等于“终点站ID"表示该座位当天不能再次购买!
回复
chinamcafee 2013-07-10
引用 1 楼 luoyoumou 的回复:
-- 这个要考虑的很多呢: -- *(01). 首先必须有“车次信息表”。 -- *(02). 其次必须有车次对应的“座位信息表”,因为不同的车次,其“软、硬卧”及“硬座”的分布情况不一样,有的车还有双层呢! -- *(03). 再次是必须有车次对应的“站次信息表”,一般应该从“始发站”到“终点站”依次排序,生成一个站号(这样,如果某张票非全程的话,可以根据站号去补售其他站的票。。 -- *(04). 最后是售票信息表,这个表可以按“日期分区”,再按“车次所铁道部区段”子分区。 -- 自己慢慢理清了思路的话,应该不难。 -- 呵呵,不吹牛的说:要我来设计12306系统,或许现在售票就容易多了!
问题就在于“座位信息表”里要存储(比如10天内)同一趟列车的座位售卖情况,一张表里如何能记录10天内不同的座位剩余信息呢?难道要建立10张表么?我就是在这个地方想不明白,求指教。
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-07-10 09:47
社区公告
暂无公告