Назад к вопросам
Junior
67
questionbank

Какие типы отношений существуют в базе данных?

Sobes Copilot

Получайте ответы в реальном времени

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

sobes.tech AI

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

  1. Один к одному (One-to-One) Каждая запись в одной таблице связана только с одной записью в другой таблице. Пример: Связь между таблицами User и UserProfile, где каждый пользователь имеет только один профиль.

  2. Один ко многим (One-to-Many) Одна запись в одной таблице может быть связана с несколькими записями в другой таблице. Пример: Связь между таблицами Author и Book, где один автор может написать несколько книг.

  3. Многие ко многим (Many-to-Many) Несколько записей в одной таблице могут быть связаны с несколькими записями в другой таблице. Реализуется через промежуточную (связующую) таблицу. Пример: Связь между таблицами Student и Course, где один студент может посещать несколько курсов, и один курс может посещать несколько студентов. Промежуточная таблица может называться StudentCourse.

-- Пример схемы для Many-to-Many
CREATE TABLE Student (
    student_id INT PRIMARY KEY,
    name VARCHAR(255)
);

CREATE TABLE Course (
    course_id INT PRIMARY KEY,
    title VARCHAR(255)
);

CREATE TABLE StudentCourse (
    student_id INT,
    course_id INT,
    PRIMARY KEY (student_id, course_id),
    FOREIGN KEY (student_id) REFERENCES Student(student_id),
    FOREIGN KEY (course_id) REFERENCES Course(course_id)
);