繁体   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