Transact-SQL
Автор: Пользователь скрыл имя, 25 Февраля 2011 в 17:08, курсовая работа
Краткое описание
Transact-SQL является основой SQL Server 7.0, реализуя простые, но в то же время мощные методы доступа к данным. Администратор может сконфигурировать сервер таким образом, что пользователям не нужно будет явно указывать начало и конец транзакций. Сервер сам позаботится об обеспечении целостности данных. Для профессиональной работы с SQL Server 7.0 необходимо понимать механизмы работы Transact-SQL и уметь успешно применять их на практике.
Оглавление
Введение 3
Основная часть……………………………………………………………………….4
1 Управляющие конструкции transact-sql 4
2 Идентификаторы 6
3 Типы данных 8
Заключение 22
Список использованных источников 23
Файлы: 1 файл
Курсовая Базы Данных.doc
— 154.50 Кб (Скачать)- Char. Этот тип данных разрешает хранение набора символов длиной до 8000 знаков. Аргумент n определяет максимальное количество символов, равное 8000. В таблице для хранения значений типа char выделяется указанное количество байт независимо от того, сколько символов было реально сохранено.
- Varchar. Этот тип подобен типу данных char с тем отличием, что количество выделяемого в таблице пространства зависит от реального числа байтов, которое занимает значение.
- Nchar. Поведение сервера при работе с этим типом аналогично работе с char с тем отличием, что тип nchar используется для хранения символов Unicode. Каждый символ Unicode занимает два байта и максимальное количество символов, которое можно сохранить с использованием этого типа, равно 4000.
- Nvarchar. Аналог Unicode типа данных varchar. Максимальное значение n ограничено величиной 4000.
Текстовый тип данных.
Текстовые типы данных так же, как и символьные, позволяют хранить текстовые данные. Они обеспечивают хранение очень большого количества символов – до 2 Гбайт. К текстовым типам данных относятся:
- Text. Этот тип обеспечивает хранение блоков текста длиной до 231-1 (2 147 483 647) символов.
- Ntext. При работе с большим объёмом текста в формате Unicode используется тип данных ntext, обеспечивающий хранение до 230-1 (1 073 741 823) символов. Хранение данных типа ntext осуществляется теми же методами, что и типов text и image.
Transact-SQL предлагает набор
специализированных функций для обработки
текстовых данных. Эти функции перечислены
в таблице.
Специальные типы данных.
Специальные типы данных используются в основном для внутренних нужд с целью обеспечения дополнительной функциональности. К специальным типам данных относят:
- Bit. Этот тип данных позволяет хранить один бит и принимает значение 0 или 1. Bit как нельзя лучше подходит для хранения данных, которые могут принимать только два значения: «YES/NO», «MAN/ WOMAN», «TRUE/FALSE», «ON/OFF» и т. д.
- Timestamp. Этот тип используется в качестве индикатора версии изменения строки в пределах базы данных. С помощью timestamp можно отслеживать последовательность изменений строк как в пределах таблиц, так и в пределах баз данных.
- Uniqueidentifier. Он используется для
хранения глобальных уникальных идентификационных
номеров. Значения типа uniqueidentifier занимают 16 байт и
могут быть представлены в виде xxxxxxxx-xxxx-xxxx-xxxx-
xxxxxxxxxxxx, где x представляет одну шестнадцатеричную цифру. - 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.
Выражения в Transact-SQL представляют собой комбинацию идентификаторов, функций, логических и арифметических операций, констант и других объектов. Выражение может быть использовано в качестве аргумента в командах, хранимых процедурах или запросах.
Выражение состоит из операндов (собственно данные) и операторов (действия, производимые над операндами). Операнды Transact-SQL делятся на следующие типы:
- Константы. Это постоянные величины, значения которых не могут быть никаким образом изменены. Примеры: 7, 13.64, ‘TextPtr’.
- Функции. Это изменённые программы, выполняющие обработку данных и возвращающие определённый результат. Функции могут иметь входные параметры или просто возвращать значение.
- Имя колонки. В качестве операнда может выступать колонка таблицы. Это часто используется при обработке данных в таблице, удовлетворяющих определённому критерию. Пользователь указывает в выражении имя интересующей его колонки, а сервер будет автоматически подставлять соответствующие значения. При последовательном просмотре таблицы значение будет изменяться.
- Переменная. Это именованная область памяти определённого объёма, в которой хранятся данные. Физически любая переменная есть последовательность из одного или нескольких байт. То, как сервер будет обрабатывать последовательность, представляющую значение переменной, зависит от типа данных, ассоциированного с этой переменной.
- Подзапрос. В качестве выражения можно указать подзапрос, который подготовит соответствующий набор данных. По принципу работы это эквивалентно указанию колонки таблицы, только в случае подзапроса данные не нужно явно «закачивать» в таблицу. Сервер сам сделает всю работу: создаст временную таблицу с необходимой структурой, скопирует в неё выбранные данные и подключит полученный набор данных в качестве выражения.
- Конструкции CASE, NULLIF и COALESCE. Эти конструкции позволяют использовать логическое условие для определения возвращаемого результата. Конструкция CASE может быть представлена в виде громоздкого набора последовательных логических условий.
Логические
операторы предоставляют
Оператор ALL
Expr {=|<>|!=|>|>=|!>|<|<=|!<} ALL (subquery)
С помощью оператора ALL выполняется сравнение скалярного выражения со всеми значениями, возвращаемыми подзапросом. Скалярная величина сравнивается с каждым значением, возвращаемым подзапросом. Если логическое условие выполняется для всех возвращаемых подзапросом значений, только тогда всё условие считается выполненным.
Операторы SOME и ANY
Scalar_ expression {=|<>|! = |>|>= | !>|<|<=| !<} SOME (subquery)
Scalar_ expression {=|<>|! = |>|>= | !>|<|<=| !<} ANY (subquery)
С помощью этих операторов можно сравнить скалярную величину со всеми значениями в колонке таблицы. Разницы между использованием операторов ANY и SOME нет. Если хотя бы в одной строке содержится значение, равное скалярной величине, то условие выполняется.
Оператор BETWEEN
Test_ expression [NOT] BETWEEN begin_ expression AND end_ expression
С помощью этого оператора можно получить ответ на вопрос, лежит ли величина в указанном диапазоне. Исходная величина задаётся аргументом test_ expression. Аргумент begin_ expression задаёт начало диапазона, а аргумент end_ expression – конец диапазона. Оператор BETWEEN можно без труда представить в виде двух операций сравнения:
Test_ expression>=begin_ expression AND test_ expression<=end_ expression
Оператор EXISTS
EXSISTS (sudquery)
Этот оператор возвращает значение TRUE, если указанный подзапрос возвращает хотя бы одну строку. В противном случае возвращает значение FALSE.
Оператор IN
Test_ expression [NOT] IN
(subquery | expression [….n])
С помощью этого оператора можно проверить, соответствует ли выражение test_expression одному из перечисленных выражений или значений, возвращаемых подзапросом. При работе оператор IN можно заменить оператором «=ANY».
Оператор LIKE
Match_ expression [NOT] LIKE pattern [ESCAPE escape_ character]
С помощью этого оператора можно выполнять сравнение выражения с заданным шаблоном. Пусть, например, вам нужно найти в базе данных всех авторов, номера телефонов которых начинаются на 415. Можно, конечно, сделать это с помощью обычных операций сравнения, вырезая первые три символа и сравнивая их с «415».
Поиск
можно легко выполнить с
Все
инструкции языка Transact-SQL разделены
на три группы, называемые языком определения
данных (Data Definition Language, DDL), языком обработки
данных (Data Manipulation Language, DML) и языком управления
данными (Data Control Language, DCL). Инструкции DDL
предназначены для создания баз данных
и их объектов, инструкции DLM предназначены
для чтения и модификации данных, а инструкции
DCL –для защиты данных путём определения
разрешений пользователей и ролей.
Инструкции языка определения данных.
Основу любой инструкции языка определения данных (DDL) составляет одно из трёх ключевых слов: CREATE, ALTER или DROP. Остальные ключевые слова, входящие в инструкцию, определяют тип объекта и его параметры. Например, для создания в базе данных Test новой таблицы с информацией о контактах нужно открыть окно Query Analyzer, подключиться к SQL Server, открыть базу данных Test и выполнить следующую инструкцию: