Как установить связь между таблицами в MySQL в этой сложной ситуации?

mysql database-design relationship

128 просмотра

1 ответ

61 Репутация автора

Есть таблица A, которая содержит данные, которые относятся к «записи одной из трех других таблиц (B, C, D)». Как я могу установить связь между ними? Самый простой способ - это определить столбец 'reference_id' для ссылки на id (записи) и таблицу столбцов, которая ссылается на одну из этих трех таблиц, и подключиться к целевой записи с помощью «если условия», но я думаю, что должно быть лучший способ справиться с этой ситуацией.

изображение столов

Автор: pemi Источник Размещён: 19.07.2016 07:50

Ответы (1)


1 плюс

103 Репутация автора

Есть три решения этой проблемы.

Тот, который вы уже упоминали, используя справочный столбец.
Второе решение состоит в том, чтобы сделать это на уровне приложения, как упоминал Роман.
Другой должен иметь три столбца в таблице A, каждый из которых по ( B, C, D). Когда он ссылается на запись в таблице B, заполните b_idстолбец и установите c_idи d_idравным нулю. Таким образом, вы также можете использовать внешние ключи.

Автор: A. Kalantari Размещён: 19.07.2016 09:16
Вопросы из категории :
32x32