В настоящее время я работаю с базой данных для приложения для социальных сетей. База данных работает на postgresql, и я столкнулся с логической проблемой.
У меня есть два разных типа контента, которые можно отправлять: темы и посты. Каждый из них со своим первичным ключом.
Ко всем этим элементам могут быть прикреплены некоторые носители. В моей медиа-таблице есть столбцы content_type_id и content_id, где тип контента — это ключ в таблице поиска с различными типами контента, а content_id — это первичный ключ в таблице, где хранится этот конкретный фрагмент контента.
Проблема, с которой я столкнулся, заключается в том, что я не могу создать внешний ключ для content_id, потому что в зависимости от content_type он может ссылаться на одну из двух таблиц. Есть ли способ настроить внешний ключ для просмотра правильной таблицы в зависимости от значения столбца content_type_id?
CONTENT_TYPE
, чтобы сделать это. Вы можете использовать логическое значение или, лучше, целое число, чтобы в будущем иметь возможность увеличивать количество типов контента (1 для темы, 0 для сообщения). 24.01.2014