PostgreSQL — это реляционная СУБД?

«PostgreSQL — это реляционная СУБД?» — вопрос из категории Базы данных, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, PostgreSQL — это объектно-реляционная СУБД (ORDBMS). Она основана на реляционной модели и строго следует принципам ACID, обеспечивая целостность данных.

Ключевые реляционные особенности:

  • Поддержка SQL (стандарт ANSI/ISO).
  • Связи между таблицами через внешние ключи (FOREIGN KEY).
  • Транзакции с уровнями изоляции.
  • Индексы (B-tree, Hash, GiST, SP-GiST, GIN, BRIN).
  • Представления (VIEW), хранимые процедуры и триггеры.

Пример создания связанных таблиц:

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL
);

CREATE TABLE orders (
    id SERIAL PRIMARY KEY,
    user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
    amount DECIMAL(10, 2) NOT NULL
);

Помимо классической реляционной модели, PostgreSQL расширяет её, поддерживая JSONB, полнотекстовый поиск, геометрические типы и пользовательские типы данных.