【问题标题】:Single Foreign Key for multiple look up tables用于多个查找表的单个外键
【发布时间】:2015-03-12 05:59:40
【问题描述】:

我正在构建一个简单的应用程序,它将记录表单中的多个小部件选择(本示例中的下拉列表和多选)并将其保存在小型数据库的日志表中。

http://i.stack.imgur.com/THpfs.png

此模式表示从下拉列表中选择一个水果,以及从多选中选择 1-n 个水果类型:

水果 FruitId Name 1 Apple 2 Orange 3 Melon

橙色 OrangeId Name PLU1 PLU2 1 Navel 123 321 2 Blood 213 412 3 Cara 512 433
原木水果选择 LogId FruitId FruitSelection 1 2 2 1 2 3 2 1 1 2 1 2 2 1 3 2 1 4

用户只能选择一种水果,这将使他们可以选择多种水果,每次提交一种水果。选择将保存在选择表中,该表将引用 LogId、FruitId 和引用查找表的 SelectionId。

我不知道如何创建一个架构,让我可以使用具有单个外键的选择表,该外键将基于另一个列值引用多个查找表。

【问题讨论】:

  • 你想做什么?
  • 请提出具体问题。
  • 将橙色表重命名为水果类型,并添加一个引用水果表的列fruit_id。

标签: mysql sql relational-database polymorphic-associations


【解决方案1】:

希望这是你想要的

水果

 FruitId     Name
    1           Apple
    2           Orange
    3           Melon

水果类型

 TypeId     Name     PLU1     PLU2  FruitId
 1            Navel    123      321  2
 2            Blood    213      412  2
 3            Cara     512      433  2

LogFruitSelection

 LogId     FruitId     FruitSelection
 1         2           2
 1         2           3
 2         1           1
 2         1           2
 2         1           3
 2         1           4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    相关资源
    最近更新 更多