Понятие тип данных в реляционной модели данных полностью эквивалентно понятию типа данных в языках программирования.
Набор поддерживаемых типов данных определяется СУБД и может сильно различаться в разных системах. Однако практически все СУБД поддерживают следующие типы данных:
· целочисленные;
· вещественные;
· строковые;
· специализированные типы данных для денежных величин;
· специальные типы данных для временных величин (дата и/или время);
· типы двоичных объектов (данный тип не имеет аналога в языках программирования; обычно для его обозначения используется аббревиатура BLOB — Binary Large Object).
В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и "деньги".
В рассматриваемом примере используются три типа данных — строковый (столбцы «Имя» и «Специальность»), временной тип (столбец «Дата_рождения») и целочисленный тип («Курс» и «№_студенческого_билета»).
Значение
Значение – это наименьшая единица данных реляционной модели, то есть отдельное атомарное(неразложимое) для данной модели значение данных. Над значением (простым значением) операции выполняются как над целым. Сложное значение – составное значение – значение составленное из простых значений.
Домен
Доменсостоит из множества атомарных значений одного и того же типа.
Доменпредставляет собой допустимое потенциальное множество значений данного типа. Например, домен "Имена" в нашем примере определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности, такие строки не могут начинаться с мягкого знака).
Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат "истина", то элемент данных является элементом домена.