Django房地产网站的PostgreSQL数据库设计
PostgreSQL database design for Django real estate website
我在一个房地产网站上工作,正在努力为我的数据库定义设计。数据库需要存储属性,属性,属性 category/subcategory,并将它们链接在一起。我可以通过 hard-coding 属性 categories/subcategories 在代码中轻松解决上述问题,但希望它更动态。
现在,我想要类别 table 具有 ID 和类别标题,然后子类别 table 具有 ID、标题和所属类别的 ID,这样一个相当基本的多对一关系。
我还需要一种更动态的属性方法,因此我有一个 table,带有 ID、标题和 subcategory_id,我将在其中限制属性,以便它们只能被使用对于某些子类别中的属性。
话虽如此,我在弄清楚如何为属性形成 table 以便它存储所有属性及其 attribute/value 对时遇到问题。
注意:我在 Django 中这样做。
PostgreSQL至少有两种可能实现动态属性:
- 实施 EAV 模型作为关系数据库方案的扩展
- 使用混合 SQL/NoSQL 方法(JSON/BSON 关系中的列类型 table)
第二种方法似乎性能问题较少,但在代码中组合 SQL 和 JQuery-like 可能难以维护。由于已知的性能问题,第一种方法适用于相对较小的数据量(100K-1M 对象,最多 10 个属性)。
我在一个房地产网站上工作,正在努力为我的数据库定义设计。数据库需要存储属性,属性,属性 category/subcategory,并将它们链接在一起。我可以通过 hard-coding 属性 categories/subcategories 在代码中轻松解决上述问题,但希望它更动态。
现在,我想要类别 table 具有 ID 和类别标题,然后子类别 table 具有 ID、标题和所属类别的 ID,这样一个相当基本的多对一关系。
我还需要一种更动态的属性方法,因此我有一个 table,带有 ID、标题和 subcategory_id,我将在其中限制属性,以便它们只能被使用对于某些子类别中的属性。
话虽如此,我在弄清楚如何为属性形成 table 以便它存储所有属性及其 attribute/value 对时遇到问题。
注意:我在 Django 中这样做。
PostgreSQL至少有两种可能实现动态属性:
- 实施 EAV 模型作为关系数据库方案的扩展
- 使用混合 SQL/NoSQL 方法(JSON/BSON 关系中的列类型 table)
第二种方法似乎性能问题较少,但在代码中组合 SQL 和 JQuery-like 可能难以维护。由于已知的性能问题,第一种方法适用于相对较小的数据量(100K-1M 对象,最多 10 个属性)。