如何在sqlserver中创建嵌套表

juud5qan  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(268)

我不懂如何创建嵌套表。我的项目是关于啤酒的。我有不同的冷却器出售,每一个都有容量 n 啤酒的数量。每个冷却器都预装了啤酒,对于冷却器的每个啤酒槽,购买者可以选择哪个啤酒在槽中。所以,我有一张table放所有的冰箱,还有一张table放所有的啤酒,可以放在每个槽里。
我可以做一张中间的table,叫做啤酒槽,上面有条目 slot_id (pk)和啤酒名称(fk)。但是我没有办法将cooler表中的cooler slot引用到beer slots表中每个slot的id。我可以为24槽冷却器添加24列,但每个冷却器都有 n 插槽数,因此我需要使用此方法的可变列数。我还想写一个专栏叫 Slot_IDcoolers 表中有逗号分隔的列,但这很愚蠢。
我觉得我错过了一些明显的东西。感觉我需要的是3d而不是2d。

kpbwa7wx

kpbwa7wx1#

你说得对,需要3张table:

Cooler:
   CoolerID
   CoolerName
   TotalSlots   -- max capacity, some slots may be empty

CoolerBeer:    -- this connects the other tables
   CoolerID
   CoolerSlot   -- this is the slot number in the cooler
   BeerID

Beer:
   BeerID
   BeerName

您可以更进一步,使用4个表(cooler\coolerslot\slotbeer\beer),但是对于这个项目来说,这可能有些过分。

相关问题