yurygolikov
@yurygolikov

Как правильно построить архитектуру таблиц в моем случае?

Есть 2 таблицы c разными атрибутами(столбцами).
Нужно (не важно каким способом), чтобы в итоге можно было получить другую таблицу такого типа:
1. Первый атрибут это id первой таблицы. Второй атрибут это id второй таблицы.
2. Id первой и второй таблицы не должны повторятся, те должны быть уникальными. Если записан id '3' первой таблицы, больше его не должно быть.
3. Моя загвоздка: Первый атрибут может быть NULL как и второй может быть NULL. То есть записан, либо только id первой таблицы, либо только второй, либо и первой, и второй.

У меня получается выполнить только либо 1-ое и 2-ое условие или только 1-ое и 3-е.
В первом случае:
Просто создаем промежуточную таблицу с внешними ключами в 1 атрибуте на id первой таблицы и в 2 атрибуте на id второй таблицы. И делаем атрибуты уникальными.
Во втором случае:
Тоже самое только не делаем эти атрибуты первичным ключом и не ставим ограничение уникальности.
Но понятно, что значения получаются не уникальными.

Вообщем надеюсь, что подробно объяснил. Помогите, пожалуйста, как это разрешить?
  • Вопрос задан
  • 385 просмотров
Пригласить эксперта
Ответы на вопрос 2
Чтобы id в разных таблицах не повторялись, нужна третья, общая таблица, в которой будет автоинкрементной поле, связанное с foreign key в двух других
ZSunQiCm50RWNQVueouMEAcbsHYwv0GP2qMENuce

Но я бы подумал над изменением структуры. Такая ситуация нелогична для реляционной БД, и об нее придется постоянно спотыкаться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы