Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django房地产网站PostgreSQL数据库设计_Django_Postgresql_Database Design_Database Relations - Fatal编程技术网

Django房地产网站PostgreSQL数据库设计

Django房地产网站PostgreSQL数据库设计,django,postgresql,database-design,database-relations,Django,Postgresql,Database Design,Database Relations,我在一个房地产网站上工作,正在努力为我的数据库定义一个设计。数据库需要存储属性、属性、属性类别/子类别,并将它们链接在一起。通过在代码中硬编码属性类别/子类别,我可以很容易地解决上述问题,但我希望它更具动态性 现在,我想让categories表具有ID和category title,然后子categories表具有它所属类别的ID、title和ID,这样一个相当基本的manytone关系 我还需要一种更动态的属性方法,这样我就有了一个表,其中有ID、title和subcategory_ID,我将

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

现在,我想让categories表具有ID和category title,然后子categories表具有它所属类别的ID、title和ID,这样一个相当基本的manytone关系

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

说到这里,我遇到了一个问题,我想知道如何为属性建立一个表,以便它存储所有属性及其属性/值对


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

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

  • 实现EAV模型作为关系数据库方案的扩展
  • 使用混合SQL/NoSQL方法(关系表中的JSON/BSON列类型)
第二种方法似乎性能问题较少,但在代码中结合SQL和JQuery可能很难维护。由于已知的性能问题,第一种方法适用于相对较小的数据量(100K-1M对象,最多10个属性)