Программирование баз данных MS SQL Server (1084479), страница 16
Текст из файла (страница 16)
Подробные сведения об этих меню приведены ниже, а сейчас попытаемся ввести свой первый запрос. Введите следующий код в окне ввода запросов: экькст * Рвом 1НРОВилттои эснеиА.ТАВьнэ Обратите внимание на то, как изменяется цветовое выделение ключевых слов и конструкций по мере их ввода. Ключевые слова оператора должны быть выделены синим цветом; нераспознаваемые элементы, такие как имена столбцов и таблиц (которые могут быть приняты произвольно для каждой таблицы в каждой базе данных на каждом сервере), — черным цветом; параметры и знаки операций в операторах— красным цветом. Разберитесь в том, как действует цветовое выделение и научитесь им пользоваться. Связанные с цветовым выделением возможности позволяют вьиавливать многие программные ошибки еще до того, как будет передан на выполнение сам оператор (и получено результирующее сообщение об ошибке).
Пиктограмма на панели инструментов со знаком галочки представляет собой еще один простой элемент отладки, с помощью которого осуществляется оперативный синтаксический анализ запроса еще до осуществления попытки передать соответствующий оператор на выполнение. Это позволяет сразу обнаружить синтаксические ошибки в тексте оператора, не дожидаясь появления сообщения об ошибке, сформированного самой системой.
Еще одним средством поиска ошибок может служить отладчик. Более подробная информация по этой теме приведена в главе 12. 'Теперь щелкните на кнопке Ехеси1е (Выполнить) панели инструментов; эта кнопка обозначена стоящим перед ней красным восклицательным знаком. После этого в окне ввода запросов произойдут изменения, как показано на рис. 2.10. Рис.
2.10. Изменения в окно ввода запросов Доступные инструментальные средства 71 Обратите внимание на то, что теперь главное окно автоматически разделено на две области (см. рис. 2.10). В верхней области остался первоначально введенный текст запроса, а в нижней, называемой областью результатов, выведены полученные результаты. Кроме того, следует отметить, что в верхней части области результатов имеются вкладки.
В дальнейшем, после вызова на выполнение запросов, которые возвращают несколько наборов данных, обнаружится, что каждую из этих совокупностей результатов можно просматривать на отдельных вкладках. Такая возможность является очень удобной, поскольку зачастую невозможно заранее предвидеть, какой объем должен иметь каждый полученный набор данных, или результирующий набор. Дяя"обФначенгия;:дебора,данных,-вазаращаамогй в раауяьтатв еыроянвннв 'накстпррй коМаясдм,'Чаотр 'ИСВЭОВЬауГатея тарМИйвцжвуЛЬтярувщпй.;Набер Н "На6ОГр'страх;,ВСЕ'.Приьадаи'.",':, нйа''здйс~ твРмн!зм магут расаь1атрнввться как, ваанмрзвьгаияамма. После этого откорректируем значения одного-двух параметров и рассмотрим, к каким изменениям это приведет.
Обратите внимание на то, что над окном ввода запросов имеется панель инструментов, особо отметив ряд, состоящий из трех пиктограмм, которые обведены рамкой на рис. 2.11. Эти пиктограммы позволяют определять способ оформления выходных данных. В порядке слева направо эти пиктограммы обозначаются как йеви11з 1п Техт, йезийв !и 6г!с! и йеви11в 1о г1!е.
Такие хге варианты оформления вывода можно выбрать с помощью меню Оиегу, раскрыв в нем подменю йези11в То. Ряс. 2.1В Пняянярази Яевийв !и Техг Яеэийв 1п Опт! и Яеэийв го Я!!е 72 Глава 2 Опция Яевийв йу Тех2 При использовании опции Вевцйв )п Тех( все выходные данные запроса помещаются на одну страницу с текстовыми результатами. Страница может иметь фактически сколь угодно большую длину (ограниченную только объемом доступной памяти в системе). Прежде чем приступить к дальнейшему изучению этой темы, повторно запустите предыдущий запрос с использованием этой опции и ознакомьтесь с полученными данными. Для этого выберите опцию ВезпИз 1и Тех( и снова выполните предыдущий запрос, щелкнув на зеленой стрелке (рис.
2.11). Полученные данные полностью совпадают с теми, что были сформированы перед этим. Единственное отличие состоит в том, что они представлены в другом формате. Автор рекомендует использовать такой метод вывода в ситуациях, описанных ниже. О При получении единственного результирующего набора, столбцы которого имеют довольно небольшую ширину. О Если есть необходимость сохранить полученные результаты в единственном текстовом файле. О Если должно быть получено несколько результирующих наборов, но ожидаемый объем возвращаемых результатов невелик и желательно вывести несколько результирующих наборов на одну страницу, чтобы не приходилось использовать для их просмотра несколько линеек прокрутки.
Опция ВевиНВ 1и Опб При использовании опции Вези)(в )п бг!с) данные столбцов и строк располагаются в виде сетки. Ниже описаны дополнительные преимущества, предоставляемые при применении этой опции, которые нельзя получить с помощью опции Йезц!(з 1и Техб С3 Предоставляется возможность изменять размеры столбца; для этого достаточно провести указатель мыши над правым краем заголовка столбца, а затем щелкнуть и перетащить край столбца, установив его новый размер. А двойной щелчок на правом краю рамки столбца в области заголовка приводит к тому, что выполняется автоматическая подгонка ширины столбца в соответствии с размерами полей с данными. О Разрешено выбирать сразу несколько ячеек, а затем вырезать их и вставлять в другую сетку (скажем, в окне программы М)сгозогг Ехсе!), после чего они будут рассматриваться как отдельные ячейки.
(При использовании опции !!евцйв 1п Тех) все вырезанные данные вставляются в одну ячейку.) С1 Обеспечивается возможность выбрать только один или два столбца в данных, состоящих из нескольких строк. (Если при использовании опции !тези!(з !п Тех( выбирается несколько строк, то во всех промежуточных строках выбирается каждый столбец; с другой стороны, если требуется обозначить подсветкой (выбрать) только часть столбцов, то допускается отмечать только подряд идущие столбцы.) Автор использует опцию г)езцйз 1и 6пс1 для выполнения почти любой работы, поскольку обычно требуется по крайней мере одна из только что перечисленных возможностей.
Доступные инструментальные средства 73 Просмотр плана выполнения После вызова каждого запроса на выполнение в БЯ1. Яегтег осуществляется синтаксический анализ запроса, потом запрос подразделяется на составные части, которые передаются оптимизатору запросов. Оптимизатор запросов представляет собой компонент СУБД 591. Ьегоег, который определяет наилучший способ выполнения запроса, находя компромисс между такими конфликтующими требованиями, как максимально быстрое получение результатов и оказание минимального отрицательного воздействия на работу других пользователей.
Применение опции Зйоте Езйта1ес! Ехеснйоп Р)ап (Показать предполагаемый план выполнения) позволяет получить графическое представление и дополнительную информацию о том, как СУБД ба. Яегтег планирует выполнение запроса. Аналогичным образом, может быть разрешено применение опции )пс)пс)е Ас1на! Ехесцйоп Р!ап (Включить действительный план выполнения). Чаще всего действительный план выполнения совпадает с предполагаемым планом выполнения, но иногда между этими планами выполнения обнаруживаются различия, связанные с тем, что оптимизатором было принято решение внести изменения в план во время прогона запроса, а также обнаружились расхождения между действительной стоимостью выполнения запроса и тем значением стоимости, которое было первоначально принято оптимизатором в качестве предположения.
Ознакомьтесь с тем, как выглядит план запроса на примере рассматриваемого в данной главе простого запроса. Для этого щелкните на пиктограмме )пс)обе Ас1па! Ехвсц1)оп Р)ап и снова вызовите запрос на выполнение, как показано на рис. 2.12. Рис. 2.12. Вьиюлиеиие запроси е ярииеиеиики опции !пс!ис!е Ас!иа! Ехесинап Р!ап 74 Глава 2 Обратите внимание на то, что для просмотра плана выполнения необходимо щелкнуть на вкладке Ехесц1юп Р(ап. а результаты запроса по-прежнему отображаются в том формате, который для них выбран. Опция ВЬЮ Ез()п!а1еб Ехеспйоп Р(ап позволяет получить такие же выходные данные, как и опция (по!цс(е Ас1ца! Ехесийоп Р)ап, не считая двух указанных ниже различий.
При использовании опции ЗЬоа Ев((гпа1ес! Ехесцйоп Р(ап план предоставляется немедленно, а не после выполнения запроса. О Опция ЗЬочг Ез1нпа1еб Ехесийоп Р(ап позволяет ознакомиться с планом, с применением которого действительно будет происходить запуск запроса на выполнение, но вся информация о стоимости является предполагаемой, полученной еще до фактического выполнения запроса.
А при использовании опции )пс)ис)е Ас1ца! Ехеси1юп Р)ап план запроса отражает состояние, достигнутое после физического выполнения запроса, и полученная информация о стоимости является действительной, а не предполагаемой. Поле со слиском баз данных Наконец, интерес представляет поле со списком баз данных программы БО). Беггег Мапаяешепг Бгцб!о.
Коротко можно отметить, что именно это поле позволяет выбрать применяемую по умолчанию базу данных, данные которой будут использоваться при выполнении запросов, представленных в текущем окне. Первоначально окно запросов открывается для работы с базой данных, применяемой по умолчанию для учетной записи, в которой зарегистрировался пользователь (для пользователя за таковой является база данных вазгег, если только в системе не был выполнен переход к использованию по умолчанию друтой базы данных). После этого можно перейти к использованию любой другой базы данных, доступ к которой разрешен для текущей учетной записи.