只需快速查询适合小型应用程序的最佳数据库结构,[数据库将是 SqlLite 或 MySql 以及用 PHP 编写的应用程序,如果有帮助的话]
基本上我的问题是条目将有很多选项,并且这些选项可能会被添加和删除,因此编辑数据库结构可能不是最好的主意。我只是想知道将此选项存储到数据库的最佳方法是什么。在过去的类似情况下,我通过将序列化或 JSON 格式的数据存储到表行来实现这一点,但我想知道这是否是最佳选择,任何建议都会很棒。
该应用程序是基于地图的,用户可以在其中添加/删除标记,标记具有类型[例如商店、学校、医院等]。用户还可以添加和删除类型。除此之外,用户可以创建地图视图,例如只有学校和医院可见的地图。
这有点难以描述,但这里是描述 [ 简化 ] 表结构
标记
+---------+-----+-----+--------+-----------+
|markerID | lat | lng | typeID | name |
+---------+-----+-----+--------+-----------+
|1 | 52 | -9 | 1 | A School |
|2 | 52 | -9 | 2 | A Shop |
|3 | 52 | -9 | 1 | B School |
|4 | 52 | -9 | 3 | A Hospital|
+---------+-----+-----+--------+-----------+
标记类型
+-------+-------------+--------------+
|typeID | name | icon |
+-------+-------------+--------------+
|1 | Schools | school.png |
|2 | Shops | shop.png |
|3 | Hospitals | hospitals.png|
+-------+-------------+--------------+
地图视图
+------+---------------------+---+
|mapID | name | ??|
+------+---------------------+---+
|1 | Schoool & Shops | ??|
|2 | Hospitals & Schools | ??|
+------+---------------------+---+
所以我的问题基本上是,存储 mapID #42 应该显示带有 typeID #2、#5 和 #23 的标记的信息的最佳方法是什么。