簡體   English   中英

特定查詢的關系數據庫設計結構

[英]relational database design structure for a specific query

我在設計游覽數據庫時遇到數據庫問題。 他們會跟蹤訪客,門票和他們參觀的景點(例如宮殿或當地表演)。 我們假設每個游客都必須購買門票才能進入旅游。

每張票僅有效一天,並且沒有針對兒童或家庭等的特殊票。但是有幾種票,特別是金,銀和銅票。 金票比較貴,但是游覽中的大多數景點都是免費的或
至少相當便宜。 對於銀牌和銅牌門票,大多數景點可能會收取大量額外費用。 因此,計划花一整天時間並盡可能多騎車的人可能想購買金票,而其他人最好購買銀票或銅牌。

門票價格,以及每個門票類別的每個景點的額外費用,可能取決於季節,並可能隨時間而變化。 因此,在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)

現在,如果我要輸出購買青銅票但如果購買金票本來可以省錢的人數(因為他們參觀了很多景點,因此當天不得不多付錢)

上面的表格是否可能,或者我需要進行一些結構上的更改?

從我可以看到的角度來看,當您更改機票價格時,您會覆蓋它的價格...因此,您不能回頭查看不同的機票價格...因為我無法理解機票價格的變化,因此您必須在機票中添加一個字段創建新價格的日期。 那么您將不會刪除舊機票價格。 只是拉最新的。 和其他價格相同的東西...您不能覆蓋它..只需添加開始日期...

當您准備查看此人的花費時,您可以看到他們在門票和景點上花費了多少...

一旦執行此操作,便可以實現所需的功能。

我認為您擁有所需的信息。 您正在記錄顧客訪問景點時使用的門票,並使用該數據可以獲取門票類別,並計算出如果他們使用其他類別的門票訪問景點所花費的費用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM