у меня 3 стола
1) Photos (PhotoId,Title, CreatedById,etc...)
2) Stories (StotyId,StoryDesc,CoverPhotoId,CreatedById,etc...)
3) Groups (GroupId,GroupDesc,CreatedById)
Теперь я хочу создать таблицу, в которой я могу хранить содержимое группы. Каждая группа может иметь 1 или более фотографий и историй. Как я буду хранить это? Если я использую только таблицу, как это
GroupContents (Id,GroupId,ItemId,ItemType)
Где я буду хранить StoryId или PhotoId в столбце ItemId и хранить либо «Story», либо «Photo» в столбце ItemType.
Когда я пишу запрос для получения содержимого группы, должен ли я добавить условное соединение? то есть; Если ItemType имеет тип «История», таблица «Соединение из истории», или «Таблица объединения из фотографии»? Поскольку в обеих таблицах существует один и тот же идентификатор истории и PhotoId в виде столбца Identity
Как лучше всего справиться с этим сценарием? Должен ли я создать 2 отдельные таблицы, такие как GroupPhotos(GroupId,PhotoId)
и GroupStories(GroupId,StoryId)
?