Можешь привести примеры типов связей между таблицами в базе данных SQL?
Ответ от нейросети
sobes.tech AI
В SQL существуют три основных типа связей между таблицами:
-
Один к одному (One-to-One) — каждой записи в первой таблице соответствует ровно одна запись во второй. Например, таблица
Пользователии таблицаПрофили, где у каждого пользователя есть один профиль. -
Один ко многим (One-to-Many) — одной записи в первой таблице соответствует несколько записей во второй. Например, таблица
Авторыи таблицаКниги, где один автор может иметь много книг. -
Многие ко многим (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)
);