Структурированный язык запросов SQL

Автор работы: Пользователь скрыл имя, 27 Февраля 2012 в 02:14, курсовая работа

Краткое описание

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 Кб (Скачать файл)
  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. 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 делятся на следующие типы:

  1. Константы. Это постоянные величины, значения которых не могут быть никаким образом изменены. Примеры: 7, 13.64, ‘TextPtr’.
  2. Функции. Это изменённые программы, выполняющие обработку данных и возвращающие определённый результат. Функции могут иметь входные параметры или просто возвращать значение.
  3. Имя колонки. В качестве операнда может выступать колонка таблицы. Это часто используется при обработке данных в таблице, удовлетворяющих определённому критерию. Пользователь указывает в выражении имя интересующей его колонки, а сервер будет автоматически подставлять соответствующие значения. При последовательном просмотре таблицы значение будет изменяться.
  4. Переменная. Это именованная область памяти определённого объёма, в которой хранятся данные. Физически любая переменная есть последовательность из одного или нескольких байт. То, как сервер будет обрабатывать последовательность, представляющую значение переменной, зависит от типа данных, ассоциированного с этой переменной.
  5. Подзапрос. В качестве выражения можно указать подзапрос, который подготовит соответствующий набор данных. По принципу работы это эквивалентно указанию колонки таблицы, только в случае подзапроса данные не нужно явно «закачивать» в таблицу. Сервер сам сделает всю работу: создаст временную таблицу с необходимой структурой, скопирует в неё выбранные данные и подключит полученный набор данных в качестве выражения.
  6. Конструкции 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».

     Поиск можно легко выполнить с помощью  оператора LIKE, в котором допускается использование символов-заменителей. Аргумент match_ expression задаёт исходное выражение, для которого необходимо выполнить проверку. Шаблон для сравнения задаётся с помощью аргумента pattern. Символы заменители: «%», «_», «[]», «[^]». Операнд LIKE позволяет использовать специальный управляющий символ, задаваемый с помощью аргумента escape_ character, который предписывает воспринимать следующий за ним символ, как обычный.

     Все инструкции языка 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 и выполнить следующую инструкцию:

Информация о работе Структурированный язык запросов SQL