如何建好数据库表

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.希望大佬能帮我提供更好的思路,万分感激

阅读 2.1k
1 个回答

非大神,菜鸡一枚。

如果是我的话,会这样设计数据表,一张存放用户信息的用户表,一张存放服务类型的表,一张存放服务人员的表,一张存放门禁的表,然后另外一张服务信息表用于存放用户每次购买的服务,添加的人员,对应的门禁,服务的时间

个人见解

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题