Sobes.tech
Back to questions
Junior — Middle
90

Проявляли ли вы использование ENUM-типов в PostgreSQL для хранения ограниченного набора значений?

Answer from AI

sobes.tech AI

В PostgreSQL можно создавать собственные ENUM-типы для хранения ограниченного набора значений, что помогает обеспечить целостность данных и улучшить читаемость схемы базы данных. Например, если нужно хранить статус заказа, можно определить ENUM с возможными значениями:

CREATE TYPE order_status AS ENUM ('new', 'processing', 'shipped', 'delivered', 'cancelled');

CREATE TABLE orders (
    id SERIAL PRIMARY KEY,
    status order_status NOT NULL
);

Это гарантирует, что в поле status будут только допустимые значения из перечисленных. В PHP при работе с такими полями обычно используют обычные строки, но можно дополнительно реализовать проверку или использовать перечисления (enum) в новых версиях PHP для соответствия значениям из базы.