我需要使用产品数据设计表的结构,以满足以下要求:
1. A product consists of the following fields: EAN, CN, description, pvp
2. There are several types of users that access the products. The user types are not stable, they can be added or deleted at any time.
3. Any of the fields of the products may vary depending on the type of user who views it. For example:
我们有三个用户:
1 - John - guest
2 - David - client
3 - Vicent - vip
默认情况下,我们有此产品的以下数据:
8470001234567 - 123456 - Iphone X - $799
来宾用户没有看到此数据,而是看到以下内容:
8431239876547 - 987654 - Iphone X - $849
默认情况下,客户端用户看到数据,而vip用户看到:
8470001234567 - 654321 - Iphone X Sale - $709
这意味着用户可以看到给定产品的默认数据,除非其类型有例外。该异常可以影响任何字段(ID除外)。
我可以想到这种结构:
我已经证实使用这种结构可以进行很多查询,您是否想到了一种优化方法,因此不必进行太多查询?
注1:产品包含在具有一定数量产品的报价中。 注意2:我使用Laravel。 Offer模型与产品有关,也就是说,我通过以下方式获取产品:$ offer-> products()