Query Analizer

advertisement
Лабораторная работа № 5
MySQL Query Analyzer — новый инструмент для анализа запросов в MySQL Enterprise
Теория :
SQL Query Analyzer – интерактивное графическое средство, которое позволяет администратору базы
данных или разработчику писать запросы, выполнять различные запросы одновременно,
просматривать результаты, анализировать план запроса и получать поддержку для улучшения плана
выполнения. Опция просмотра плана выполнения графически показывает методы получения данных,
используемые оптимизатором запроса Microsoft SQL Server 2000. В графическом исполнении плана
используются иконки для представления специфичных действий и запросов в SQL Server, а не
изображения в виде таблиц, созданных инструкциями SET SNOWPLAN_ALL или SET
SNOWPLAN_TEXT. Это очень полезно для понимания скоростных показателей запроса. Кроме того,
SQL Query Analyzer показывает советы по дополнительным индексам и статистическим данным в
неиндексируемых колонках, что улучшит возможности оптимизатора запроса рационально
обработать запрос. В частности, SQL Query Analyzer показывает какие статистические данные
пропущены, тем самым, заставляя оптимизатор запроса давать оценку по селективности, а затем дает
возможность создать пропущенные статистические данные.
1. Запустите Query Analyzer из меню Start (Пуск)
1. В панели задач нажмите кнопку Start (Пуск).
2. Перейдите к Programs (Программы) и выберите папку Microsoft SQL Server. Откроется папка
Microsoft SQL Server со списком значков.
3. Щелкните на значке Query Analyzer.
Query Analyzer отобразит диалоговое окно Connect To
SQL Server (Соединение с SQL Server).
2. Аутентификация.
В открывшемся окне нам необходимо выбрать сервер а также ввести данные для соединения с
сервером. Также нам предлагается выбрать стандартные данные.которые мы используем для входа в
операционную систему.
Убедитесь в правильном выборе сервера и режима аутентификации, а затем нажмите OK. Query
Analyzer соединится с сервером, а затем откроется. Query Analyzer соединится с той базой данных,
которая была выбрана по умолчанию для вашей учетной записи.
Если ввести неверные данные то мы увидим следующее окно :
В данном окошке нам выдаётся сообщение которое указывает на ошибку. В моём случае ошибкой
является неверный ввод логина и пароля, так как я использовал логин по умолчанию.
Моими аутентификациоными данными являются логин и пароль с которыми я вхожу в
систему, поэтому я ставлю галочку на Windows authentication и захожу в панель управления.
Нам открывается окошко в конце которого указывается логин под которым мы зашли, в моём
случае это Админ и название документа, то есть в данном случае Безымянный.
Если сервер не настроен на автоматический запуск при соединении, то можем установить
флажок Start SQL Server If It Stopped (Запускать SQL Server, если он остановлен) для включения этой
опции.
Выбор базы данных
Query Analyzer будет использовать текущую выбранную базу данных для разрешения ссылок в
запросах и других операторах Transact-SQL. Панель инструментов, показанная ниже, содержит поле
со списком, в котором отображается текущая выбранная база данных. Вы можете переключится на
другую базу данных, выбрав ее имя в панели инструментов или в меню Query (Запрос).
Далее рассмотрим каждую кнопку на панели инструментов. Но прежде чем начинать работать
дальше нам необходимо выбрать базу данных над которой будут совершаться дальнейшие операции.
В данном случае я выберу стандартную БД для того чтобы продемонстрировать возможности этого
менеджера.
Первым инструментов является клавиша Show Results Pane
Следующей клавишей является Execute Query, то есть выполнить запрос . на панели инструментов
данную команду отображает кнопка : . В итоге мы получаем результат нашего запроса который
отображается либо в виде списка либо в виде таблицы.
Но за это отвечает уже другая кнопка под названием Execute mode она имеет вид :
. Наиболее
часто используемый вариант отображения результата является ТАБЛИЦА. Так как этот вариант
позволяет с лёгкостью увидеть данные.отредактировать их по столбцам и колонкам или если
необходимо то и перенаписать запрос.
На панели также имеется ещё одна кнопка, которая отвечает за вид окна называется Display
Estimated Execution Plan. Имеет вид
. При активном окне на рабочем столе отображается поле
для написания запроса и второе поле которое указывает на имеющиеся таблицы данных в нашей базе
данных.
Нашим следующим шагом является написание первого запроса из тестируемой таблицы .
Данный запрос выбирает поля с идентификационным номером и фамилией из базы данных Authors .
После успешного выполнения мы видим схему выборки из базы данных. Таким образом мы можем
выбрать любые поля которые нам необходимы в этой таблице. не затрагивая сторонние и тем самым
не нагружая сервер без надобности. Ниже мы видим данные нашей таблицы и затрату ресурсов
которую мы получили в результате запроса :
Следующим пунктом является :
Transact-SQL (T-SQL) — процедурное расширение языка SQL компаний Microsoft (для Microsoft
SQL Server) и Sybase (для Sybase ACE).
SQL был расширен такими дополнительными возможностями, как:




управляющие операторы
локальные переменные
различные дополнительные функции (для обработки строк, дат, математические и др.)
поддержка аутентификации Microsoft Windows
Операторы :
В качестве операторов выступают знакомые нам +, - , / , * , % , = .
Но кроме стандартных операторов имеются также и логические операторы :
Adevăr dacă toată mulţimea definită de expresie este adevăr - ALL
Adevăr dacă ambele expresii оn structura instrucţiunii au valoarea adevăr - AND
Adevăr оn cazul cвnd operandul este din intervalul fix - BETWEEN
Adevăr cвnd un element din expresie este adevărat - IN
Adevăr оn cazul cвnd operandul găseşte un element - LIKE
Inversează valoarea booleană - NOT
Adevăr dacă cel puţin una din expresiile constante оn structura comenzilor
are valoarea adevăr – OR.
Также имеются управляющие операторы .
Для управления потоком исполнения в Transact-SQL используются следующие операторы: BEGIN и
END, BREAK, CONTINUE, GOTO, IF и ELSE, RETURN, WAITFOR и WHILE.
Рассмотрим их более подробно :
SELECT [Тип] <список полей> FROM <название_таблицы> [условия] .
Проведём первый запрос на выборку всех данных из таблицы:
SELECT * FROM authors
В данном случае мы вывели все поля со всеми данными из таблицы авторов.
Но мы можем и сделать выборочный запрос :
SELECT address , phone FROM authors
В данном случае мы запросили адрес и номер телефона из той же таблицы и мы видим что результат
является именно тот который нам нужен и нет никаких лишних данных.
Также можем увидеть результат представленный не в виде таблицы. а виде диаграмм :
Таким образом комбинируя команды мы можем соединятся с базой данных и осуществлять выборку
нужных нам данных.
Например если ввести другую команду, указывая другие свойства полей то можно получить совсем
другой результат :
Функции (Transact-SQL)
SQL Server содержит множество встроенных функций, а также поддерживает создание определяемых
пользователем функций.
Функции работы с наборами строк - Возвращают объект, который можно использовать так же, как
табличные ссылки в SQL-инструкции.
Статистические функции - Обрабатывают коллекцию значений и возвращают одно результирующее
значение.
Ранжирующие функции - Возвращают ранжирующее значение для каждой строки в секции.
Скалярные функции - Обрабатывают и возвращают одиночное значение. Скалярные функции можно
применять везде, где выражение допустимо.
AVG - Возвращает среднее арифметическое для значений выражения; null-значения игнорируются
COUNT - Возвращает количество элементов в выражении (равное количеству строк)
COUNT_BIG - То же самое, что и COUNT, но результат имеет тип данных bigint, а не int
GROUPING - Возвращает специальную дополнительную колонку; применяется, только когда
предложение GROUP BY содержит операцию CUBE или ROLLUP. Для дополнительной информации
откройте в SQL Server Books Online вкладку Index (Предметный указатель) и откройте тему
"GROUPING keyword"
MAX - Возвращает максимальное значение из значений выражения
MIN - Возвращает минимальное значение из значений выражения
STDEV - Возвращает статистическое стандартное отклонение (statistical standard deviation) для всех
величин выражения. Эта функция предполагает, что выражения, используемые в расчете, являются
образцом всей совокупности данных
STDEVP - Возвращает статистическое стандартное отклонение для всех величин выражения. Эта
функция предполагает, что выражения, используемые в расчете, являются всей совокупностью
данных
SUM - Возвращает сумму всех значений выражения
VAR - Возвращает статистическое отклонение (statistical variance) для всех значений из выражения.
Эта функция предполагает, что выражения, используемые в расчете, являются образцом всей
совокупности данных
VARP - Возвращает статистическое отклонение для всех значений из выражения. Эта функция
предполагает, что выражения, используемые в расчете, являются всей совокупностью данных
Ниже приведу пару пример использования данных функций на практике.
Например если нам необходимо узнать количество строк в таблиц с данными, а таблица имеет
большой размер и количество строк сосчитать будет сложно, то используем следующую функцию :
SELECT COUNT (*) FROM authors
То есть выбрать количество всех строк из таблицы authors .
В данной таблице 23 строки. так как это число является не очень большим то мы можем сосчитать их
количество без каких-либо функций дабы убедится в правильности использования синтаксиса данной
функции.
Вывод :
В ходе выполнения данной лабораторной работы мы узнали много нового. Основным является то что
мы узнали как соединится с базой данных и осуществить запрос с помощью команд. То есть теперь
для того чтобы отредактировать таблицу не обязательно искать эту таблицу в списках всех остальных
и потом искать нужную ячейку, а можно написать запрос в базу данных , который и осуществит это
вместо нас или других пользователей, это позволяет существенно экономить время обработки данных
и физические силы пользователей.
Так же мы узнали что не всегда могут быть нужны все данные той или иной таблицы, а чаще всего
эти данные используются раздельно, и команды позволяют осуществить выборку из данных, выбирая
соответствующие поля и другие параметры. Это экономит время запроса, ресурсы системы и
ускоряет обработку данных, что является большим преимуществом в выполнении больших проектов.
Все данные которые мы получаем после выполнения запроса можно сохранить для дальнейшего
использования в различных целях.
На данной лабораторной работе мы впервые столкнулись с функциями в MySQL Server,
использовали команды и выводили полученные данные в виде диаграмм. Таким образом мы на
собственном опыте убедились в широких возможностях программы MySQL Server.
Download