Бинарные типы данных.
Типы данных для хранения информации о времени.
Денежные типы данных.
Нецелочисленные типы данных.
Числовые целые типы данных.
Типы данных
Понятие типа данныхв SQL Server полностью адекватно понятию типа данных в современных языках программирования. Тип данных определяет диапазон значений, которые можно сохранить в переменной или колонке таблицы.
Числовые типы данных, как следует из названия, предназначены для хранения только числовых значений. Числовые тины данных различаются по возможности хранения положительных и отрицательных значений, целочисленных и дробных значений, а также по общему количеству цифр и количеству цифр после запятой.
К целочисленным типам данных (общее название – integer) относятся следующие типы данных:
Int(или Integer) – для хранения данных используются 32 бита или 4 байта;
Small int– для хранения данных используются 16 бит, или 2 байта;
Tinyint– этот целочисленный тип занимает всего 1 байт и не содержит отрицательных чисел. Все биты интерпретируются как числовое значение. Тип данных tinyint позволяет хранить значения в интервале от 0 до 255.
При выборе того или иного типа данных необходимо исходить из физических значений хранимых данных. Целочисленные типы данных используются для построения индексов и первичных ключей.
Числа, в составе которых есть десятичная точка, называются нецелочисленными. Microsoft разделяет нецелочисленные данные на два типа: десятичные(decimal) и приблизительные(approximate).
Десятичные данные физически хранятся в SQL Server 7.0 не в виде чисел, а в виде последовательности цифр. Для представления каждой десятичной цифры обычно используются 4 бита, то есть один байт позволяет хранить две десятичных цифры, или значение от 0 до 99.
Денежные типы данных обеспечивают хранение значений до 4-х знаков после запятой.
Maney – 8 байт;
Smallmaney – 4 байта.
Datetime – для представления данных этого типа SQL Server 7.0 использует 8 байт. В первых 4 байтах хранится информация о дате. Это значение – своего рода смещение относительно базовой даты. В качестве базовой даты было выбрано 1 января 1753 г. Оставшиеся 4 байта хранят информацию о количестве миллисекунд, прошедших после полуночи данного дня. В итоге тип данных datetime позволяет хранить значения о дате и времени в диапазоне от 1 января 1753 г. до 31 декабря 9999 г. с точностью до 3,33 мс.
Binary(n)– этот тип данных позволяет хранить до 8000 байт. Значение n определяет количество байт, которое будет храниться. В таблице будет выделено n+4 байта (4 байта используются для хранения длины самого поля).
Varbinary(n)– этот тип данных идентичен типу binary с единственным отличием — в таблице для хранения данных этого типа выделяется ровно столько байт, сколько ввел пользователь, плюс 4 байта на описание длины. Аргумент n (максимальное значение – 8000) определяет только максимальную длину, при превышении которой происходит усечение данных.
Image– этот бинарный тип позволяет преодолевать ограничение длины в 8000 байтов, характерное для типов binary и varbinary. При использовании этого типа допускается хранение битовых полей длиной до 231–1 (2 147 483 647). Пространство в таблице для этого типа данных выделяется целыми страницами. Если в таблице имеется колонка с типом данных image, то первоначально сервер выделяет для нее одну страницу. При необходимости выделяются дополнительные страницы, которые связываются в цепочку.