Sobes.tech
Назад к вопросам
Junior — Middle
70

Какие существуют виды связей между таблицами в реляционной базе данных?

Ответ от нейросети

sobes.tech AI

В реляционных базах данных существуют три основных вида связей между таблицами:

  1. Один к одному (1:1) — каждой записи в первой таблице соответствует ровно одна запись во второй таблице и наоборот. Используется, например, для разделения данных на логические части.

  2. Один ко многим (1:N) — одной записи в первой таблице соответствует множество записей во второй. Например, один заказчик может иметь много заказов.

  3. Многие ко многим (M:N) — записи в первой таблице могут соответствовать множеству записей во второй и наоборот. Для реализации такой связи обычно создаётся промежуточная таблица (связующая), которая содержит внешние ключи на обе таблицы.

Пример связи "многие ко многим":

-- Таблица студентов
CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(100)
);

-- Таблица курсов
CREATE TABLE Courses (
    CourseID INT PRIMARY KEY,
    Title VARCHAR(100)
);

-- Промежуточная таблица для связи многие ко многим
CREATE TABLE StudentCourses (
    StudentID INT,
    CourseID INT,
    PRIMARY KEY (StudentID, CourseID),
    FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
    FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);