Как на физическом уровне реализовать связь один-к-одному между двумя таблицами?

Связь один-к-одному между двумя таблицами на физическом уровне реализуется несколькими способами:

Короткий ответ

Что ответить на собеседовании

Связь один-к-одному между двумя таблицами на физическом уровне реализуется несколькими способами:

Подробный разбор

Ответ с пояснениями

Связь один-к-одному между двумя таблицами на физическом уровне реализуется несколькими способами:

  1. Общий первичный ключ — обе таблицы имеют одинаковое значение первичного ключа, при этом в одной из таблиц этот ключ одновременно является и внешним ключом на другую таблицу.
  2. Уникальный внешний ключ — в одной таблице создаётся внешний ключ на другую таблицу с ограничением UNIQUE, чтобы гарантировать, что каждой записи соответствует не более одной записи в связанной таблице.

Пример с общим первичным ключом:

CREATE TABLE Person (
    PersonID INT PRIMARY KEY,
    Name VARCHAR(100)
);

CREATE TABLE Passport (
    PersonID INT PRIMARY KEY,
    PassportNumber VARCHAR(50),
    FOREIGN KEY (PersonID) REFERENCES Person(PersonID)
);

Здесь для каждой записи в Person может быть не более одной записи в Passport, и наоборот.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее