2012-10-07 37 views
0

我有一个理发师表(barberId,姓,名) 我有一个客户表(的clientId,姓,名)如何创建日历以设置理发店的约会?

的理发店是只透过预约。我需要哪些表来创建一个系统,客户可以查看日历,查看哪些理发师可用,并设置与理发师的约会?

理发师没有设定的时间表:理发师可能会有几个小时在这里和那里。因此,客户必须查看日历以查看可用性。

我正在使用MySQL。

+0

如果企业的日常工作不支持此功能,那么为什么应用程序应该这样做?注意:如果理发师会做出妥协,那么可以要求提供2或3人的时间表并设计问题解决方案。 –

回答

2

这样做的方式太多了,这取决于您的业务需求。首先,我会将clientele重命名为clients,如果您设置变量等,它将更易于使用,更容易进行多元化。

如果理发师有3个小时可用,是否意味着3个约会1小时?如果某个客户需要2个小时怎么办?在这种情况下会发生什么?

我们假设每个人需要1小时。您可以创建一个名为appointments的表格,其中appointment_id, barber_id, client_id, start_time, end_time。约会可以由理发师或经理创建,client_id在约会被预订时设置。如果您想查看可用插槽,则将查询数据库以获取符合start_time, end_time要求的任何约会,但没有client_id。您可以按特定的barber_id进行过滤,或显示所有可用时间及其各自的理发师。

+0

我真的很喜欢你的答案。我最初的'约会'表缺少clientId。非常感谢(投票)。但这是一个问题。假设理发师将从9a到2p,然后从3p到9p。说每次剪发可以持续30分钟到2小时 - 以半小时为增量。那么,对于理发店的9a到2p的插槽,我是否有那个时间段的10个入场(半个小时)?在他的前半天只有一个理发师,那不是太多排? – kasavbere

+0

不是,行数不是真正的问题。客户是否自己申请预约,还是需要打电话,让他​​人为他们预约?这些数据的生命周期是什么?你需要保留已完成的所有约会吗? – iouri

+0

你也可以创建一个时间表的概念,每个理发师每天有一个或几个块的可用时间,然后约会将不得不适应该时间跨度,而不是重叠其他约会,这样你可能不需要产生时间提前插槽。你将有一个上午9点至下午3点,上午9点至10点11:30-12:00PM等约会,将适合其内部。所以当你创建新的时候,查询会检查它是否适合上午9点到下午3点,以及是否有其他约会。 – iouri