Как создать вложенные таблицы на SQL сервере - PullRequest
0 голосов
/ 02 августа 2020

Я не понимаю, как создавать вложенные таблицы. Мой проект о пиве. У меня есть разные кулеры, и каждый вмещает n количество пива. Каждый кулер поставляется с предварительно загруженным пивом, и для каждой пивной ячейки в кулере покупатель может выбрать, какое пиво находится в слоте. Итак, у меня есть таблица для всех моих кулеров и таблица для всех типов пива, которые можно разместить в каждом слоте.

Я могу создать промежуточную таблицу, называемую пивными слотами, с записями slot_id ( PK) и название пива (FK). Но у меня нет способа связать слоты кулера в таблице кулера с идентификатором каждого слота в таблице пивных слотов. Я мог бы добавить 24 колонки для охладителя на 24 слота, но у каждого кулера есть n количество слотов, поэтому мне нужно переменное количество колонок при использовании этого метода. Я также хотел создать столбец с именем Slot_ID в таблице coolers с столбцами, разделенными запятыми, но это глупо.

Мне кажется, что я упускаю что-то очевидное. Такое ощущение, что мне нужно 3д, а не 2д.

1 Ответ

1 голос
/ 02 августа 2020

Вы правы, необходимы 3 таблицы:

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), но это может быть излишним для этого проекта .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...