我有一个带有MySQL数据库的项目,我希望能够上传各种数据集。说我正在建立餐厅评论聚合器。因此,我们希望继续添加我们可以获得的所有餐厅评论来源,并保留所有信息。
我有一个表review_sources
=========================
| id | name |
=========================
| 1 | Zagat |
| 2 | GoodEats Magazine|
| ... |
| 50 | Allergy News |
=========================
现在说我有一张表评论
=====================================================================
| id | Restaurant Name | source_id | Star Rating | Description |
=====================================================================
| 0 | Joey's Burgers | 1 | 3.5 | Wow! |
| 1 | Jamal's Steaks | 1 | 3.5 | Yummy! |
| 2 | Jenny's Crepes | 1 | 4.5 | Sweet! |
| .... |
| 253| Jeeva's Curries | 3 | 4 | Spicy! |
=====================================================================
现在假设有人想要添加“过敏新闻”的评论,他们有一个“坚果免费”字段。或者评论来源可以描述kashrut合规程度,或清真合规性或纯素食性。我作为设计师不知道未来数据源可能具有的可选字段。我希望能够回答问题:
那么如何设计一个可以处理这些不同数据源并回答这些查询的模式呢?我没有使用NoSQL的原因是我确实需要某些类型的规范化,并且这是现有基于MySQL的项目的一部分。
答案 0 :(得分:0)
我会使用与包含review_id
,field
(例如“素食主义者友好”)的表格以及字段值的多对多关系。当然还有一个reviews_fields表来映射一个到另一个。
干杯