1.场景需求:登陆的用户id(用people_id字段表示)可以购买多个服务(现假如有1,2俩个服务(service_type)),每个不同的服务可以添加不同的人员(attention_at),每个人员选择对应的门禁(device_id),还要选择个时间(1带表周一到周五,2代表周六到周日(用time_type字段标识),必须在选择17:00-18:00这样的时间段(用start_time和end_time字段标识)),选择服务购买时长(相当于过期时间,expired_time),提价到服务器数据,存入数据库
2.前端比中一张人脸照片,我会根据attention_at,device_id找出第一步建表的关联数据,如果有数据,判断购买的服务有没有到期,如果没到期,我会判断比中时间是不是在购买服务时登记的时间范围内,如果在,我会推送给people_id这个用户的微信号
3.自己的建表思路:
思路1:
表1:id(主键), people_id, service_type, attention_at, expired_time
表2:id(主键), 表1的id, device_id, time_type, start_time, end_time
思路2:
一张表:id(主键),people_id, service_type,attention_at,expired_time,device_id,time_type,start_time,end_time
思路3:
表1:id,people_id,service_type,expired_time
表2:id,表1的id,people_id,attention_at
表3:id,表2的id,device_id, time_type, start_time, end_time
4.希望大佬能帮我提供更好的思路,万分感激
非大神,菜鸡一枚。
如果是我的话,会这样设计数据表,一张存放用户信息的用户表,一张存放服务类型的表,一张存放服务人员的表,一张存放门禁的表,然后另外一张服务信息表用于存放用户每次购买的服务,添加的人员,对应的门禁,服务的时间
个人见解