Новосибирская государственная академия экономики и управления
ЛАБОРАТОРНЫЙ ПРАКТИКУМ ПО ДИСЦИПЛИНЕ
«БАЗЫДАННЫХ»
Лабораторная работа N 9
«Системы управления базами данных типа клиент/сервер.
Сервер баз данных SQL Server 7.0:
Манипуляция данными »
НОВОСИБИРСК 2000
Введение
Интерактивный язык SQL Server поддерживают стандартные возможности SQL, а также множество полезных усовершенствований. В дополнение к ним он содержит управляющие структуры, позволяющие создавать пакетные программы, в которых наборы или пакеты команд могут выполняться без прерывания.
Эти управляющие структуры являются частью языка управления потоками (control-of-flow) в SQL Server. Они содержат команды условий (IF) и команды циклов для повторяющихся вычислений. Для хранения данных и вычислений можно также определять переменные.
В дополнение к перечисленным возможностям, эти языки также позволяют создавать хранимые процедуры, то есть программы, написанные на языке СУБД, скомпилированные на машинный язык и сохраненные для повторного и более эффективного выполнения. Заданные хранимые процедуры также разрешают передачу входных и выходных параметров, что позволяет программисту создавать модульные системы и определять модули-утилиты, которые можно использовать с несколькими приложениями.
В рамках данной лабораторной работы рассматриваются основные принципы манипуляции данными в среде MS SQL Server. Рассматриваются методы определения запросов к базе данных, язык управления потоками и хранимые процедуры.
Для выполнения лабораторной работы требуется знание основ реляционной алгебры и реляционного исчисления, методов проектирования реляционных баз данных и управления ими с помощью языка SQL.
В результате выполнения лабораторной работы Вы познакомитесь с различными технологиями осуществления запросов на SQL-сервере, освоите язык манипулирования данными и его алгоритмическое расширение.
1. ТЕХНОЛОГИИ СОЗДАНИЯ ЗАПРОСОВ SQL-сервера
Запросы к базе данных в SQL-сервере могут формироваться разными средствами. Специализированной утилитой для выполнения SQL-сценариев является SQL Server Query Analyzer. В Query Analyzer предусмотрен редактор запросов с цветовой разметкой и вывод графического плана запроса. Программ Query Analyzer предоставляет следующие возможности:
- выполнять операторы SQL;
- анализировать планы запроса;
- отображать статистику запроса;
- производить индексный анализ.
Эта утилита функционирует в среде Windows, что делает ее удобной в использования. При запуске система в диалоговом окне запрашивает имя SQL-сервера, имя пользователя и его пароль. Воспользовавшись введенной информацией, система осуществляет подключение утилиты к данному SQL-серверу.
Основное окно утилиты (рис. 1) разделено на две части. В верхней части пользователем осуществляется ввод команд, требующих выполнения. По завершении ввода следует воспользоваться кнопкой запуска SQL-запроса после чего в нижней части данного окна отобразятся результаты выполнения запроса.
Также для запуска SQL-запроса можно воспользоваться командой Execute меню Query, или клавишей F5. Если пользователем введено несколько команд, а требуется выполнить только некоторые из них. то следует выполнить следующие действия:
1. выделить необходимые команды мышью или стрелками управления (при этом следует удерживать клавишу Shift);
2. нажать комбинацию клавиш Ctrl-E или F5.
Рис. 1 Основное окно утилиты Query Analyzer
Если в процессе выполнения запроса возникает необходимость в его отмене, то следует воспользоваться кнопкой g, расположенной на панели инструментов утилиты, или командой Cancel Executing Query меню Query. Корректность выполнения запроса без его запуска проверяется с помощью кнопки b или выбором команды Parse из меню Query.
Если в системе SQL-сервер имеется несколько баз данных, то часто возникает необходимость использования только одной из них. В этом случае следует указывать в SQL-операторах слева от каждой таблицы имя базы данных, к которой она принадлежит. Другим вариантом является возможность использовать утилиту Query Analyzer, на панели инструментов которой расположен выпадающий список всех баз данных SQL-сервера, к которому было осуществлено подключение. На это следует обратить особое внимание, т.к. без указания названия базы данных в SQL-операторах и некорректном выборе базы данных в этом списке, утилита выведет сообщения об ошибке.
В процессе работы часто требуется сохранять запросы для дальнейшего использования. В этом случае утилита позволяет создать специальный пакетный файл с расширением *.sql, который будет содержать в себе текст SQL-запроса. Основные команды манипулирования с данными файлами находятся в меню File утилиты.
На рис.1 приведены основные кнопки панели инструментов утилиты и их краткое описание.
Рис.1.
Панель инструментов утилиты Query Analyzer
Ключ | Описание | |
Создание нового окна запроса | ||
Открытие существующего пакетного файла | ||
Сохранение информации в пакетном файле | ||
Очистка окна ввода запроса | ||
Вырезать текст в буфер обмена | ||
Копировать текст а буфер обмена | ||
Вставить текст из буфера обмена | ||
Поиск вхождения текстового фрагмента в окне ввода запроса | ||
Выбор внешнего вида отображения результатов запроса Results in Text - в виде текста, Results in Grid - в виде таблицы. Show Execution Plan - добавление закладки статистического разбора запроса | ||
Проверка корректности выполнение запроса | ||
Выполнение запроса | ||
Прерывание выполнения запроса | ||
Отображение дополнительной статистической информации о процессе выполнения запроса | ||
Вывод диалогового окна параметров текущего соединения | ||
Убрать/вывести панель результатов запроса | ||
Установка текущей базы данных в SQL-сервере |
При использовании кириллицы при вводе информации в таблицы базы данных SQL-сервера может возникнуть ситуация некорректной установки типа шрифта, используемого при отображении результатов запроса. В этом случае следует воспользоваться командой Font меню View, после чего в открывшемся диалоговом окне необходимо выбрать шрифт, поддерживающий отображение кириллицы.
Утилиту Query Analyzer удобно использовать при составлении запросов и дальнейшем их размещении в разрабатываемых системах, например в среде Visual Basic или Microsoft Office.