Глава 4. Типы данных СУБД PostgreSQL
Для пояснения вышеприведенных команд нам придется немного забежать впе-
ред. Одним из видов объектов в базе данных являются так называемые последова-
тельности. Это, по сути, генераторы уникальных целых чисел. Для работы с этими
последовательностями-генераторами используются специальные функции. Одна из
них — это функция nextval, которая как раз и получает очередное число из последо-
вательности, имя которой указано в качестве параметра функции. В команде CREATE
TABLE ключевое слово DEFAULT предписывает, чтобы СУБД использовала в качестве
значения по умолчанию то значение, которое формирует функция nextval. Поэтому
если в команде вставки строки в таблицу INSERT INTO не будет передано значение
для поля типа serial, то СУБД обратится к услугам этой функции. В том случае, ко-
гда в таблице поле типа serial является суррогатным первичным ключом, тогда нет
необходимости указывать явное значение для вставки в это поле.
В заключение скажем, что кроме типа serial существуют еще два аналогичных
типа: bigserial и smallserial. Им фактически, за кадром, соответствуют типы
bigint и smallint. Поэтому при выборе конкретного последовательного типа нуж-
но учитывать предполагаемое число строк в таблице и частоту удаления и вставки
строк, поскольку даже для небольшой таблицы может потребоваться большой диа-
пазон, если операции удаления и вставки строк выполняются часто.
Достарыңызбен бөлісу: