如何进行类似airbnb的预约系统数据库设计?

发布于 2022-08-30 00:30:43 字数 717 浏览 14 评论 0

不了解airbnb的请看https://zh.airbnb.com/
airbnb是一个将人们闲置的房子放上网上供人预约的网站。

现在我想要设计一个类似的将人们闲置资源供人预约的系统,要同时兼顾到资源供给方和需求方的用户:
1. 供给方可设置默认可供预约的时间段,最小单位为小时,如每周一15点-18点。该默认社设置是周期性的。
2. 供给方因特殊原因可以更改上述默认设置,如本周一有事,就提前临时禁止了本周一的默认设置。
3. 需求方根据供给方设置的预约时间表在规定的时间内预约,最小单位当然也是小时,一个时间单位只能被一人预约。
4. 需求方最多可以尝试预约从当天算起4周以内的闲置资源

现在遇到的问题是如何设计关于供给方可预约时间的表?
假设设置成

用户id         int
可预约日期     date
可预约时间     int  (0-24)

假如平均每个供给方设置每周可以预约10个小时(不连续,点状分布),那么1个供给方4周就有10*4 = 40,每一个新供给方出现时,单时间表的默认设置平均要插入40条记录,会不会比较慢?供给方修改默认设置的话,则更麻烦了。
还有一个问题就是每过1天,要为有需要的供给方各自添加1条新纪录以保证时间表始终是4周的可预约数据。

感觉这种设计不好,请问有没有什么好的设计思路?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文