Ответ
Один к одному (1:1)
Каждая запись в таблице А соответствует одной записи в таблице В и наоборот. Например, таблица Users и Passports, где у пользователя только один паспорт.
CREATE TABLE Users (id INT PRIMARY KEY, name VARCHAR(100));
CREATE TABLE Passports (id INT PRIMARY KEY, user_id INT UNIQUE, number VARCHAR(20),
FOREIGN KEY (user_id) REFERENCES Users(id));
Один ко многим (1:N)
Запись в таблице А может ссылаться на несколько записей в таблице В. Например, Departments и Employees, где в отделе работает много сотрудников.
CREATE TABLE Departments (id INT PRIMARY KEY, name VARCHAR(100));
CREATE TABLE Employees (id INT PRIMARY KEY, name VARCHAR(100), department_id INT,
FOREIGN KEY (department_id) REFERENCES Departments(id));
Многие ко многим (N:M)
Записи в таблице А могут ссылаться на несколько записей в таблице В и наоборот. Реализуется через промежуточную таблицу. Например, Students и Courses.
CREATE TABLE Students (id INT PRIMARY KEY, name VARCHAR(100));
CREATE TABLE Courses (id INT PRIMARY KEY, title VARCHAR(100));
CREATE TABLE StudentCourses (student_id INT, course_id INT,
FOREIGN KEY (student_id) REFERENCES Students(id),
FOREIGN KEY (course_id) REFERENCES Courses(id));