我正在设计一个表格来存储餐厅数据
问题是要存储的数据太多。
我正在寻找的是构造这个的最佳方法
我想避免使用带有一堆列的表,因为它看起来像是糟糕的设计(是吗?)

数据的一些片段:

-餐厅名称
-地址
-市
-州
-压缩
-国家
-邻居/标签
-美食
..
..
-政策

这是我解决问题的方法:

选项1:

将所有数据放入1个表中。

+---------+----------+----------+-------------------------+
| res_id  | option1  | option2 | option3 | .. | option20  |
+---------+----------+---------+---------+----+----------+
|         |         |          |         |    |          |
+--------------------------------------------------------+


选项2

将数据拆分到多个表

+---------+----------+----------+----------------------+
| res_id  | option1  | option2 | option3 |  option4    |
+---------+----------+---------+---------+------------+
|         |         |          |         |            |
+---------+---------+----------+---------+------------+

+---------+----------+----------+----------------------+
| res_id  | option5  | option5 | option6 |  option7    |
+---------+----------+---------+---------+------------+
|         |         |          |         |            |
+---------+---------+----------+---------+------------+


选项3

使用多对多关系

restaurant

+---------+----------+----------+
| res_id  |   name   | location |
+---------+----------+---------+
|    1    |   blah   |  blah    |
+---------+---------+----------+
|    2    |  blah   |  blah    |
+---------+---------+----------+


info

+---------+----------+
| info_id |   key    |
+---------+----------+
|    1    |  info1   |
+---------+---------+-
|    2    |  infor2 |
+---------+---------+


restaurant_info

+---------+----------+----------+
| res_id  | info_id  | value    |
+---------+----------+---------+
|    1    |   1     |   val    |
+---------+---------+----------+
|    1    |   2     |   val    |
+---------+---------+----------+


任何建议表示赞赏

最佳答案

如果您有很多实体属性,并且每个实体都有自己的属性集,则可以使用Entity Attribute Values model来存储数据。

关于mysql - 有很多列的表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20022898/

10-12 00:02