如何组织地理空间的模型类和相关数据库数据?

时间:2012-11-14 19:15:56

标签: mysql ruby-on-rails ruby database data-structures

我正在使用Ruby on Rails v3.2.2和MySQL。我想以平衡的方式“抽象”和“处理”地理空间,但是当我必须“发明”整体结构时,我遇到了麻烦。所以......

如何组织地理空间的模型类和相关的数据库数据?例如,我应该实现哪些类的“类型” - 我应该使用类似RoR单表继承或多态的东西班? - ?并且,鉴于提到的模型类(或模型类),我应该将哪些表列添加到我的数据库中以及如何填充这些列以便可检索(原因是我想要实现搜索表单以便以用户友好的方式查找记录,可能带有“自动填充名称”输入字段)?


注意:目前,我计划在(“嵌套”空格)continents>中“组织”一个地理空间。 countries> regions> cities> addresses。但是,由于搜索表单用例的可检索性,我想知道只创建一个数据库表来处理这些空间对象。

1 个答案:

答案 0 :(得分:1)

它认为使用belongs_to和has_many会足够友好,即使是自动填充等等。

class Continent < ActiveRecord::Base
    has_many :countries
end 

class Country < ActiveRecord::Base
    belongs_to :continent
    has_many :regions
end

class Region < ActiveRecord::Base
    belongs_to :country
    has_many :cities
end

类似的东西。