相关疑难解决方法(0)

如何设计数据库来存储属性,通过同义词选择属性

我正在设计一个房地产应用程序的数据库.它被证明比我预期的更多参与(也许我过度复杂的事情).

问题主要是由于存在:

  • 同义词例如术语:flat,apartment和penthouse可能都是基本上相同类型的属性
  • 属性(不同的属性类型具有不同的属性)例如,公寓可以是底层或顶层等

我最终得到了一个针对不同属性类型的相当(无意)精心设计的分类树.树节点是属性类型的实际实例.

我想创建一个数据库,这样我不仅可以查询任何同义词,还可以查询属性.

例如,查询(在伪SQL中):

SELECT*from properties where synonym ="flat"and attribute IN('ground floor','garden');

应该返回公寓列表,这些公寓位于一楼并且有一个花园.

有人可以帮助我如何设计数据库模式,以便允许上述的查询类型?

最后但并非最不重要的是,我将使用MySQl或PostgreSQL作为后端数据库,但更喜欢这种方法与数据库无关 - 如果可能的话.

database-design

9
推荐指数
2
解决办法
1万
查看次数

产品属性的数据库模式

我想在类别中实现产品过滤,我对正确的数据库模式有疑问.现在我有以下表格:

分类:

1. id
2. category
3. description
Run Code Online (Sandbox Code Playgroud)

产品:

1. id
2. category_id
3. product
4. image
5. price
Run Code Online (Sandbox Code Playgroud)

属性:

1. id
2. attribute
Run Code Online (Sandbox Code Playgroud)

Category_Attributes:

1. category_id
2. attribute_id
Run Code Online (Sandbox Code Playgroud)

我的问题是我应该创建哪些表以及他们必须存储哪些列来存储不同类型的值,属性值,产品属性值等.

创建3个表是否正常:

价值观:

1. id
2. value
Run Code Online (Sandbox Code Playgroud)

Attributes_Values:

1. attribute_id
2. value_id
Run Code Online (Sandbox Code Playgroud)

Products_Attributes_Values:

1. product_id
2. attribute_id
3. value_id
Run Code Online (Sandbox Code Playgroud)

我在最后几桌搞砸了.存储和过滤哪个更好?

mysql database-design

6
推荐指数
1
解决办法
4370
查看次数

标签 统计

database-design ×2

mysql ×1