Есть ли опыт описания модели данных

«Есть ли опыт описания модели данных» — вопрос из категории Базы данных, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, есть опыт описания моделей данных как реляционных (ER-диаграммы, SQL DDL), так и NoSQL (документные, графовые). Работал с инструментами: ERwin, Lucidchart, dbdiagram.io.

Пример DDL для PostgreSQL:

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(50) UNIQUE NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    created_at TIMESTAMP DEFAULT NOW()
);

CREATE TABLE orders (
    id SERIAL PRIMARY KEY,
    user_id INTEGER REFERENCES users(id),
    amount DECIMAL(10, 2),
    status VARCHAR(20) CHECK (status IN ('pending', 'completed', 'cancelled'))
);

Для документных СУБД (MongoDB) использовал JSON Schema. Важно учитывать нормализацию/денормализацию в зависимости от сценариев чтения/записи.