是否可以将表链接到使用外键链接回第一个表的表?

肖恩

我现在在玩 MySQL,学习有关数据库设计的知识,并想知道我在 Google 中找不到答案的问题。

想象一个名为“products”的表,主键为“id”,另外两个列名为“name”和“primary_image_id”,其中“primary_image_id”是链接到第二个表的外键。

第二个表被命名为“product_images”,主键也是“id”,另外两个列这次称为“path”(图像路径)和“product_id”。“product_id”当然是链接回第一个表的外键。

+----+-----------+------------------+
| id |   name    | primary_image_id |
+----+-----------+------------------+
| 1  | product_A |         3        |
+----+-----------+------------------+
| 2  | product_B |         6        |
+----+-----------+------------------+

+----+-----------+------------------+
| id |   path    |    product_id    |
+----+-----------+------------------+
| 1  | /image_01 |         2        |
+----+-----------+------------------+
| 2  | /image_02 |         1        |
+----+-----------+------------------+
| 3  | /image_03 |         1        |
+----+-----------+------------------+
| 4  | /image_04 |         1        |
+----+-----------+------------------+
| 5  | /image_05 |         2        |
+----+-----------+------------------+
| 6  | /image_06 |         2        |
+----+-----------+------------------+

这个想法是有一个包含所有产品图像的表格,而每个产品只有一个图像是预览图像(主图像)。这种类型的外键链接甚至可能吗?如果是,它是好的数据库设计还是我应该使用其他方法?

先感谢您!

G. 皮莱

这是一个有效的用例,如果您的目的只是使用外键读取数据,例如“获取产品 ID 1 的所有图像路径”或“获取产品 ID 1 的主要图像”或“获取所有路径”,则表设计看起来不错主要图像”。

如果对删除/更新事件有级联依赖,人们往往会避免表中的外键引用循环。您需要回答诸如“如果删除产品 1 会怎样处理图像 2、3、4”或“如果删除图像 3 会怎样处理产品 1”之类的问题。

答案将帮助您设计出满足您要求的设计

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server:从第一个表链接到第二个表的主键的多个外键

来自分类Dev

SQL Server:从第一个表链接到第二个表的主键的多个外键

来自分类Dev

如何使用联接将值从一个表链接到另一个表

来自分类Dev

规范化数据库是否可以有2个链接表,将2个其他表链接到另一个表中的一个主键?

来自分类Dev

规范化数据库是否可以有2个链接表,将2个其他表链接到另一个表中的单个主键?

来自分类Dev

第一个表中的外键

来自分类Dev

从链接到许多表的另一个表中的主键获取外键字段

来自分类Dev

PostgreSQL如何使所有表链接到另一个表?

来自分类Dev

将Qst链接到Python中要求用户使用的第一个Qst

来自分类Dev

如何描述将一个表与2个表链接的数据库结构?

来自分类Dev

获取表链接中两个表之间的最后一个链接,该链接使用SQL保存操作

来自分类Dev

使用外键批量插入嵌套的xml作为第一个表的标识列

来自分类Dev

是否可以使用 Dapper 执行一个链接到 2 个数据库上的表的查询?

来自分类Dev

如何在链接到一个主键的数据透视表上创建两个外键

来自分类Dev

一个表中的一个主键链接到两个不同表中的两个外键?

来自分类Dev

第一个锚点链接到#

来自分类Dev

将地址表链接到其他多个表

来自分类Dev

将地址表链接到其他多个表

来自分类Dev

创建指向同一工作簿中另一个工作表的超链接到第一个非空白单元格

来自分类Dev

Mysql在两个表中插入其中第一个表具有外键并更新第一个表

来自分类Dev

删除EF代码第一个外键表列中的表名前缀

来自分类Dev

EF代码第一个外键相同的表

来自分类Dev

如何将多个表链接到一个查询中

来自分类Dev

如何将多个表链接到一个查询中

来自分类Dev

将单元格信息从工作表链接到另一个

来自分类Dev

如何使一个发现表链接到仪表板或其他地方的另一个发现表?

来自分类Dev

C#代码第一个外键。外键引用带有引用的表中的无效列

来自分类Dev

当第一个表中的一个记录链接到第二个表中的多个记录时,从表中选择性地检索数据

来自分类Dev

如果一个或多个表中可能缺少该键,您是否可以将三个表联接到同一键上?

Related 相关文章

  1. 1

    SQL Server:从第一个表链接到第二个表的主键的多个外键

  2. 2

    SQL Server:从第一个表链接到第二个表的主键的多个外键

  3. 3

    如何使用联接将值从一个表链接到另一个表

  4. 4

    规范化数据库是否可以有2个链接表,将2个其他表链接到另一个表中的一个主键?

  5. 5

    规范化数据库是否可以有2个链接表,将2个其他表链接到另一个表中的单个主键?

  6. 6

    第一个表中的外键

  7. 7

    从链接到许多表的另一个表中的主键获取外键字段

  8. 8

    PostgreSQL如何使所有表链接到另一个表?

  9. 9

    将Qst链接到Python中要求用户使用的第一个Qst

  10. 10

    如何描述将一个表与2个表链接的数据库结构?

  11. 11

    获取表链接中两个表之间的最后一个链接,该链接使用SQL保存操作

  12. 12

    使用外键批量插入嵌套的xml作为第一个表的标识列

  13. 13

    是否可以使用 Dapper 执行一个链接到 2 个数据库上的表的查询?

  14. 14

    如何在链接到一个主键的数据透视表上创建两个外键

  15. 15

    一个表中的一个主键链接到两个不同表中的两个外键?

  16. 16

    第一个锚点链接到#

  17. 17

    将地址表链接到其他多个表

  18. 18

    将地址表链接到其他多个表

  19. 19

    创建指向同一工作簿中另一个工作表的超链接到第一个非空白单元格

  20. 20

    Mysql在两个表中插入其中第一个表具有外键并更新第一个表

  21. 21

    删除EF代码第一个外键表列中的表名前缀

  22. 22

    EF代码第一个外键相同的表

  23. 23

    如何将多个表链接到一个查询中

  24. 24

    如何将多个表链接到一个查询中

  25. 25

    将单元格信息从工作表链接到另一个

  26. 26

    如何使一个发现表链接到仪表板或其他地方的另一个发现表?

  27. 27

    C#代码第一个外键。外键引用带有引用的表中的无效列

  28. 28

    当第一个表中的一个记录链接到第二个表中的多个记录时,从表中选择性地检索数据

  29. 29

    如果一个或多个表中可能缺少该键,您是否可以将三个表联接到同一键上?

热门标签

归档