Автор: Александр Барабошин, 27 Сентября 2010 в 22:53, курсовая работа
Структурированный язык запросов SQL (Structured Query Language) был разработан в 1970 г. корпорацией IBM как язык управления реляционными базами данных. До него и после него были попытки создания альтернативных языков, но стандартом стал именно SQL. Практически все производители систем управления базами данных используют в своих продуктах ту или иную модификацию SQL. С 1970 г. Было разработано немало версий этого языка, часто не совместимых друг с другом. В результате в 1992 г. американским национальным институтом стандартов (American National Standard Institute-ANSI) был разработан стандарт SQL – 92, описывающий поведение сервера и регламентирующий основные правила работы. Целью разработки этого стандарта было, в частности, уменьшение несовместимости различных вариантов SQL.
Однако, несмотря на все усилия добиться единого стандарта, каждый из производителей использует и развивает свою модификацию SQL. В SQL Server 7.0 реализован вариант Transact-SQL, поддерживающий большинство возможностей стандарта ANSI SQL-92, а также ряд дополнений, увеличивающих гибкость и мощность языка. Transact-SQL широко используется не только в продуктах Microsoft, но и в приложениях независимых разработчиков.
Transact-SQL является основой SQL Server 7.0, реализуя простые, но в то же время мощные методы доступа к данным. Администратор может сконфигурировать сервер таким образом, что пользователям не нужно будет явно указывать начало и конец транзакций. Сервер сам позаботится об обеспечении целостности данных. Для профессиональной работы с SQL Server 7.0 необходимо понимать механизмы работы Transact-SQL и уметь успешно применять их на практике.
В данной роботе будут рассматриваться основные принципы работы Transact-SQL, типы строковых и числовых данных, а так же логические операторы и защита.
Введение………………………………………………………………………………….. 3
1. Управляющие конструкции transact-sql……………………………………………... 4
1.1 Команда группировки ………………………………………………………………. 4
1.2 Команды программирования transact-sql ………………………………………….. 4
2. Типы данных…………………………………………………………………………... 8
2.1 Таблица systypes……………………………………………………………………... 8
2.2 Числовые типы данных……………………………………………………………... 8
2.3 Строковые типы данных ………………………………………………………….. 11
3. Типы инструкций……………………………………………………………………. 13
3.1 Инструкции языка определения, управления и обработки данных……………... 13
3.2 Создание объектов и управление защитой……………………………………….. 15
3.3 Логические операторы, инструкции языка определения……………………….... 19
Заключение……………………………………………………………………………….22
Глоссарий……………………………………………………………………………….. 24
Список используемой литературы…………………………………………………….. 23
Приложение А…………………………………………………………………………... 24
Приложение В…………………………………………………………………………... 25
Логические операторы предоставляют большие возможность по управлению данными и широко используется при написании запросов и фрагментов программ.
Оператор 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, который
предписывает воспринимать следующий
за ним символ, как обычный.
3.3
Логические операторы,
инструкции языка определения
Выражения в Transact-SQL представляют собой комбинацию идентификаторов, функций, логических и арифметических операций, констант и других объектов. Выражение может быть использовано в качестве аргумента в командах, хранимых процедурах или запросах.
Выражение состоит из операндов (собственно данные) и операторов (действия, производимые над операндами). Операнды Transact-SQL делятся на следующие типы:
Логические операторы предоставляют большие возможность по управлению данными и широко используется при написании запросов и фрагментов программ.
Оператор 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, на сегодняшний день, является самым распространенным инструментом в разработке баз данных. Освоивший его человек может создавать базы данных и их объекты, предоставлять пользователям доступ к серверу, базам данных и их объектам, создавать различные объекты баз данных, манипулировать данными, оптимизировать работу сервера и многое другое.
Типы данных определяют представление колонок таблиц, параметров процедур и переменных. В SQL Server помимо предопределенных системах типов данных можно создавать и пользовательские типы, основывающиеся на системных. Более подробно о создании пользовательских типов данных можно ознакомиться в разделе, посвященном хранимой процедуре sp_addtype. В SQL Server все типы данных регистонезависимые, в силу чего недопустимо использование различных пользовательских типов данных, отличающихся только регистром.
Для
имен объектов необязательно быть уникальными
в базе данных, например, имена колонок
и индексов должны быть уникальными только
в пределах таблицы или представления
(view), все же имена других объектов должны
быть уникальными в пределах базы данных
для каждого владельца. Любую колонку
или таблицу можно уникально идентифицировать
следующим составным именем - имя базы
данных, имя владельца, имя таблицы или
представления. Промежуточные значения
- имя владельца может быть опущено, если
это не приводит к конфликтам имен. В случае
удаленных хранимых процедур ее имя задается
следующим образом: server.database.owner.