php - 多类别/产品关系的数据库模式

标签 php mysql database-design

我想为具有类别/子类别管理功能的电子商务应用程序设计一个数据库。请建议一个数据库架构,我们可以在其中创建类别和子类别并将产品添加到这些类别。 每个产品可以有多个类别,我们可以使用 bool 数据库查询来选择属于多个类别的产品

谢谢

最佳答案

对于任何级别的类别和子类别,以及属于多个类别的产品,我将从:

Categories:
    category_id
    parent_category_id foreign key (Categories.category_id)
    ... other category information ...
    primary key (category_id)
Products:
    product_id
    ... other product information ...
    primary key (product_id_id)
ProductCategories:
    product_id foreign key (Products.product_id)
    category_id foreign key (Categories.category_id)
    primary key (category_id,product_id)
    index (product_id)

通过这种方式,您可以实现类别层次结构的目标,并实现产品和类别之间的多对多关系。


您可以使用如下查询选择属于多个类别(例如 3 和 4)的产品 ID:

select a.product_id
from Products a, Products b
where a.product_id  = b.product_id
  and a.category_id = 3
  and b.category_id = 4

关于php - 多类别/产品关系的数据库模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2662749/

相关文章:

mysql - 使用som批量更改mysql中的数据

mysql - 将图像存储在数据库中的缺点?

php - 如果 isset $_SESSION 转到此页面?

Php 计划在 10 分钟后运行一个函数

php - 在 Javascript 中隐藏和显示文本框

php - 如何在mysql和laravel中实现树状结构

mysql - 如何避免多次支付同一元素

javascript - JS - 使用 Ajax 获取文件名

mysql - 如何在数据库中搜索子字符串?

sql - 用户事件的数据库结构是否正确?