只需快速查询小型应用程序的最佳数据库结构,[数据库将是 SqlLite 或 MySql,如果有帮助的话,应用程序将用 PHP 编写]
基本上我的问题是条目将有很多选项,并且这些选项可能会被添加和删除,因此编辑数据库结构可能不是最好的主意。我只是想知道将此选项存储到数据库的最佳方式是什么。在过去的类似情况下,我通过将序列化数据或 JSON 格式的数据存储到表行来实现这一目标,但我想知道这是否是最佳选择,任何建议都会很好。
该应用程序是基于 map 的,用户可以添加/删除标记,标记具有类型[例如商店、学校、医院等],用户还可以添加和删除类型。除此之外,用户还可以创建 map View ,例如仅学校和医院可见的 map 。
描述起来有点困难,但这里可以描述[简化]表结构
标记
+---------+-----+-----+--------+-----------+
|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|
+-------+-------------+--------------+
map View
+------+---------------------+---+
|mapID | name | ??|
+------+---------------------+---+
|1 | Schoool & Shops | ??|
|2 | Hospitals & Schools | ??|
+------+---------------------+---+
所以我的问题基本上是,存储 mapID #42 应显示 typeID #2、#5 和 #23 标记的信息的最佳方式是什么。
最佳答案
据我了解, map View 可以有许多标记(这是逻辑)。所以我认为连接表将是最好的解决方案。例如,名为 MapMarkers 的表具有以下结构: map 标记
| id | MapID | MarkersID | ?? | ( you can add other infos for example if you want to store personnalized maps for each client you can add userID)
关于php - 数据库表结构查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13663674/