Введение в модель данных SQL

         

Типы данных SQL


Данные, хранящиеся в столбцах таблиц SQL-ориентированной базы данных, являются типизированными, т. е. представляют собой значения одного из типов данных, предопределенных в языке SQL или определяемых пользователями путем применения соответствующих средств языка. Для этого при определении таблицы каждому ее столбцу назначается некоторый тип данных (или домен), и в дальнейшем СУБД должна следить, чтобы в каждом столбце каждой строки каждой таблицы присутствовали только допустимые значения. В этом разделе мы обсудим систему типов языка SQL.

Все допустимые в SQL типы данных, которые можно использовать при определении столбцов, разбиваются на следующие категории:

  • точные числовые типы (exact numerics);
  • приближенные числовые типы (approximate numerics);
  • типы символьных строк (character strings);
  • типы битовых строк (bit strings)1);
  • типы даты и времени (datetimes);
  • типы временных интервалов (intervals);
  • булевский тип (Booleans);
  • типы коллекций (collection types);
  • анонимные строчные типы (anonymous row types);
  • типы, определяемые пользователем (user-defined types);
  • ссылочные типы (reference types).

В столбцах таблиц, определенных на любых типах данных, наряду со значениями этих типов, допускается сохранение неопределенного значения, которое обозначается ключевым словом NULL. В языке определено, что результатом выражений вида x a_op NULL, NULL a_op x, NULL a_op NULL является NULL для всех арифметических операций a_op (+, - и т. д.), допустимых для типа данных выражения x (выражение NULL a_op NULL является допустимым для любой арифметической операции a_op). Также по определению полагается, что значением выражений x comp_op NULL, NULL comp_op x, NULL comp_op NULL для всех операций сравнения (=,

, >, < и т. д.), определенных для типа выражения x, является третье логическое значение unknown2) (выражение NULL comp_op NULL является допустимым для любой операции сравнения comp_op).



Содержание раздела