分类广告项目规范的数据库设计
Database design for classified ad item specification
我正在开发一个包含 12 个类别的分类广告网站。例如。类别 vehicles
包含项目 cars
、bikes
、Commercial Vehicles
和 spare parts
。以下是发布广告的流程图:
我需要在发布广告时在表单的下拉列表中向用户显示上图Form Filled
部分中的说明。 car
规范将是它的 color
,engine
,fuel type
.
ERD 如下:
应该如何解决这个问题,最佳做法是什么,当前的设计是否正确?
总的来说,这看起来还不错。以下是一些观察结果:
- likes.iker_id 应该指向 users.id?只是想了解您的模型。
- 我可能会将图片 table 更改为每行一张图片,然后添加一个顺序进行排序。
- 这里的一个问题是您打算如何查看图形模型。实际上,您可能有一个可以轻松遍历到一定深度(几深)的图形。我假设您这样做是为了推荐广告。如果是这样,我认为这就足够了。如果不是,最好进一步讨论您的目标 rdbms。
希望对您有所帮助:
在简化的情况下,您将需要一些额外的表格。
所以,您正在尝试能够对您的类别中的不同项目有不同的规格?或者换句话说,就像电子商务网站中不同类型的产品具有不同的属性。
如果这是您要解决的问题,那么您应该查看 Entity–Attribute–Value (EAV) model that is how the problem is solved. By the way, one of the most popular open source e-commerce engines uses it as well。
我同意看看 EAV 模型...
对于其他一些 table,您有许多规范化问题 - 例如:
- 你应该有一个单独的地址 table(不是广告的一部分)
- 你应该有一张图片 table(和 link 那些与另一个 table 的广告)
- 你应该有一个人 table - 并且 link 作为 'owner'
的广告
- 'favorite'的想法也应该在这个person->ad关系table作为角色或类型栏
我正在开发一个包含 12 个类别的分类广告网站。例如。类别 vehicles
包含项目 cars
、bikes
、Commercial Vehicles
和 spare parts
。以下是发布广告的流程图:
我需要在发布广告时在表单的下拉列表中向用户显示上图Form Filled
部分中的说明。 car
规范将是它的 color
,engine
,fuel type
.
ERD 如下:
应该如何解决这个问题,最佳做法是什么,当前的设计是否正确?
总的来说,这看起来还不错。以下是一些观察结果:
- likes.iker_id 应该指向 users.id?只是想了解您的模型。
- 我可能会将图片 table 更改为每行一张图片,然后添加一个顺序进行排序。
- 这里的一个问题是您打算如何查看图形模型。实际上,您可能有一个可以轻松遍历到一定深度(几深)的图形。我假设您这样做是为了推荐广告。如果是这样,我认为这就足够了。如果不是,最好进一步讨论您的目标 rdbms。
希望对您有所帮助:
在简化的情况下,您将需要一些额外的表格。
所以,您正在尝试能够对您的类别中的不同项目有不同的规格?或者换句话说,就像电子商务网站中不同类型的产品具有不同的属性。
如果这是您要解决的问题,那么您应该查看 Entity–Attribute–Value (EAV) model that is how the problem is solved. By the way, one of the most popular open source e-commerce engines uses it as well。
我同意看看 EAV 模型...
对于其他一些 table,您有许多规范化问题 - 例如:
- 你应该有一个单独的地址 table(不是广告的一部分)
- 你应该有一张图片 table(和 link 那些与另一个 table 的广告)
- 你应该有一个人 table - 并且 link 作为 'owner' 的广告
- 'favorite'的想法也应该在这个person->ad关系table作为角色或类型栏