Типы данных Decimal, Float и Real.
Тип данных decimal может хранить не более 38 разрядов, все из которых могут быть справа от десятичного разделителя. Тип данных decimal хранит точное представление числа. Нет понятия приближенности для хранимого значения. Существуют два атрибута, которые определяют столбцы, переменные и параметры decimal: p - определяет точность или количество разрядов, которое может хранить объект; s - определяет масштаб или количество разрядов, которое может быть расположено справа от десятичного разделителя. p и s должны соответствовать правилу: 0 <= s <= p <= 38. По умолчанию, максимальная точность типов данных numeric и decimal составляет 38 разрядов. В Transact-SQL тип данных numeric функционально эквивалентен типу данных decimal. Тип данных decimal следует использовать для хранения чисел в десятичной системе исчисления, когда значения типа данных должны храниться точно так, как задано. Типы данных float и real называются приблизительными типами данных. Поведение float и real соответствует спецификации IEEE 754 для приблизительных числовых типов данных. Приблизительные числовые типы данных не хранят точных значений, заданных для многих чисел. Вместо этого они хранят очень хорошее приближение для этих значений. Тип денежных данных. В Microsoft SQL Server 2005 денежные данные, или значения валюты, хранятся с использованием двух типов данных: money и smallmoney. Для этих типов данных может использоваться любой из приведённых в таблице 1 символов валют. Валютные или денежные данные не требуется заключать в одинарные кавычки ('). Важно помнить, что, несмотря на возможность указания денежных значений, которым предшествует символ валюты, SQL Server не сохраняет какие-либо сведения о валюте, связанные с символом, а хранит только числовое значение. Например, чтобы присвоить переменной значение 100 долларов, можно сделать следующее:
DECLARE @dollars AS money SET @dollars = $100 SELECT @dollars В этом случае будет возвращено значение 100,0000 без символа валюты. Объект, определенный как money, может содержать не более 19 цифр, 4 из которых могут располагаться справа от десятичной запятой. Для хранения данных в объекте используется 8 байт. Таким образом, тип данных money имеет точность 19, масштаб 4 и длину 8. Поскльку типы данных money и smallmoney ограничены четырьмя знаками после запятой, то если требуется указать больше знаков после символов, используйте тип данных decimal. Чтобы отделить дробные денежные единицы, например центы, от целых денежных единиц, используйте запятую. Например, 2,15 соответствует 2 долларам и 15 центам. В константах типа money и smallmoney не допускаются запятые в качестве разделителей, хотя отображаемый формат этих типов данных содержит запятые-разделители. Запятые-разделители можно указывать только в символьных строках, явно приведенных к типу money или smallmoney. Типы binary и varbinary. binary [ (n) ] - двоичные данные фиксированной длины размером в n байт, где n — значение от 1 до 8000. Размер хранения составляет n байт. varbinary [ (n | max) ] - двоичные данные переменной длины. n могут иметь значение от 1 до 8000; max означает максимальную длину хранения, которая составляет 2^31-1 (2 147 483 647) байт. Размер хранения - это фактическая длина введенных данных плюс 2 байта. Введенные данные могут иметь размер 0 символов. В ANSI SQL синонимом для varbinary является binary varying. Типы данных binary и varbinary хранят последовательности битов. Хотя символьные данные обрабатываются на основе кодовой страницы Microsoft SQL Server, типы binary и varbinary представляют собой просто битовые потоки. Двоичные константы начинаются с 0х (ноль и символ "x"), затем следует шестнадцатеричное представление набора битов. Например, 0х2А задает шестнадцатеричное число 2А, равное 42 в десятичном и 00101010 в двоичном формате.
Для хранения таких шестнадцатеричных значений, как идентификационный номер безопасности и идентификатор GUID (тип данных uniqueidentifier), следует использовать двоичные данные или комплексные числа, которые можно записать в шестнадцатеричном формате. Типы данных больших значений. В Microsoft SQL Server 2005 имеется признак max. Этот признак расширяет возможности хранения типов данных varchar, nvarchar и varbinary. varchar(max), nvarchar(max) и varbinary(max) вместе называются типами данных больших значений. Можно использовать типы данных больших значений для хранения 2^31-1 байт данных. Используйте типы данных varchar(max), nvarchar(max) и varbinary(max) вместо типов данных text, ntext и image. Индексы. Простой индекс. Индексы используют для обеспечения быстрого доступа к нужной информации в таблице базы данных. Индекс является логической структурой (обычно, сохраняемой отдельно от самой таблицы), которая упорядочивает строки таблицы на основе значений одного или более столбцов таблицы базы данных. Индекс строится на основе ключей и предоставляет указатели на значения данных в соответствии с установленным порядком. Ключ представляет собой значение столбца или конкатенацию (соединение) значений нескольких столбцов. Система управления базой данных (Компонент Microsoft SQL Server 2005 Database Engine) использует индекс для поиска отдельного значения и последующего перемещения или возврата указателя на строку, содержащую это значение. Индексы делятся на две категории: - индексы, допускающие повторение ключей, называемые просто индексами; - индексы, не допускающие повторение ключей, называемые уникальными. Как уже говорилось, простой индекс допускает наличие одинаковых ключей. Эта особенность позволяет использовать его в целях классификации объектов, представленных строками таблицы, поскольку одинаковые ключи представляют одинаковые признаки этих объектов. Потому создание нескольких индексов, допускающих повторение ключей, позволяет провести анализ множества объектов, представленных таблицей с разных точек зрения (по различным наборам свойств). Уникальный индекс. Уникальный индекс не допускает двух одинаковых значений ключа в разных строках. Уникальный индекс создают в тех случаях, когда свойство уникальности является характеристикой данных самих по себе и нарушение этого свойства является ошибкой, например в столбце "номер паспорта" таблицы клиентов не должно быть одинаковых значений.
Первичный ключ. Таблица базы данных часто имеет столбец или комбинацию столбцов, значения которых должны однозначно определять каждую строку таблицы. Эти столбцы называются первичным ключом таблицы. Определение первичного ключа таблицы на диаграмме или конструкторе таблиц базы данных автоматически влечёт создание первичного индекса, который является особым типом уникального индекса. Этот индекс требует, чтобы все значения ключа были уникальными, следовательно, первичный индекс не допускает неопределённых значений. Неопределённое значение есть отсутствие какого-либо значения. Этот факт обозначается значением NULL. Если первичный ключ состоит более чем из одного столбца, то допускается повторение значений в одном из столбцов, но каждая комбинация значений в целом должна быть уникальна. При этом порядок столбцов в выражении ключа будет соответствовать их порядку расположения на диаграмме.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|