Как лучше организовать работу с 3 таблицами?

Есть 3 таблицы - Адреса, Люди, Документы, хранящие записи адресов, людей и документов (ваш КО).
У каждой таблицы есть уникальное поле (ключ) и другие, свои поля.

Логика таблиц такая:
Каждому адресу, может соответствовать один или несколько человек.
Каждому адресу, может соответствовать один или несколько документов.
Проще говоря:
по адресу Ленина проживает Иванов
по адресу Жукова проживает Петров
по адресу Жукова проживает Башкиров
//
по адресу Ленина находится документ 1
по адресу Жукова находится документ 2
по адресу Жукова находится документ 3

Аналогично и с людьми и документами.
Иванов проживает по адресу Ленина (уже было выше)
Иванову принадлежит документ 1.
и т.д.
Каждому объекту (Адресу, человеку, документу) может принадлежать один или несколько других объектов.

Вопрос такой - как лучше организовать работу с такими 3 таблицами? Выборки и т.д.
Например: вывести всех людей, которым принадлежат документ 1 и документ 2.

Только join? Или есть смысл создавать промежуточною таблицу?
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fernus
@Fernus
Техник - Механик :)
Основные таблицы:
- users;
- documents;
- addresses.

Связные таблицы:
- user_address (user_id, address_id);
- user_document (user_id, document_id);
- document_address (document_id, address_id).

Запросы строить с помощью JOIN...самый классический вариант...

UPD:
...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы