用于多个查找表的单个外键

时间:2015-03-12 05:59:41

标签: mysql sql relational-database polymorphic-associations

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

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
LogFruitSelection LogId FruitId FruitSelection 1 2 2 1 2 3 2 1 1 2 1 2 2 1 3 2 1 4

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

我很遗憾如何创建一个架构,让我可以使用一个带有单个外键的选择表,该外键将根据另一个列值引用多个查找表。

1 个答案:

答案 0 :(得分: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