Глава 21. Тип SERIAL

В Глава 20, Множественные таблицы было обещано, что имеются специальные средства для работы с персональными номерами. Поскольку такие номера могут идентифицировать не только людей, но и объекты других видов, их обычно называют идентификационными. Традиционное имя поля в таблице, которое содержит такой номер — id. В PostgreSQL имеется особый тип для таких номеров — SERIAL. В основе этого типа лежит тип INTEGER, однако значением по умолчанию для величин этого типа является не NULL, а следующее целое число. Таким образом, если добавлять записи в таблицу, не указывая для полей типа SERIAL, эти значения будут присваиваться автоматически как порядковые целые числа. На значения типа SERIAL накладывается ещё одно ограничение — они не могут быть NULL.

Тип SERIAL в PostgreSQL реализуется с помощью специального механизма — последовательностей. Для каждого поля этого типа создаётся таблица, которая содержит, помимо прочего, текущее число из последовательности. При извлечении очередного номера из последовательности текущее число увеличивается.

Информатика-54