Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД4_lr.doc
Скачиваний:
3
Добавлен:
13.11.2019
Размер:
115.71 Кб
Скачать

9

Лабораторная работа № 4

Тема: "Извлечение данных средствами Transact SQL"

Цель работы: усвоить способы создания представлений и выборки данных средствами СУБД MS SQL Server 2000.

Краткие теоретические сведения

Запрос - команда которую вы даете вашей базе данных, и которая сообщает ей чтобы она вывела определенную информацию из таблиц в память. Эта информация обычно посылается непосредственно на экран компьютера или терминала, хотя, в большинстве случаев, ее можно также послать принтеру, сохранить в файле (как объект в памяти компьютера), или представить как вводную информацию для другой команды или процесса.

Меню Query Query Analyzer

Запрос состоит из некоторого числа команд и параметров, используемых для проверки данных или манипуляции ими в базе данных. В меню Query (Запрос) располагаются, пожалуй, наиболее важные команды Query Analyzer.

Команда Query|Change Database (Запрос|Сменить базу данных) меняет базу данных, к которой обращается запрос. После выполнения команды Change Database откроется диалоговое окно выбора базы данных. Обратите внимание на два важных параметра: Compatibility Level (Уровень совместимости) и Status (Состояние).

По команде Compatibility Level выводится версия SQL Server, с которой совместимы снизу вверх базы данных, перечисленные в списке. Значение 80 обычно означает SQL Server 2000 - то есть, текущую версию. Уровни совместимости затрагивают многие аспекты баз данных - от функциональных средств до допустимости того или иного формата.

Второй столбец - Status. База данных может находиться в различных состояниях - например, включена или выключена. В данном столбце перечисляются состояния баз данных. Если база данных находится во включенном состоянии (пустая строка), к ней можно обращаться для извлечения или модификации данных и т. п. Если же база данных выключена, в ней нельзя проводить каких бы то ни было операций.

Выделите какую-либо из баз данных. Какую - не имеет значения; мы с ней не будем ничего делать. Нам надо лишь поменять балу данных, с которой мы можем работать. Обратите внимание, что база данных master осталась выделенной голубым цветом. Щелкните на кнопке ОК. Обратите внимание на поле со списком справа, в котором указана текущая база. Это подтверждение того, что теперь мы работаем с другой БД.

Описанная выше смена базы данных затрагивает только активную панель Query Analyser. Если открыты несколько панелей запросов, все неактивные останутся подключенными к прежним базам данных.

Описанная выше процедура приводит лишь к временной смене базы данных; после нового запуска Query Analyser, вновь будет установлена база данных по умолчанию.

По команде Parse (Синтаксический анализ) выполняется синтаксический анализ исходного текста, расположенного в античной панели запросов, для проверки на наличие ошибок. Код не выполняется, происходит только проверка синтаксиса. Следовательно, не происходит никакой проверки объектов баз данных и правильности значений переменных.

Команда Execute (Выполнить) запускает код, исходный текст которого расположен в активной панели запросов. Код из остальных панелей запросов Query Analyzer не запускается.

Иногда возникает необходимость прервать выполнение запроса. Для этого применяется команда Cancel Executing Query (Отмена выполнения запроса). В случае локального SQL Server команда, как правило, выполняется успешно, в случае удаленного - результат зависит от сервера - от того, какого рода процесс на нем выполняется. Если команда не выполняется, можно обратиться к более сложным методам прерывания выполнения задачи.

Нам придется иметь дело с тремя командами Results in... (Результаты в виде. Первая - Results in Text (Результаты в виде текста), - задает вывод результатов в текстовом формате. Для текста выбирается шрифт фиксированной ширины, что обеспечивает посимвольное выравнивание и вывод с группированием данных по столбцам, каждый ил которых обозначен заголовком. Табличный формат устанавливается командой Results in Grid. Cообщения, возвращаемые каждым запросом, выводятся в отдельные вкладки. Results to File задает запись результатов запроса в файл ,который можно открыть вне Query Analyzer.

По команде Query Current Connection Properties (Свойства текущего соединения) открывается диалоговое окно Current Connection Properties, в котором можно отрегулировать параметры соединения.

Флажок Set noexec определяет, что запуск запроса приводит не к его выполнению, а лишь к проверке, правильно ли он составлен. В случае обнаружении синтаксических ошибок, выводится соответствующее сообщение

Флажок Set parseonly отличается от Set noexec тем, что не задает компиляции исходного текста. Следовательно, в этом случае производится только проверка синтаксиса, но не возможности обращения к объектам базы данных или сервера. Таким образом, обнаруживаются ошибки в написании SQL-команд, но не имен таблиц или их столбцов.

Синтаксис редактирования этого свойства в тексте запроса:

Set parseonly ON

Set parseonly OFF

Значение, введенное в поле Set rowcount , задает число строк, возвращаемых в панель результатов. Это бывает удобно в случаях, когда запрос возвращает большой объем данных, из которых нужны только первые п строк.

Синтаксис установки этого значения в тексте запроса:

Set rowcount n

Здесь п - число возвращаемых строк результата.

По умолчанию флажок Set ansi_defaults недоступен. Установка всех флажков, расположенных ниже, делает Query Analyzer соответствующим стандарту ANSI SQL-92.

Параметр Set quoted_identifier определяет, какие элементы синтаксиса должны заключаться в дойные кавычки - строковые значения или идентификаторы (например, имена столбцов таблиц).

Использование двойных кавычек для обозначения строковых значений можно задать в тексте запроса, воспользовавшись оператором SET QUOTED_IDENTIFIER OFF. Cброшенный (OFF) флажок позволяет обозначать строковые значения как одинарными, так и двойными кавычками.