Sobes.tech
Back to questions
Junior — Middle
67

Можешь перечислить типы связей, существующие между таблицами в базе данных?

Companies where asked
Титул-2005

Answer from AI

sobes.tech AI

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

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

  2. Один ко многим (One-to-Many) — одной записи в первой таблице соответствует множество записей во второй. Например, один пользователь может иметь много заказов.

  3. Многие ко многим (Many-to-Many) — записи в первой таблице могут соответствовать множеству записей во второй и наоборот. Реализуется через промежуточную таблицу-связку, которая содержит внешние ключи обеих таблиц.

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

-- Таблица студентов
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)
);

Эти типы связей лежат в основе реляционного моделирования данных.