Лабораторная работа
Работа с SQL-сервером в качестве клиента MS Access.
SQL – специальный язык, для организации запросов к безе данных.
Запрос SQL — это запрос, создаваемый при помощи инструкций SQL. Примерами запросов SQL могут служить запросы на объединение, запросы к серверу, управляющие и подчиненные запросы.
В качестве примера SQL-запроса в этой лабораторной мы изучим самый наиболее часто применяемый SQL – запрос: запрос на выборку данных.
Общий вид SQL-запроса на выборку (в сокращенном виде)
SELECT [имена полей таблицы] FROM [имя таблицы] WHERE [условие отбора];
Рассмотрим этот запрос подробнее:
SELECT [имена полей таблицы] – здесь последовательно, через запятую перечисляются поля таблицы, которые должны быть в запросе. Если необходимо, чтобы в запросе присутствовали все поля таблицы, можно не перечислять их все, а поставить здесь знак звездочки «*».
FROM [имя таблицы] – здесь указывается имя таблицы.
WHERE [условие отбора] – условие отбора данных из таблицы. Условие имеет довольно сложную структуру и может состоять из нескольких условий, объединенных между собой через логические связки «И (AND)», «ИЛИ (OR)».
Заканчивается SQL-запрос символом «;» (точка с запятой).
Ниже приведены примеры SQL-запросов на выборку:
SELECT * FROM table1; - выборка всех записей из таблицы table1.
SELECT CODE, TYPE, NAME FROM table1; - выборка полей CODE, TYPE и NAME из таблицы table1 и отображение всех записей таблицы.
SELECT * FROM table1 WHERE NAME LIKE ‘%Манипулятор%’; - выборка тех записей таблицы, для который поле NAME содержит подстроку «Манипулятор». Выводятся все поля таблицы.
SELECT * FROM table1 WHERE NAME LIKE ‘%Манипулятор%’ AND CENA > 300; - аналогично предыдущему, но дополнительно отбор проводится по полю CENA, и из таблицы отбираются только те записи, для которых CENA > 300.
Примечание: следует иметь ввиду, что запросы SQL здесь выполняются не для вашей локальной базы данных, а для удаленной, расположенной на сервере в сети. Непосредственно сам запрос выполняется программным обеспечением сервера, а база данных Access только передает этот запрос серверу и считывает с него результат работы.
Обратите внимание что в команде LIKE вместо звездочек (*) используется символ «%», который имеет тот же самый смысл.
Задание на лабораторную работу.
Загрузите вашу базу данных.
Создайте новый запрос к SQL-серверу через функцию Запросы (режим конструктора). При появлении окна «Добавление таблицы» нажмите кнопку «Закрыть». Щелкните правой клавишей мыши по пустому полю окна (там, где у вас раньше были таблицы) и выберите в меню «Запрос SQL / К серверу». Появится текстовое поле для ввода SQL-запрос. Введите в него SQL – команду
SELECT * FROM PRICELIST;
Откройте окно «Свойства» запроса (щелкните правой клавишей мыши по окну). Вам надо осуществить настройку ODBC-драйвера для доступа к SQL-серверу. Эту операцию достаточно сделать один раз и затем для всех остальных запросов выбирать ранее сделанную настройку.
Настройка драйвера ODBC для подключения к SQL – серверу
Доступ к SQL-серверу осуществляется через специальный программу – ODBC драйвер, который надо настроить для работы с SQL-сервером.
Выберите в окне свойств пункт «Строка подключения ODBC», щелкните по кнопке «…» рядом с полем для ввода. Запустится мастер настройки ODBC и откроется окно «Выбор источника данных».
Выберите вкладку «Источник данных компьютера», нажмите кнопку «Создать». В открывшемся окне нажмите «Далее», в появишемся списке выберите «Firebird/Interbase(r) Driver». Нажмите «Далее», затем «Готово».
Откроется окно настроек ODBC-драйвера.
В ведите настройки в точности так, как это показано на рисунке. Пароль (Password) для подключения – 12345678. После ввода нажмите «ОК».
Краткое описание настроек:
Data Source Name – здесь вводится имя настройки. Оно может быть любым.
Database – сетевой путь к базе данных. Он состоит из адреса SQL-сервера и полного имени к файлу базы данных.
Database Account и Password – логин и пароль для доступа к базе.
Вернитесь к окну «Выбор источника данных», выберите в нем только что настроенный драйвер (InterbaseSQL)и нажмите кнопку «Да».
В дальнейшем при создании запроса достаточно просто выбрать в окне «Выбор источника данных» нужный драйвер!!!!
Закройте окно свойств запроса, на вопрос сохранении пароля ответьте «OK», закройте созданный вами запрос и сохраните его под именем «SQLЗапрос».
Откройте только что созданный запрос. На экране появится результат его работы – окно со всеми данными таблицы PRICELIST. В этой таблице хранится прайс - лист на каталог продукции фирмы «НЭТА». Ниже приведены назначения полей этой таблицы.
Имя поля
|
Тип поля
|
Назначение поля
|
Длина
|
CODE
|
Текстовый
|
Код товара
|
10
|
NAME
|
Текстовый
|
Наименование товара
|
200
|
PRICE_UE
|
Числовой
|
Цена товара в у.е (долары)
|
|
PRICE_RUB_NAL
|
Числовой
|
Цена товара в рублях при оплате наличными
|
|
PRIM
|
Текстовый
|
Примечание
|
20
|
Создайте новый SQL-запрос к серверу, присвоив ему имя «ЗапросВидео».
Команда запроса
SELECT * FROM PRICELIST WHERE NAME LIKE '%Видеокарта ASUS%';
Это запрос производит выборку всех записей имеющих в поле «NAME» подстроку «Видеокарта ASUS» и таким образом отображает информацию о видеокартах соответствующей марки.
Самостоятельно создайте следующие SQL-запросы:
-
Запрос для отображения всех материнских плат фирмы ASUS, используя для этого в команде LIKE текст «%MВ ASUS%» (Внимание МВ набирать кирилицей). Запросу присвойте имя «ЗапросМатПлата». Поле для отбора – NAME.
-
Запрос для отображения всех процессоров, продаваемых фирмой, используя для этого в команде LIKE текст «%ОП%». Запросу присвойте имя «ЗапросПроцессоры». Поле для отбора – CODE.
-
Составьте запрос следующего вида: SELECT * FROM PRICELIST WHERE NAME LIKE '%Samsung%' OR NAME LIKE '%Philips%'; Этот более сложный запрос производит отбор всех мониторов марки Samsung и Philips.
На основе запроса «SQLЗапрос» создайте форму по принципу формы «Товар», которая бы отображала на экране название товара и его цену в рублях (поля NAME и PRICE_RUB_NAL). Форме присвойте имя «SQLТовар».
В форме заказы создайте кнопку «Запрос информации о товаре из SQL-сервера», которая бы открывала эту форму (форму «SQLТовар»).
Предъявите работу преподавателю!!!!
Методичку разработал М.Б. Калабзин |