【问题标题】:PostgreSQL database design for Django real estate websiteDjango房地产网站的PostgreSQL数据库设计
【发布时间】:2019-11-30 12:02:27
【问题描述】:

我正在开发一个房地产网站,并且正在努力为我的数据库定义设计。数据库需要存储属性、属性、属性类别/子类别,并将它们链接在一起。我可以通过在代码中硬编码属性类别/子类别来轻松解决上述问题,但希望它更加动态。

现在,我希望有一个包含 ID 和类别标题的类别表,然后是包含它所属类别的 ID、标题和 ID 的子类别表,所以这是一个相当基本的多单关系。

我还需要一种更动态的属性方法,这样我就有一个表,其中包含 ID、标题和 subcategory_id,我将在其中限制属性,以便它们只能用于某些子类别中的属性。

话虽如此,我在弄清楚如何为属性创建一个表以存储所有属性及其属性/值对时遇到了问题。

注意:我在 Django 中执行此操作。

【问题讨论】:

    标签: django postgresql database-design database-relations


    【解决方案1】:

    PostgreSQL 至少有两种实现动态属性的可能性:

    • 实现 EAV 模型作为关系数据库方案的扩展
    • 使用混合 SQL/NoSQL 方法(关系表中的 JSON/BSON 列类型)

    第二种方法的性能问题似乎较少,但在代码中结合 SQL 和 JQuery-like 可能难以维护。由于已知的性能问题,第一种方法适用于相对较小的数据量(100K-1M 对象,最多 10 个属性)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-01
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 2015-01-25
      • 1970-01-01
      相关资源
      最近更新 更多