Заметки бизнес-аналитика
Главная › Системный анализ › Данные и SQL

Связи между таблицами базы данных

Конспект статьи. Автор оригинала: Борис Махлин (Bob_1)

Объяснение связей в реляционных БД для начинающих, с примерами на T-SQL.

Как организуются связи

Через внешние ключи — атрибуты, ссылающиеся на первичный ключ или unique-ограничение другой таблицы.

Многие ко многим

Сотрудники и должности: таблица-посредник с двумя внешними ключами и составным первичным ключом.

Один ко многим

Пользователь и его телефоны: таблица телефонов хранит внешний ключ на владельца, посредник не нужен.

Один к одному

Признак инвалидности вынесен в отдельную таблицу, чтобы не держать почти всегда пустой столбец. На внешний ключ накладывается UNIQUE. По сути это разделение одной таблицы на две.

Обязательность

  • Связь может быть обязательной с одной стороны и необязательной с другой: у ребёнка обязательно есть мать, у женщины дети могут отсутствовать.
  • Многие ко многим всегда необязательна с обеих сторон.
CREATE TABLE DisabledEmployee (
  DisabledPersonId INT PRIMARY KEY,
  EmployeeId INT UNIQUE REFERENCES Employee(EmployeeId)
);

Упражнения: фильмы и жанры, песни и исполнители, автомобили с производителями и цветами.

Источник: Связи между таблицами базы данных
Автор: Борис Махлин (Bob_1)
Это конспект, пересказ основных идей. Полный текст, иллюстрации и примеры читайте в оригинальной статье.