ACCESS_2010-ч2
.pdf60
в окне Выбор источника данных на вкладке Источник данных компьютера выберите имя созданного вами пользовательского источника данных и нажмите [ОК];
в окне Вход в сервер SQL введите имя пользователя и пароль для входа в сервер;
в окне Связь с таблицами выделите таблицы dbo.INVEST, dbo.ISPVVP, dbo.OSNOVA, dbo.PROM, dbo.RAZNOE, dbo.SX, dbo.TORG, dbo.VVP
щелчком по ним и нажмите [ОК];
в окне Выбор однозначного индекса выбирайте поле GOD для создания ключа каждой выбранной таблицы (ключ связанной таблицы используется при работе на компьютере-клиенте и не создается в таблице на сервере) и нажимайте [ОК].
Таблицы БД ECONOMICS_OF_RB отобразятся со специальными значками в списке таблиц окна локальной БД РАБОЧАЯ, как показано на рис. 1.3.
Рис. 1.3. Таблицы БД ECONOMICS_OF_RB в окне локальной БД
РАБОЧАЯ
1.2.3. Создание запросов к базе данных ECONOMICS_OF_RB
Задание 1.5. Выбрать из таблицы OSNOVA сведения о численности занятых в народном хозяйстве, о численности безработных, о численности населения и представить их по годам.
Реализация задания с помощью запроса на языке SQL:
SELECT GOD, ZAN, BEZ, NAS
61
FROM OSNOVA
Выполнение задания
Откройте окно Конструктора SQL-запроса, как это вы делали в задании
1.2. Затем выполните следующее:
наберите указанную SQL-команду;
нажмите кнопку [К серверу];
выполните запрос, нажав кнопку [Выполнить];
в окне Выбор источника данных на вкладке Источник данных компьютера выберите имя созданного вами пользовательского источника данных и [OK];
в окне Вход в сервер SQL введите имя пользователя и пароль для входа в сервер и [OK].;
проанализируйте результат запроса;
сохраните запрос с именем К ЗАДАНИЮ 5, закрыв окно запроса или по команде Файл/Сохранить.
Задание 1.6. Выбрать из таблицы OSNOVA сведения о среднемесячной заработной плате работников в 2008 г.
Реализация задания с помощью запроса на языке SQL:
SELECT GOD, ZARPL
FROM OSNOVA
WHERE GOD = 2008
Выполнение задания
Откройте предыдущий SQL-запрос в режиме Конструктора. Затем выполните следующее:
отредактируйте SQL-команду соответственно ее записи в заданию 1.6;
выполните запрос к серверу, как это вы делали в задании 1.5;
проанализируйте результат запроса;
62
сохраните запрос с именем К ЗАДАНИЮ 6 по команде Файл/Сохранить объект как.
Последующие задания выполняйте аналогично выполнению задания
1.6. Анализируйте результаты запросов. Запросы сохраняйте в файлах с именами К ЗАДАНИЮ №, где № – это число после точки в номере задания.
Задание 1.7. Используя данные таблицы OSNOVA, определить, в какие годы индекс потребительских цен превысил 200?
Реализация задания с помощью запроса на языке SQL:
SELECT GOD, INDZEN
FROM OSNOVA
WHERE INDZEN > 200
Задание 1.8. Используя данные таблицы OSNOVA, определить, в какие годы численность населения была больше 10000 тыс. чел. и меньше 10200 тыс. чел.?
Реализация задания с помощью запроса на языке SQL:
SELECT GOD, NAS
FROM OSNOVA
WHERE NAS > 10000 AND NAS < 10200
Задание 1.9. Используя данные таблицы OSNOVA, определить: в какие годы индекс среднемесячной реальной заработной платы составил 220,8 или
450,2?
Реализация задания с помощью запроса на языке SQL:
SELECT GOD, INDZR
FROM OSNOVA
WHERE INDZR = 220.8 OR INDZR = 450.2
63
Задание 1.10. Используя данные таблицы OSNOVA, определить, в какие годы индекс потребительских цен составил или 108, или 280, или 350?
Реализация задания с помощью запроса на языке SQL:
SELECT *
FROM OSNOVA
WHERE INDZR IN(220.8, 238.2, 349)
Задание 1.11. Выбрать из таблицы OSNOVA все данные, не относящиеся к
1998 г.
Реализация задания с помощью запроса на языке SQL:
SELECT *
FROM OSNOVA
WHERE NOT GOD = 1998
Врезультате созданные запросы к базе на сервере
ECONOMICS_OF_RB отобразятся в окне Все объекты Access со специальным значком, как на рис. 1.4.
Рис. 1.4. Созданные в БД РАБОЧАЯ
запросы к БД ECONOMICS_OF_RB на сервере
Задание 1.12. Удалить пользовательский источник данных.
Выполнение задания
Вызовите Мастер ODBC как описано в задании 1.3. В окне
Администратор источников данных ODBC на вкладке
64
Пользовательский DSN выделите созданный вами пользовательский
источник данных, нажмите [Удалить] и подтвердите удаление.
1.3. Использование клиентского приложения Query Analyzer
для формирования запросов к базе данных на сервере
Функциональные возможности Query Analyzer
В качестве клиентского приложения в архитектуре клиент/сервер может выступать компонент сервера баз данных Microsoft SQL Server –
Query Analyzer. Это специализированное средство для создания запросов к базе на сервере на языке Transact-SQL, который является диалектом языка
SQL.
Query Analyzer имеет графический пользовательский интерфейс,
который позволяет:
создавать запросы выбора и запросы на внесение изменений в БД на языке Transact-SQL и выполнять их;
отображать результат запроса рядом с командой Transact-SQL;
представлять результат запроса в различных видах с целью возможности его обработки другими приложениями;
выводить на печать содержимое области ввода команды Transact-SQL и
области результата запроса;
выполнять выделенную часть сформированного запроса;
работать с запросами в нескольких окнах запроса;
использовать шаблоны команд Transact-SQL и редактировать их в соответствии с собственными требованиями;
применять Браузер объектов БД для упрощения процесса построения запросов. Он позволяет быстро находить объекты БД, просматривать их и работать с ними и др.
Описание команды SELECT языка Transact-SQL
65
Transact-SQL – это диалект языка SQL, используемый сервером баз данных Microsoft SQL Server.
Формирование запросов выбора к базе на сервере осуществляется с помощью команды SELECT языка Transact-SQL. Приведем усеченный формат этой команды:
SELECT [ALL DISTINCT| DISTINCTROW |
[TOP n [PERCENT]]] [<список_полей>] *
[INTO <имя_новой_таблицы>]
[FROM {< имя_таблицы>},...] [WHERE <условие>]
[ORDER BY {<имя_поля>[ASC] DESC},...] [GROUP BY {<имя_поля>},...] [COMPUTE-предложение]
[FOR BROWSE]
Поясним только ключевые слова, не встречающиеся в команде
SELECT, поддерживаемой в SQL-2. Описание остальных ключевых слов приведено в подразделе 1.4 темы 3.
Результат запроса можно сохранить в новой таблице БД, используя ключевое слово INTO.
Предложение COMPUTE генерирует итоговые значения, которые отображаются в результирующей таблице запроса как дополнительные записи.
Предложение FOR BROWSE используется для чтения таблицы, в
которой в данный момент другой клиент удаляет, добавляет или обновляет записи.
К командам Transact-SQL можно давать комментарии, которые начинаются с двух знаков "-" (минус).
66
Задание 1.13. Запустить Query Analyzer. Соединиться с сервером, на котором находится база данных ECONOMICS_OF_RB. Сделать текущей эту базу. Настроить окно Query Analyzer для работы.
Выполнение задания
Осуществите запуск клиентского приложения Query Analyzer.
После запуска появится окно Connect to SQL Server, в котором для соединения с сервером выполните следующее:
введите в поле "SQL Server" имя сервера (его узнайте у преподавателя);
выберите SQL Server аuthentication (соединение с помощью учетной записи SQL Server);
укажите в поле "Login name" имя пользователя БД (его узнайте у преподавателя);
введите в поле Password пароль (его узнайте у преподавателя).
Сделайте текущей базу данных ECONOMICS_OF_RB, введя команду
Query/Change database.
В появившемся окне Select Database of <имя сервера > выберите
ECONOMICS_OF_RB и нажмите [ОК].
Если не включено окно результатов запроса, то включите его по команде
Window/Show Results Pane.
Если не отображен Браузер объектов, то отобразите его по команде
Tools/Object Browser/Show|hide.
В результате окно Query Analyzer будет иметь вид, как на рис. 1.5.
67
Браузер |
Строка |
Панель |
|
|
|||
меню |
инструментов |
||
объектов |
|||
|
|
Окно
запросов
Окно
результатов
Строка
состояния
Рис. 1.5. Окно Query Analyzer
Браузер объектов представляет собой древовидный графический инструмент, служащий для навигации по объектам в БД. В Браузере объектов может отображаться область объектов и область шаблонов. Переключение между областями осуществляется с помощью вкладок Objects и Templates.
На вкладке Objects представляются БД, их таблицы, встроенные функции и др. Вкладка Templates предоставляет доступ к шаблонам команд создания БД, таблиц, индексов и др. Помимо навигации Браузер объектов
68
предоставляет возможность генерации определенных команд Transact-SQL
для выбранного объекта БД.
Меню Query Analyzer описано в приложении Б.
Строка состояния Query Analyzer показана на рис. 1.6.
Рис. 1.6. Строка состояния Query Analyzer
В ней отображается следующая информация:
0– состояние текущей операции;
1– имя текущего сервера;
2– имя текущего пользователя;
3– количество соединений с сервером БД;
4– имя текущей БД;
5– время выполнения предыдущего запроса;
6– количество записей, возвращенное сервером;
7– текущая позиция курсора в окне запроса;
8– индикация нажатых клавиш CAPS LOCK, NUM LOCK и INSERT.
Задание 1.14. Освоить возможности цветовой подсветки элементов команды
Transact-SQL при ее вводе.
Query Analyzer предоставляет средства для предотвращения ошибок при вводе команд Transact-SQL. Вводимые в окно запроса элементы команды подсвечиваются определенным цветом в зависимости от категории,
к которой они относятся (табл. 1.9).
Таблица 1.9
Зависимость цвета подсветки от элемента команды Transact-SQL
69
Элемент команды Transact-SQL |
Цвет |
|
|
Ключевое слово |
Голубой |
|
|
Встроенная функция |
Малиновый |
|
|
Оператор |
Серый |
|
|
Строковая константа |
Красный |
|
|
Комментарий |
Темно-зеленый |
|
|
Черным цветом отображаются все остальные элементы команды.
Если по завершении ввода указанных в табл. 1.9 элементов команды они отображаются черным цветом, то для пользователя это должно быть сигналом об их неверном вводе.
Выполнение задания В окне запроса наберите команду
SELECT GOD, NAS
FROM OSNOVA
WHERE NAS >10000 AND NAS <10200 --выбор данных заведомо ошибочно следующим образом:
SELICT GOD, NAS
FOM OSNOVA
WHERE NAS >10000 WEND NAS :10200 – выбор данных Обратите внимание, что ключевые слова SELECT, FROM, AND,
оператор < и комментарий, неверно набранные, отобразились черным цветом. Исправьте ошибки набора и проанализируйте изменение цвета.
Задание 1.15. Осуществить синтаксическую проверку команды SELECT до ее выполнения.
Выполнение задания
В команду SELECT вставьте после ключевого слова FROM ключевое слово CREATE, применение которого здесь некорректно.