我有一個數據庫問題,我想設計一個旅遊數據庫。他們保持跟蹤 訪問者,門票和他們訪問的景點(例如宮殿或本地節目)。我們假設每個遊客都必須購買一張票才能進入遊覽。特定查詢的關係數據庫設計結構
每張票只有一天有效,並且沒有兒童或家庭等的特殊票。但是有幾種票,特別是金,銀和銅票。黃金票價更貴,但隨後大部分旅遊景點都是免費的,或者至少價格相當便宜的
。對於Silver和Bronze門票,大部分景點可能需要額外收費。因此,打算花一整天時間儘可能多地乘坐遊樂設施的人可能想要購買一張金票,而其他人則最好使用銀票或銅票。
機票價格以及每個機票類別的每個景點的額外費用可能取決於季節,並可能隨時間而改變。因此,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)
現在,如果我要輸出的誰買了青銅票,但(誰又能節省錢,如果他們買了一個金票,因爲他們參觀了很多景點,他們不得不在支付額外的人數那天)
是否可能與上述表格或我需要一些結構變化?
現在我有一套固定的門票。我的意思是我不會爲每個訪客產生不同的票。它像2013年春季的黃金季節票號1一樣,其基本成本爲40美元,銀和銅牌也是如此。我已經完成了大部分的季節,並沒有包含日期。但我認爲我必須這樣做。 – user3338588
是的,但如果2013年的青銅票價爲40美元,而2014年的青銅票價爲50美元,則每票價格必須有startDate。 ex。景點 (t_id,attraction_name,goldextracost,silverextracost,bronzeextracost,startDate) – Ishey4
等待我可能會錯我的理解你的結構 它也似乎你也可以結合購票和票... 我很難過了解你的結構..你可以請嘗試解釋它好一點嗎? – Ishey4