Телефонный справочник: 4 таблицы, 3 связи.
CREATE TABLE contacts (
id INT PRIMARY KEY, first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE
);
CREATE TABLE phone_numbers (
id INT PRIMARY KEY,
contact_id INT NOT NULL REFERENCES contacts(id),
type VARCHAR(20) NOT NULL, number VARCHAR(20) NOT NULL
);
CREATE TABLE groups (id INT PRIMARY KEY, name VARCHAR(50) NOT NULL);
CREATE TABLE contact_groups (
contact_id INT NOT NULL REFERENCES contacts(id),
group_id INT NOT NULL REFERENCES groups(id),
PRIMARY KEY (contact_id, group_id)
);
Вставляешь на sqltoerdiagram.com — инструмент разбирает REFERENCES и рисует связи. contact_groups встаёт между contacts и groups как M:N автоматически. Экспорт PNG/SVG.
#tools #sql #devops
