Ответ
Да, 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, полнотекстовый поиск, геометрические типы и пользовательские типы данных.
Ответ 18+ 🔞
Да ты посмотри, какая штука-то интересная, ёпта! PostgreSQL — это ж не просто какая-то там реляционная база, а объектно-реляционная, понимаешь? ORDBMS, блядь. Всё как у взрослых: основа — реляционная модель, и ACID она соблюдает так, что мама не горюй, целостность данных — просто пиздец какая.
Ну, а если по-простому, что она умеет, эта зверюга:
- SQL, блядь, самый что ни на есть стандартный, ANSI/ISO. Не какая-то своя поебота.
- Связи между таблицами — через внешние ключи (FOREIGN KEY). Одна таблица на другую ссылается, как будто говорит: «Ты, сука, без меня нихуя не делай».
- Транзакции, блядь, с разными уровнями изоляции. Можно всё красиво завернуть и откатить, если что-то пошло не так, ебать мои старые костыли.
- Индексы — овердохуища разных видов: B-tree, Hash, GiST и прочие страшные аббревиатуры. Чтобы всё летало, а не ползало.
- Представления, процедуры, триггеры — в общем, полный комплект для серьёзных дел.
Вот, смотри, как это выглядит в коде, простейший пример:
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
);
Видишь? Создали таблицу users. Потом orders. И в заказах user_id ссылается на users(id). ON DELETE CASCADE — это вообще магия, блядь: удалишь пользователя — и все его заказы нахуй автоматом посыпятся. Красота!
А самое-то, блядь, вкусное — это то, что она не застряла в каменном веке. Помимо этих всех табличек и связей, она ещё и JSONB жрёт, и полнотекстовый поиск делает, и геометрические фигуры считает, и свои типы данных можно придумать, если фантазия работает. В общем, не база, а мечта, ебать тебя в сраку.