【发布时间】:2011-05-02 18:22:35
【问题描述】:
这里的情况。我有一个称为地图坐标的表,其架构如下所示:
map_coordinates:
item | item_id | latitude | longitude
这个想法是这个表包含不同项目的坐标列表,它们可以是便条、分类帖子、事件等。我希望能够设置它,所以我的结果集如下:
item | name of item | latitude | longitude
请考虑所有事件、分类和注释都在单独的表格中。我怎么能设置它,因为我需要在谷歌地图上显示所有坐标以及元素的名称,即如果它是分类 - 广告的标题,事件的标题等,而不必做很多sql查询。
我有在地图上显示它的代码 - 我只需要这样获取详细信息。还是我必须在这里重做我的数据库设计?
==========================
编辑
实际上,我的数据库中有许多表,例如注释、分类和事件等。关键是 maps_coordinates 表中的项目是指元素的类型,即它是否是注释或事件,并且 item_id 是该事件的实际 ID。我不想在这里使用连接,因为这会涉及很多表。此外,我只需要获取标题中的基本信息以帮助填充地图,因此当我将鼠标悬停在单个标记上时,我不必进行 ajax 调用来显示标记处元素的基本信息。
其他表有它们自己的定义,但它们都有一个相似的标题字段,我希望将这个标题字段显示在与坐标相同的元组中。或者我应该在这里非规范化我的表格并在 map_coordinates 中有一个重复的标题条目?
【问题讨论】:
-
在@Georgi 注释的评论中,您提到了一个包含注释名称的 NOTES 表。请编辑您的原始帖子以包含所有其他相关表格的描述 - 否则人们可以给您的建议不多。
标签: sql mysql normalization