Я собираю базу данных, которая будет содержать информацию о различных медиа-материалах разных типов медиа. Каждый элемент медиа может затем быть добавлен к коллекции средств массовой информации, которые затем могут быть использованы для создания медиа ползунки, галерея и т.д.Media Gallery MySql Database Design
Вот пример дб
media_types
-----------
id code title
1 images Images
2 videos Videos
3 files Files
gallery_items
-------------
id gallery_id mediaTypeId mediaId
1 1 1 2
2 1 3 1
3 1 2 3
images
------
id title filename
1 X-Wing xwing.png
2 Tie Fighter tie.png
3 A-Wing awing.jpg
videos
------
id title filename
1 Hoth iceplanet.wmv
2 Bespin bespin.ogg
3 Tatooine desert.mpeg
files
-----
id title filename
1 Death Star Plans bothanx.pdf
2 Millenium Falcon Schematics yt1300.pdf
3 Rebel Alliance manifesto.doc
Я хотел бы иметь возможность выбрать все элементы в частности галерея с одним заявлением MySql, но в настоящее время, я могу работать только как выполнить это в два этапа:
1) Выбрать все элементы из таблицы gallery_items с определенным галерея ID
2) Выберите детали товара от t он соответствует таблице типов СМИ, анализируя mediaTypeId
В примере, который я приводил, таблицы типов мультимедиа очень просты, разделяя одни и те же столбцы, но на самом деле они будут иметь разные количества столбцов и разных столбцов. Базовая инструкция объединения на mediaId не будет работать, так как каждая таблица типов носителей может использовать один и тот же идентификатор.
Я думал об использовании уникального mediaId для всех типов носителей, но это обеспечило бы абсолютную взаимосвязь между таблицей gallery_items и таблицами типов носителей, которые я бы хотел избежать (не все элементы в таблицах типов носителей будут в конечном итоге в медиа-коллекции). Возможно, решение было бы создать другую таблицу media_items, которая создала уникальный идентификатор для каждого из них, который затем будет использоваться в каждой таблице типов носителей? Я, однако, устал от ненужного распространения таблиц.
Любые предложения о том, как наилучшим образом подходить к этому дизайну, будут оценены наиболее высоко.