@ArtemITS
programmer developer

Связь между таблицами (Главный-Подчиненный). Как правильно связать?

При проектировании БД, по какому принципу выбирается главная-таблица и подчиненная-таблица?
Например, устанавливаем связь таблиц: Автомобиль <-> Водитель. У кого будет первичный ключ, а у кого вторичный?
  • Вопрос задан
  • 505 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Таблицы "водитель" и "автомобиль", скорее всего, имеют связь многие-ко-многим, задаваемую через промежуточную таблицу.
А вообще, в базе данных нет "главных" и "подчинённых" таблиц, есть связи между таблицами.
Например, таблицы "квартиры" и "люди".
квартиры <=владелец=> люди
квартиры ==ответственный квартиросъёмщик=> люди
квартиры <=регистрация== люди
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
usdglander
@usdglander
Yipee-ki-yay
Если у водителя может быть несколько автомобилей, то в таблицу Автомобили добавляем поле dirver_id.
Если у водителя может быть только один автомобиль. то в таблицу Водители добавляем поле car_id.
Если у водителя может быть много автомобилей, а у автомобиля может быть много водителей, то создаём таблицу Автомобили_Водители в которой будут два поля car_id и driver_id.

Это я вам так, на примере, постарался рассказать о видах связей. Всё зависит от конкретной задачи.
Ответ написан
Комментировать
irishmann
@irishmann
Научись пользоваться дебаггером
Смотря как вы захотите.
Можете создать связь один ко многим или один к одному, назначив главной таблицу Водитель, в ней указать вторичным ключом первичный ключ таблицы Автомобиль. Или наоборот, Автомобиль главная таблица, связь один ко многим или один к одному, вторичным ключом первичный ключ таблицы Водитель.
Можно создать третью таблицу, со своим первичным ключом, связь многие ко многим, хранить в качестве вторичных ключей первичные ключи таблиц Водительи Автомобиль.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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