Читайте также: |
|
Один из основных моментов процесса создания таблицы и использования языка T-SQL – определение типов данных для ее полей. Тип данных поля таблицы определяет тип информации, которая будет размещаться в этом поле. Понятие типа данных в SQL Server полностью адекватно понятию типа данных в современных языках программирования. SQL Serverподдерживает большое число различных типов данных: текстовые, числовые, двоичные и т.д. (см. таблицу 2).
Таблица 2. Типы данных SQL Server
Название типа | Описание |
binary | Двоичные (бинарные) значения фиксированной длины. Максимальная длина — 8000 байтов. |
varbinary | Двоичные данные переменной длины с максимальной длиной 8000 байтов. |
bit | Один бит, который принимает значения 0 или 1 (или NULL). |
char | Символьные данные фиксированной длины (не в Unicode-кодировке). Максимальная длина — 8000 символов. |
varchar | Символьные данные переменной длины (не в Unicode-кодировке), максимальная длина 8000 символов. |
nchar | Символьные Unicode-данные фиксированной длины. Максимальная длина — 4000 символов. Если значение короче длины поля, то оно дополняется пробелами. |
nvarchar | Символьные Unicode-данные переменной длины. Максимальная длина — 4000 символов. |
text | Данные переменной длины (не в Unicode-кодировке), максимальная длина 231 — 1 (2 147 483 647) символов. |
datetime | Значения дат и времени в диапазоне от 1 января 1753 г. до 31 декабря 9999 г. (точность 3.33 мс.) |
Smalldatetime | Значения дат и времени в диапазоне от 1 января 1900 г. до 6 июня 2079 г. (точность 1 мин.) |
decimal/numeric | Десятичные числа с фиксированным количеством знаков до и после запятой (точки) в диапазоне от —1038+1 до 1038—1. В обычном режиме сервер позволяет вводить не более 28 цифр (от 2 до 17 байт). |
float | Числа с плавающей запятой в диапазоне от — 1.79*10+ 308 до 1.79*10 + 308-1 (точность до 15 цифр, 8 байт) |
real | Числа с плавающей запятой в диапазоне от -3.40*10+ 38 до 3.40*10 + 38-1 (точность до 7 цифр, 4 байта). |
Tinyint | Целые числа от 0 до 255. Размер (в байтах) — 1. |
int | Целые числа в диапазоне от —231 (—2 147 483 648) до 231 — 1 (2 147 483 647). В стандарте SQL-92 синонимом для int является linteger. Размер (в байтах) — 4. |
smallint | Целые числа 215 (-32 768) до 215 - 1 (32 767). Размер (в байтах) -2 (может включать не более 5 десятичных цифр). |
bigint | Целые числа в диапазоне от -263 (-9 223 372 036 854 775 808) до 263-1 (9 223 372 036 854 775 807). Размер (в байтах) – 8 |
image | Двоичные данные переменной длины. Максимальная длина — 231 — 1 (2 147 483 647) байтов. |
money | Числа в денежном формате в диапазоне —263 (—922 337 203 685 477.5808) до 263 -1 (+922 337 203 685 477.5807) с точностью 0,0001 от денежной единицы. Размер 8 байт. |
smallmoney | Денежные величины от —214 748.3648 до +214 748.3647. Размер 4 байта. |
Sql_variant | Тип данных, позволяющий хранить любые типы данных, кроме text, ntext, timestamp и IMAGE. |
Timestamp | Специальное уникальное для данной базы данных значение, устанавливаемое автоматически при добавлении/обновлении записи. Размер (в байтах) — 8. |
uniqueidentifier | Специальный глобально уникальный идентификатор. |
Приведем краткий обзор типов данных SQL Server [6,7,10,13].
Для хранения символьной информации используются символьные типы данных, к которым относятся CHAR (длина), VARCHAR (длина), NCHAR (длина), NVARCHAR (длина), где параметр «длина» определяет размер поля. Последние два предназначены для хранения символов Unicode. Максимальное значение длины ограничено 8000 знаками (4000 – для символов Unicode).
Хранение символьных данных большого объема (до 2 Гб) осуществляется при помощи текстовых типов данных TEXT и NTEXT.
К целочисленным типам данных относятся INT (INTEGER), SMALLINT, TINYINT, BIGINT. Для хранения данных целочисленного типа используется, соответственно, 4 байта (диапазон от -231 до 231-1), 2 байта (диапазон от -215 до 215-1), 1 байт (диапазон от 0 до 255) или 8 байт (диапазон от -263 до 263-1). Объекты и выражения целочисленного типа могут применяться в любых математических операциях.
Числа, в составе которых есть десятичная точка, называются нецелочисленными (или вещественными). Нецелочисленные данные разделяются на два типа – десятичные и приблизительные.
К десятичным типам данных относятся типы DECIMAL [(точность[,масштаб])] или DEC и NUMERIC [(точность[,масштаб])]. Типы данных DECIMAL и NUMERIC позволяют самостоятельно определить формат точности числа с плавающей запятой. Параметр точность указывает максимальное количество цифр вводимых данных этого типа (до и после десятичной точки в сумме), а параметр масштаб – максимальное количество цифр, расположенных после десятичной точки. В обычном режиме сервер позволяет вводить не более 28 цифр, используемых в типах DECIMAL и NUMERIC (от 2 до 17 байт).
К приблизительным типам данных относятся FLOAT (точность до 15 цифр, 8 байт) и REAL (точность до 7 цифр, 4 байта). Эти типы представляют данные в формате с плавающей запятой, т.е. для представления чисел используется мантисса и порядок, что обеспечивает одинаковую точность вычислений независимо от того, насколько мало или велико значение.
Для хранения информации о дате и времени предназначены такие типы данных, как DATETIME и SMALLDATETIME, использующие для представления даты и времени 8 и 4 байта соответственно.
Типы данных MONEY и SMALLMONEY делают возможным хранение информации денежного типа; они обеспечивают точность значений до 4 знаков после запятой и используют 8 и 4 байта соответственно.
Тип данных BIT позволяет хранить один бит, который принимает значения 0 или 1.
В среде SQL Server реализован ряд специальных типов данных.
Тип данных TIMESTAMP применяется в качестве индикатора изменения версии строки в пределах базы данных.
Тип данных UNIQUEIDENTIFIER используется для хранения глобальных уникальных идентификационных номеров.
Тип данных SYSNAME предназначен для идентификаторов объектов.
Тип данных SQL_VARIANT позволяет хранить значения любого из поддерживаемых SQL Server типов данных за исключением TEXT, NTEXT, IMAGE и TIMESTAMP.
Дата добавления: 2015-07-08; просмотров: 260 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Состав и назначение баз данных в MS SQL Server | | | Описание примера базы данных |