数据库关系多对多

时间:2009-09-24 18:29:28

标签: database many-to-many relational

alt text http://produits-lemieux.com/database.jpg

这基本上是我的数据库结构

一种产品(比如肥皂)将有许多零售销售规模

  • 1升
  • 4升
  • 20升

在我的“produit”数据库中,我将获得soap项目(id#1) 在大小数据库中,我将有许多可用的大小:

  • 1升
  • 4升
  • 20升

如何以不同的尺寸复制产品3次...我希望能够在数据库中提供所有可用尺寸的产品尺寸的复选框,并检查是或否(布尔值)


答案是完美的,但如何选择这样的选项:

肥皂[x] 1升,[] 4升,[x] 20升

4 个答案:

答案 0 :(得分:4)

我不确定我是否了解您的具体情况,但要创建多对多关系,您只需创建一个“关系表”,您可以在其中存储要链接的两个记录的ID。

示例:

Products
********
ProductID (PK)
Price

Retailers
*********
RetailerID (PK)
Name

ProductRetailerRelationships
****************************
ProductID
RetailerID

答案 1 :(得分:0)

多对多关系几乎总是使用中间表建模。对于你的例子,

Product
--------
prod_numero
...

Size
--------
size_numero
...

Product_Size
--------
prod_numero
size_numero
...

Size表格包含特定尺寸(例如10升),Product_Size表格会生成ProductSize配对。

答案 2 :(得分:0)

您需要一个中介或“加入”表

ProductSizes
.......................
产品ID
SizeID

每种产品尺寸组合的一条记录

答案 3 :(得分:0)

根据答案,这里是建议的数据库表格布局,对我来说看起来很复杂,但你确定这是最好的解决方案吗?

alt text http://produits-lemieux.com/database2.jpg