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

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

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

sobes.tech AI

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

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

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

  3. Многие ко многим (Many-to-Many) — записи в обеих таблицах могут соответствовать множеству записей в другой таблице. Для реализации обычно используется промежуточная таблица. Например, таблицы Студенты и Курсы, где студент может посещать несколько курсов, а курс может иметь много студентов.

Пример связи "многие ко многим" с промежуточной таблицей:

CREATE TABLE Students (
    student_id INT PRIMARY KEY,
    name VARCHAR(100)
);

CREATE TABLE Courses (
    course_id INT PRIMARY KEY,
    title VARCHAR(100)
);

CREATE TABLE StudentCourses (
    student_id INT,
    course_id INT,
    PRIMARY KEY (student_id, course_id),
    FOREIGN KEY (student_id) REFERENCES Students(student_id),
    FOREIGN KEY (course_id) REFERENCES Courses(course_id)
);