SQL типы данных

Используемы в SQL типы данных аналогичны применяемым в других языках программирования:

а)char(n) – символьный длтнной n символов;

Б)varchar(n) – символьный переменной длинны, n – максимально возможная длинна;

В)bit(n); г)varingbit(n);

logical – логический тип, в отличии от логического типа в языках программирования кроме возможных значений false/true может иметь значение unknown (неопределенно), соответственно изменены таблицы истинности базовых операций (false считается наименьшим значением true наибольшим,  unknown — промежуточное значение );

int ;д)real(float) – вещественный, возможно использование для задания типа, как имени real, так и float; е)data; ж)time;

Атрибутам  отношения или переменным SQL допускает присвоение специального значения NULL.

Значение NULL имеет следующий смысл:

1)значение не известно,  то есть когда создается новый кортеж, а значение некоторого атрибута явно не задается и не заданно по умолчанию, то  ему присваивается данное значение;

2)значение не может быть заданно, то есть когда значения некоторого атрибута быть не может (например атрибут Супруг, для некоторого кортежа отношения Сотрудники, когда рассматриваемый сотрудник не женат);

3)значение умалчивается, то есть, если значение  атрибута, выдается по запросу, но данный атрибут  запрещен для просмотра для данного источника запроса.

Если атрибут или выражение со значением NULL участвует в арифметической операции, то результат операции будет иметь значение NULL.

При сравнении выражения, имеющего значение NULL с другим выражением с помощью операций сравнения (=, !=, <>,  <, >, >=, <=, !> ,!<) результат будет иметь значение unknown.

Для проверки выражения на значение NULL операция сравнения не используется. Для Этого необходимо использовать специальный предикат IS NULL (IS NOT NULL), он будет рассмотрен ниже.

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

WHERE  УсловиеПоиска ,где —  УсловиеПоиска, это логическое выражение, включающее другие логические выражения, Сравнения, Предикаты, соединенные логическими операциями. Сравнения включает выражения, константы или переменные, соединенные операциями сравнения (=, !=, <>,  <, >, >=, <=, !> ,!<) . Результат операции сравнения имеет тип Logical. Предикаты, это утверждение состоящее из ключевых слов и выражений, результат которого так же может иметь значение True/False/Unknown.

Используются следующие типы предикатов.

Предикат диапазона —-  between A and B – между A и B;

Предикат вхождения в множество

IN <множество> –  в множестве (NOT IN <множество> – не в множестве);

Предикат определенности значения

<атрибут>  IS NULL – значение не определено (<атрибут>  NOT NULL – значение атрибута не определено);

Предикат шаблона

<атрибут> LIKE <шаблон>

Шаблон — это текстовая константа, которая может содержать  включает любые и специальные символы % — любое количество любых символов, _ — один любой символ.

Например, A LIKE «_СA» указывает на то, что атрибут а должен иметь значение, состоящее из трех символов, первый символ – любой, второй и третий символы – прописные «С» и «А».

В качестве предикатов могут использоваться кванторы существования (существует EXIST, не существует NOT EXIST).

Логические операции, используемые в условиях поиска, аналогичны используемым в других языках программирования ( NOT, AND, OR).

Ссылка на основную публикацию
Adblock
detector