Работа с таблицами и типами данных. Типы данных. Символьные типы. Точные числовые типы. Приближенные числовые типы

Страницы работы

Содержание работы

1.1. Типы данных

Прежде чем вы сможете начать создавать таблицы, следует разобраться с разными типами данных, которые можно применять для определения доменов столбцов в таблицах, т. е. какие данные можно вводить в столбец. В SQL Server есть два разных вида типов данных:

        ♦    системные типы данных SQL Server;

♦ определенные пользователем типы (User-defined types, UDT) или типы общеязыковой среды исполнения (SQL Common Language Runtime, SQLCLR).

Имеющиеся системные типы данных обычно делят на несколько групп, включая точные числовые, приближенные числовые, символьные, даты и время суток и двоичные.

Символьные типы

В SQL Server включено довольно много строковых типов данных: char, varchar, nchar, nvarchar, text и ntext. Типы text и ntext не одобряются, поэтому они были заменены типами varchar (max) и nvarchar (max).

Все char-типы принимают один параметр — количество символов для хранения данных. Разница между char и varchar (как и между nchar и nvarchar) состоит в том, что char— тип данных фиксированной длины, a varchar— переменной длины. Это означает, что для char всегда выделяется столько памяти, сколько необходимо для хранения данных объявленной длины, a varchar хранит только реальные введенные данные. Преимущество применения char по сравнению с varchar заключается в том, что для обновлений столбца типа char никогда не требуется перемещения строки, т. к. вводимые данные всегда соответствуют отведенному объему памяти. Это преимущество почти всегда перевешивает, несмотря на то, что тип varchar использует гораздо меньше памяти, чем char.

Типы nchar и nvarchar. хранят символы, используя страницу универсального кода Unicode (UCS-2). Это значит, что если применять тип nchar или nvarchar, можно хранить символы любого типа, независимо от выбранного вами набора параметров символьной обработки, потому что для хранения каждого символа всегда используются два байта. Типы varchar и char хранят символы в одном или двух байтах в зависимости от набора параметров символьной обработки. 

Точные числовые типы

Точные числовые типы состоят из типов integer (или целое число) и типов с фиксированной десятичной точкой. 

Тип данных

Объем памяти

Допустимые значения

Примечания

tinyint

1 байт

0—255

Эквивалентен типу данных byte в большинстве языков программирования, не может хранить отрицательные значения

smallint

2 байта

-32 768—32 767

Знаковое 16-разрядное целое

int

4 байта

-2 147 483 648— 

2 147 483 647

Знаковое 32-разрядное целое

bigint

8 байтов

-2х1063—2х1063-1

Знаковое 64-разрядное целое

decimal (разрядность, количество знаков в дробной части)

От 5 до 17 байтов в зависимости от точности

-10х1038 + 1 — 10х1038-1

Десятичное число, содержащее до 38 цифр

numeric (разрядность, количество знаков в дробной части)

Функционально эквивалентен типу данных decimal

У целочисленных типов данных (tinyint, smallint, int и bigint) нет параметров, а у decimal (и numeric) есть. 

Применяя тип данных decimal, можно задать разрядность (precision) и количество десятичных знаков в дробной части (scale) для хранимого значения данного типа. 

♦ Разрядность определяет общее количество цифр, поддерживаемое типом данных, максимальная разрядность равна 38, а количество знаков в дробной части определяет, сколько цифр, заданных в разрядности, отводится под дробную часть. Тип, определенный как decimal(38,0), позволяет хранить только целые числа, а тип decimal (38, 38) — только десятичные дроби. 

♦ Если вы определите столбец просто как decimal, без указания разрядности и количества десятичных знаков после запятой, он получит по умолчанию разрядность, равную 18, и 0 для знаков в дробной части. 

В зависимости от заданной вами разрядности типу данных decimal требуется от 5 до 17 байтов памяти. Для экономии области хранения и ресурсов памяти важно выбирать минимально допустимую разрядность. Количество знаков в дробной части не влияет на требуемый объем памяти.

Разрядность

Память, байт

От 1 до 9

5

От 10 до 19

9

От 20 до 28

13

От 29 до 38

17

Приближенные числовые типы

Похожие материалы

Информация о работе