在设计数据库及其模型时,我遇到了一个令人讨厌的设计问题。从本质上讲,该数据库吸引了客户和客户,他们应该能够彼此约会。客户应将其可用性(通常按周)存储在数据库中,并且需要将其添加到约会模型中。该解决方案不需要或不需要精确的小时可用性,每天只需一个值-从“不可用”到“可能可用”到“可用”。到目前为止,我想出的唯一解决方案包括为每个客户连续存储所有7天的数据,但是看起来很讨厌。
所以这是到目前为止我得到的一些东西:
Client model: ClientId Service, Fee
Customer-that-uses-Client model: CustomerId ServiceNeed
Availability-model: ClientID (FK/PK) Monday, (int) ... ... Sunday (int)
最后,约会模型:
AppointmentId ClientID CustomerID StartDate Hourse
问题:有什么方法可以重新设计可用性模型,以……好,需要较少的字段,并且仍然根据客户的可用性每天存储(1-3)值?如果约会模型不需要引用可用性模型中的所有数据,那也将非常好...
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
标准化该availability表:代替
ClientID(FK / PK)星期一(int)... ...星期日(int)
跟
ClientID(PK / FK)工作日整数值(0-6或1-7)(PK)可用性整数值1-3
该表具有复合主键,(ClientID, weekday)因为每个客户在七个工作日中的每个月可能具有零个或一个条目。
在此表中,您可能具有以下行:
43 2 3 (on Tuesdays = 2, client 43 is Available =3) 43 3 2 (on Wednesdays = 3, client 43 is MaybeAvailable =2)
如果该行丢失,则表示该客户端不可用。可用性值1也意味着。
问题来源于stack overflow