首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库表结构查询

数据库表结构查询
EN

Stack Overflow用户
提问于 2012-12-01 20:57:40
回答 2查看 180关注 0票数 0

对于一个小型应用程序,只需快速查询最佳的数据库结构,数据库将是SqlLite或MySql,如果这有帮助的话,则是用PHP编写的应用程序。

基本上,我的问题是条目将有许多选项,这些选项可能会被添加和删除,所以编辑db结构可能不是最好的主意。我只是想知道将这些选项存储到数据库中的最佳方法是什么。在类似的情况下,过去我通过将数据序列化或JSON格式存储到表行来实现这一点,但我想知道这是否是最好的选择,任何建议都会很好。

应用程序基于地图,用户可以添加/删除标记,标记有商店、学校、医院等类型,用户也可以添加和删除类型。除此之外,使用还可以创建地图视图(如只有学校和医院可见的地图)。

这是有点难以描述,但这里是一个简单的表结构描述。

标记

代码语言:javascript
复制
+---------+-----+-----+--------+-----------+
|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|
+---------+-----+-----+--------+-----------+

标记类型

代码语言:javascript
复制
+-------+-------------+--------------+
|typeID | name        | icon         |
+-------+-------------+--------------+
|1      | Schools     | school.png   |
|2      | Shops       | shop.png     |
|3      | Hospitals   | hospitals.png|
+-------+-------------+--------------+

地图视图

代码语言:javascript
复制
+------+---------------------+---+
|mapID | name                | ??|
+------+---------------------+---+
|1     | Schoool & Shops     | ??|
|2     | Hospitals & Schools | ??|
+------+---------------------+---+

因此,我的问题基本上是,mapID #42应该使用typeID #2、#5和#23显示标记的最佳存储方式是什么。

EN

回答 2

Stack Overflow用户

发布于 2012-12-01 21:06:22

据我所知,Map视图可能有许多标记(这是逻辑的)。所以我认为连接表是最好的解决方案。例如,一个名为MapMarkers的表,其结构如下: MapMarkers

代码语言:javascript
复制
 | id | MapID | MarkersID | ?? | ( you can add other infos for example if you want to store personnalized maps for each client you can add userID)
票数 1
EN

Stack Overflow用户

发布于 2012-12-01 21:03:55

您应该使用第三个表,它表示两个表之间的关系:

mapView

mapView-标记类型将具有以下属性:_

(显然,您应该得到比mapView更短的名称-标记类型)

考虑到您在帖子上所做的更改,编辑将得到:

mapView_markerType

代码语言:javascript
复制
   id*    | mapId    | typeId
  --------|----------|----------
    1     | 1        | 1
    2     | 1        | 2
    3     | 2        | 1
    4     | 2        | 3

EDIT2

因此,为了进一步解释我对以下评论的含义:

地图视图

代码语言:javascript
复制
+------+---------------------+----------+
|mapID | name                | typeComb |
+------+---------------------+----------+
|1     | Schoool & Shops     |  {1,2}   |
|2     | Hospitals & Schools |  {1,3}   |
+------+---------------------+----------+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13663674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档