簡體   English   中英

Mysql:我應該將我的數據放入1個表中還是按用戶分割?

[英]Mysql : should i put my data into 1 table or split per user?

這些數據適用於度假小屋的簡單住宿日歷。 數據很簡單,並存儲每個小屋預訂的日期。

cols將是cottage_id, booked_from_date, booked_until_date ,我預計每個用戶每年約60行* 200-300個用戶。

我應該把這是一張桌子吧?

COTTAGE


cottage_id,
地址?,
其他信息......

用戶

用戶身份,
名稱,
其他信息......

COTTAGE_RESERVATION

cottage_id,
用戶身份,
從日期,
至今

是的 ,這應放在一張桌子上(適用於所有別墅)。

當您開始將應該在單個表中的數據(可以通過定義類型/ ID分隔)放入單獨的表中時,您將遇到整個受傷的世界。

想一想你是如何編寫一個查詢來檢索所有單位的可用性,在給定的日期,10-40或更多單位?

將表規范化為MANY到MANY結構是完全正常的,從用戶分離Cottages並通過表CottageUsers與預訂日期鏈接。

我認為蘭迪的答案很好......另外一個想法就是使用日歷表:

COTTAGE_CALENDAR

  • cottage_id
  • 日期
  • reservation_id

為預訂的每一天添加一行,並將cottage_id和日期字段作為組合主鍵....然后您將防止超量預訂...(將reservation_id添加到Randy為關系數據鏈接構建的COTTAGE_RESERVATION表中)....

暫無
暫無

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

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