
312
Часть III. Сервер баз данных Microsoft SQL Server 7.0
Название
Decimal
Numeric
Money
Small-
luoney
LPS
пав
пап
ODD
Описание
Тип данных, позволяющий определять
точно интервал значений вводимых
десятичных чисел, занимает в памяти от
2 до 17 байт.
Диапазон: от -10Е-38 до +10Е+38.
Аналогичен типу данных Decimal.
Тип данных, используемый для хране-
ния денежных значений, занимающий в
памяти до 8 байт.
Диапазон: от -922 337 203 685 477,5808
до +922 337 203 685 477.5807.
Аналогичен типу данных Money, зани-
мает в памяти до 4 байт.
Диапазон: от -214,748.3648 до
+214,748.3647.
В данном обзоре (см. табл. 3.13) представлены две группы ти-
пов данных: используемых для хранения целых чисел и чисел с
плавающей точкой, Отличие между типами данных Int, Smallint и
Tinyint заключается в диапазонах используемых значений, что, в
свою очередь, отражается на объеме, занимаемом ими в памяти
компьютера. Для хранения чисел с плавающей точкой использу-
ют типы данных Real и Float. Отличием в данном случае является
формат точности и диапазон представления чисел, что приводит к
изменению объема, занимаемого данными этого типа в памяти.
Особо хочется отметить типы данных Decimal и Numeric, ко-
торые позволяют самостоятельно определить формат точности
числа с плавающей точкой. В этом случае, корректируя парамет-
ры Precision и Scale в диалоговом окне дизайнера таблиц утили-
ты SQL Server Enterprise Managqr (см. рис. 3.21), изменяется
формат представления этих чисел и, соответственно, объем памя-
ти (параметр Length, см. рис. 3.21), занимаемый данными этого
типа. При этом с помощью параметра Precision указывается
максимальное количество цифр вводимых данных этого типа.
Злачение параметра Scale используется для указания макси-
мального количества цифр, расположенных после десятичной
точки для чисел этого типа данных. При этом существует правило
Глава 3.2. Использование SQL - сервера
313
о соотношении этих параметров между собой: значение парамет-
ра Scale должно быть меньше или равно значению параметра
Precision. При работе с дизайнером таблиц утилиты SQL Server
Enterprise Manager Вам удастся ввести значения этих параметров,
не удовлетворяющих правилу, однако при попытке сохранения
изменений в структуре данных SQL-сервер выдаст сообщение об
ошибке, что приведет к потере сделанных изменений. Следует
также обратить внимание на автоматическую корректировку зна-
чений параметра Length (см. рис. 3.21), который показывает из-
менение объема, занимаемого данными создаваемого типа.
Таблица 3.14.
Изменение параметра Length в зависимости от Precision
При указании типа данных Decimal И Numeric
Precision, цифр
I -9
Ю-19
20-28
29-38
Length, байт
5
9
13
17
В SQL-сервере имеются два типа данных, ориентированных
на хранение денежных значений. Тип данных Money физически
записывает информацию в виде двух четырехбайтовых значений
- отдельно для целой и дробной части. Данные этого типа сохра-
няются с точностью до десятичных долей денежной единицы.
При потребности хранения денежных значений в разрабатывае-
мых базах данных, все-таки рекомендуется устанавливать для
них тип данных Smallmoney. Его структура аналогична структуре
Money, однако физически данные этого типа сохраняются в виде
двух двухбайтовых значений, что уменьшает занимаемый ими
объем в памяти компьютера.
Таблица 3.15.
Типы данных даты и времени
Название
Datetime
LPS
ana
Описание
Тип данных, позволяющий хранить .
комбинации даты и времени, занимаю-
щий в памяти 8 байт.
Диапазон: от 01.01.1753 до 31.12.9999.