Курсовая работа: Transact-SQL
1 Datetime. Для предоставления этого типа используется 8 байт. В первых 4 хранится информация о дате. Это значение- своего рода смещение относительно базовой даты. В качестве базовой даты было выбрано 1 января 1753 г. Оставшиеся 4 байта хранят информацию о количестве миллисекунд, прошедших после полуночи данного дня. В итоге тип данных datetimeпозволяет хранить значения о дате и времени в диапазоне от 1 января 1753 г. до 31 декабря 9999 г. с точностью до 3,33 мс.
2 Smalldatetime. Для представления данных этого типа используется 4 байта. Первые 2 байта используются для хранения информации о дате, а оставшиеся 2 байта - о времени. Тип данных smalldatetimeобеспечивает хранение информации о дате в диапазоне от 1 января 1900 г. до 6 июня 2079 г. с точностью до минуты.
2.3 Строковые типы данных
Бинарные типы данных используются для хранения последовательности двоичных значений большой длины. Большинство типов Transact-SQLпозволяют хранить значения длиной до нескольких байт, которые в большинстве случаев представляют физические характеристики объектов. В бинарных типах данных можно хранить любые значения, начиная от текста и заканчивая исполняемым кодом программы. Бинарные типы делятся:
1 Binary (n). Этот тип данных позволяет хранить до 8000 байт, что стало возможно благодаря изменению внутренней архитектуры системы хранения данных Transact-SQL, а конкретно - размера страницы. Данные типа binaryне могут размещаться более чем на одной странице, поэтому их максимальный размер зависит от размера страницы. Значение n определяет количество байт, которое будет хранить.
2 Verbinary(n). Этоттиппохожнатипbinary. Аргумент n (максимальное значение-8000) определяет только максимальную длину, при повышении которой происходит усечение данных.
3 Image. Этот бинарный тип позволяет преодолевать ограничение длины в 8000 байтов, характерное для типов binaryи varbinary. При использовании этого типа допускается хранение битовых полей длиной до 231 -1 (2 147 483 647).
При выборе того или иного типа данных придётся выбирать между производительностью работы системы хранения и свободным пространством в базе данных. Тип данных imageстоит в стороне от типов binaryи varbinary, и его использование оправдано лишь в том случае, если необходимо хранить действительно длинные поля бинарных данных.
Для хранения текстовой информации используют символьные и текстовые типы данных. Характерное отличие между символьными и текстовыми типами данных заключается в максимальном количестве символов, которое может хранить тот или иной тип данных. К символьным типам относят типы:
1 Char. Этот тип данных разрешает хранение набора символов длиной до 8000 знаков. Аргумент nопределяет максимальное количество символов, равное 8000. В таблице для хранения значений типа charвыделяется указанное количество байт независимо от того, сколько символов было реально сохранено.
2 Varchar. Этот тип подобен типу данных charс тем отличием, что количество выделяемого в таблице пространства зависит от реального числа байтов, которое занимает значение.
3 Nchar. Поведение сервера при работе с этим типом аналогично работе с charс тем отличием, что тип ncharиспользуется для хранения символов Unicode. Каждый символ Unicodeзанимает два байта и максимальное количество символов, которое можно сохранить с использованием этого типа, равно 4000.
4 Nvarchar. Аналог Unicodeтипа данных varchar. Максимальное значение nограничено величиной 4000.
Текстовые типы данных так же, как и символьные, позволяют хранить текстовые данные. Они обеспечивают хранение очень большого количества символов – до 2 Гбайт. К текстовым типам данных относятся:
1 Text. Этот тип обеспечивает хранение блоков текста длиной до 231 -1 (2 147 483 647) символов.
2 Ntext. При работе с большим объёмом текста в формате Unicodeиспользуется тип данных ntext, обеспечивающий хранение до 230 -1 (1 073 741 823) символов. Хранение данных типа ntextосуществляется теми же методами, что и типов textи image.
Transact-SQLпредлагает набор специализированных функций для обработки текстовых данных. Эти функции перечислены в таблице.
Специальные типы данных используются в основном для внутренних нужд с целью обеспечения дополнительной функциональности. К специальным типам данных относят:
1 Bit. Этот тип данных позволяет хранить один бит и принимает значение 0 или 1. Bitкак нельзя лучше подходит для хранения данных, которые могут принимать только два значения: «YES/NO», «MAN/ WOMAN», «TRUE/FALSE», «ON/OFF» и т. д.
2 Timestamp. Этот тип используется в качестве индикатора версии изменения строки в пределах базы данных. С помощью timestampможно отслеживать последовательность изменений строк как в пределах таблиц, так и в пределах баз данных.
3 Uniqueidentifier. Он используется для хранения глобальных уникальных идентификационных номеров. Значения типа uniqueidentifierзанимают 16 байт и могут быть представлены в виде xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, где x[4] представляет одну шестнадцатеричную цифру.
4 Sysname. Это пользовательский тип данных, созданный самим Transact-SQLна основе типа данных nvarchar. Тип данных sysnameиспользуется для описания имён объектов базы данных, таких как таблицы, колонки, типы данных, логические имена файлов и т. д.
Нередко бывает выполнить конвертирование значения одного типа в значение другого типа. Наиболее часто выполняется конвертирование чисел в строки и наоборот. Для конвертирования значений числовых типов данных в символьные строки используется специализированная функция STR. Для выполнения других преобразований Transact-SQLпредлагает универсальные функции CONVERTи CAST, с помощью которых можно преобразовать значения одного типа в значение любого другого типа, если такое преобразование вообще возможно. Функции CONVERTи CASTпредлагают примерно одинаковые возможности и могут быть взаимозаменяемыми:
CAST (ecspression AS data_ type)
CONVERT (data_ type [(length)], expression [, style])
Аргумент expressionуказывает величину, которую необходимо конвертировать. Тип, в который необходимо конвертировать данные, определяется аргументом data_type.
3 Типы инструкций
3.1. Инструкции языка определения, управления и обработки данных
Все инструкции языка Transact-SQL разделены на три группы, называемые языком определения данных (DataDefinitionLanguage, DDL), языком обработки данных (DataManipulationLanguage, DML) и языком управления данными (DataControlLanguage, DCL). Инструкции DDL предназначены для создания баз данных и их объектов, инструкции DLM предназначены для чтения и модификации данных, а инструкции DCL –для защиты данных путём определения разрешений пользователей и ролей.
Основу любой инструкции языка определения данных (DDL) составляет одно из трёх ключевых слов: CREATE, ALTER или DROP. Остальные ключевые слова, входящие в инструкцию, определяют тип объекта и его параметры. Например, для создания в базе данных Test новой таблицы с информацией о контактах нужно открыть окно QueryAnalyzer, подключиться к SQLServer, открыть базу данных Test и выполнить следующую инструкцию: