我有一个数据库问题,我应该设计一个旅游数据库。他们跟踪游客,门票,以及他们参观的景点(如宫殿或当地的表演)。我们假设每位游客都要买一张入场券。
每张票只有效期一天,没有儿童或家庭等的特价票,但有几种类型的门票,特别是黄金、银牌和铜牌。金票比较贵,但大部分景点都是免费的,或者
至少相当便宜。对于银奖和铜牌票,大部分景点可能要额外收费。因此,一个人打算花一整天和尽可能多的乘车可能想买一张金票,而另一些人更好的一张银牌或铜牌票。
票价,以及每一张门票的额外费用,可能取决于季节,并可能随着时间的推移而变化。因此,在2013年春假期间,可能有一套价格,而在2013年夏季高峰季节,可能有另一套价格。每个景点都有一个独特的名称(例如,玻璃博物馆或金矿),每当游客访问某一景点时,数据库应存储有关游客持有的门票以及游客何时进入该景点的信息。
Visitors
(v_id,visitor_name)
Ticket_purchase
(v_id,t_id,date)
Tickets
(t_id,class,price,season)
Attractions
(t_id,attraction_name,goldextracost,silverextracost,bronzeextracost)
Attraction_visited
(v_id,t_id,attraction_name,datetime)现在,如果我想输出购买青铜票的人数,但如果他们买了一张金票,他们就会省钱(因为他们去了很多景点,在那里他们不得不在当天额外付费)。
上面的表格可以吗?还是我需要做一些结构上的改动?
发布于 2014-02-21 21:22:44
我想你有你需要的信息。你在记录游客参观景点时使用的门票,利用这些数据,你可以得到门票类别,并计算出如果他们用不同的客位票访问该景点会花费多少钱。
发布于 2014-02-21 21:17:54
据我所见,当你改变票价时,你会改写票价.因此你不能回头看不同的票价..。由于我取消售票价格可以改变,您将不得不添加一个字段的日期,您创建新的价格。那你就不会删除旧的票价了。只要拉上最新的。其他任何东西都是一样的.你不能覆盖它..。加个开始日期..。
当你准备好看这个人花了多少钱,你可以看到他们花了多少钱在他们的门票和景点上.
一旦你这样做了,你想要的就会成为可能。
https://stackoverflow.com/questions/21945113
复制相似问题