【问题标题】:How to organize model classes and related database data for geographical spaces?如何组织地理空间的模型类和相关数据库数据?
【发布时间】:2012-11-14 19:15:56
【问题描述】:

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

如何组织地理空间的模型类和相关数据库数据?也就是说,例如,我应该实现哪种“类型”的类 - 我应该使用类似 RoR 单表继承还是多态上课? - ?并且,给定提到的模型类(或模型类),我应该将哪些表列添加到我的数据库中,以及应该如何填充这些列以便可检索(原因是我正在考虑实现一个搜索表单以便以用户友好的方式查找记录,可能带有“自动完成名称”输入字段)?


注意:此时,我打算在(“嵌套”空间)continents > countries > regions > cities > @ 中“组织”一个地理空间987654325@。但是,由于搜索表单用例的可检索性,我想创建一个唯一的数据库表来处理这些空间对象。

【问题讨论】:

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


    【解决方案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
    

    类似的东西。

    【讨论】:

    • 您能否更明确地说明您将如何声明类和处理数据?
    • 已添加到答案中,希望对您有所帮助。
    • 我想将所有数据存储在一个数据库表中。
    • 我不建议您将所有这些数据仅存储在一个表中,这对您或某人将来维护可能会很乱。
    猜你喜欢
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 2020-03-10
    相关资源
    最近更新 更多