首页 文章

数据库设计关系 - 产品,类别,属性

提问于
浏览
-2

我有2张 table :

  • 个产品(id,name,category_id)

  • 个类别(id,name)

我想在产品属性中添加第三个属性,但属性是按类别指定的 . 那会是这样的吗?

  • 属性(id,name)

  • attribute_product(attribute_id,product_id,value)

  • attribute_category(attribute_id,category_id)

2 回答

  • 0

    根据您的问题做出的假设:

    • a产品可以只有1个类别

    • 你说的属性是按类别指定的

    因此,将属性链接到类别 . 类别X的产品将自动继承属性 .

    enter image description here

    但是,这会强制值和属性 . 因此,所有产品都具有相同的属性值(例如,Cagetory Clothes中的所有产品都是相同的颜色!)因此,您希望属性值在同一类别中与产品不同:

    enter image description here

    这样,属性的名称(如果需要,它就存在)链接到一个类别,并且该值链接到一个对象 . 我假设您希望每个对象有多个属性,每个属性需要1个类别 .

    例如:

    • 类别:衣服

    • 产品:衬衫

    • Clotes的属性:大小和颜色

    • 属性值:L和蓝色

    所以,这一切都说你最初的想法很好(!) .

  • 1

    你有3个“实体”(到目前为止) - 产品,类别,属性 . 这些是表格 .

    基本上有两个"relationships"你可以:"one-to-many"和"many-to-many" . 前者只需要一个表中的 id 链接到另一个表 . 后者需要一对带有 ids 对的额外表 .

    确定实体之间的关系 .

    任务完成 .

相关问题