Базы данных - модели, разработка, реализация


         

Типы данных


В языке SQL/89 поддерживаются следующие типы данных:

  • CHARACTER(n) или CHAR(n) - символьные строки постоянной длины в n символов. При задании данного типа под каждое значение всегда отводится п символов, и если реальное значение занимает менее, чем п символов, то СУБД автоматически дополняет недостающие символы пробелами.
  • NUMERIC[(n,m)] - точные числа, здесь n - общее количество цифр в числе, m - количество цифр слева от десятичной точки.
  • DECIMAL[(n,m)] - точные числа, здесь n - общее количество цифр в числе, m - количество цифр слева от десятичной точки.
  • DEC[(n,m)] - то же, что и DECIMAL[(n,m)].
  • INTEGER или INT - целые числа.
  • SMALLINT - целые числа меньшего диапазона.
  • Несмотря на то, что в стандарте SQL1 не определяется точно, что подразумевается под типом INT и SMALLINT (это отдано на откуп реализации), указано только соотношение между этими типами данных, в большинстве реализаций тип данных INTEGER соответствует целым числам, хранимым в четырех байтах, a SMALLINT - соответствует целым числам, хранимым в двух байтах. Выбор одного из этих типов определяется размером числа.

  • FLOAT[(n)] - числа большой точности, хранимые в форме с плавающей точкой. Здесь n - число байтов, резервируемое под хранение одного числа. Диапазон чисел определяется конкретной реализацией.
  • REAL - вещественный тип чисел, который соответствует числам с плавающей точкой, меньшей точности, чем FLOAT.
  • DOUBLE PRECISION специфицирует тип данных с определенной в реализации точностью большей, чем определенная в реализации точность для REAL.
  • В стандарте SQL92 добавлены следующие типы данных:

  • VARCHAR(n) - строки символов переменной длины.
  • NCHAR(N) - строки локализованных символов постоянной длины.
  • 71

  • NCHAR VARYING(n) - строки локализованных символов переменной длины.
  • BIT(n) - строка битов постоянной длины.
  • BIT VARYING(n) - строка битов переменной длины.
  • DATE - календарная дата.
  • ТIMESTAMP(точность) - дата и время.
  • INTERVAL - временной интервал.
  • Большинство коммерческих СУБД поддерживают еще дополнительные типы данных, которые не специфицированы в стандарте.

    Содержание  Назад  Вперед