Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы / ACCESS / Лаб1_2_3_БД.doc
Скачиваний:
48
Добавлен:
08.06.2015
Размер:
248.32 Кб
Скачать

Задание для самостоятельной работы

Добавьте к форме Sales еще одно виртуальное поле, в котором организуйте вычисление 15% налога с продаж по формуле 1.15*Quantity*Price

Лабораторная работа по access №3.Создание qbe - запросов для многопользовательского доступа к реляционной базе данных.

Используемые файлы: база данных МАГАЗИН. MDB в папке СЕРВЕР, приложение СКЛАД.MDB в папке «КЛИЕНТ1_КЛАДОВЩИК», приложение ТОРГОВЫЙ_ЗАЛ.MDB в папке «КЛИЕНТ2_ПРОДАВЕЦ»

Знакомство с языками манипулирования данными.

Хранимые в базе данные, как правило, требуют множественной обработки. Для повышения эффективности обработки применяют запросы. Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над БД операций по выборке, удалению, модификации.

Для подготовки запросов с помощью различных СУБД чаще всего используются два основных языка:

Язык QBE (Query By Example) – язык запросов по образцу,

Язык SQL (Structured Query Language) – структурированный язык запросов.

По возможностям манипулирования данными при описании запросов указанные языки практически эквивалентны. Главное отличие, заключается в способе формирования запросов: язык QBE предполагает ручное или визуальное формирование запроса, а SQL использует программирование запроса.

QBE позволяет создавать сложные запросы к БД путем заполнения запросной формы. Запросная форма имеет вид таблицы, имя и название полей которой совпадает с именами и названиями полей соответствующей исходной таблицы. Очень наглядными являются запросные формы в Microsoft Access.

Язык SQL предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление, удаление), а также некоторых сопутствующих операций. SQL является непроцедурным языком и не содержит операторов управления, организации подпрограмм, ввода-вывода и т.п. В связи с этим SQL автономно не используется, а погружается в среду встроенного языка программирования СУБД (например, СУБД ACCESS, FoxPro СУБД.).

В современных СУБД с интерактивным интерфейсом можно создавать запросы, как было сказано, с помощью языка QBE. Однако применение SQL зачастую позволяет повысить эффективность обработки данных в БД. Например, при подготовке запроса в среде ACCESS можно перейти из окна Конструктора запросов (формулирование запроса по образцу на языке QBE) в окно с эквивалентным оператором SQL. Подготовку нового запроса можно создать путем редактирования уже имеющегося запроса или программированием нового.

Язык SQL не обладает функциями полноценного языка разработки, а ориентирован на доступ к данным, поэтому его включают в состав средств разработки программ. В этом случае его называют встроенным SQL.

Использование языка запросов по образцу QBE.

Рассмотрим несколько примеров определения запросов с помощью QBE в СУБД Access, используя таблицы базы данных «Магазин», встроенные в приложение СКЛАД.MDB.

Пример_1: Оформите запрос на выборку скоропортящихся товаров для клиента КЛАДОВЩИК.

  1. Откройте приложение СКЛАД.MDB.

  2. Перейдите в режим создания запросов с помощью конструктора.

  3. Добавьте в бланк запроса таблицу Тovar.

  4. Заполните появившуюся запросную форму в соответствии с ниже приведенным рисунком.

  1. В столбец Flag введите условие отбора: Истина.

  2. Сохраните запрос под именем Скоропортящиеся продукты.

  3. Выполните созданный запрос. Просмотрите полученные результаты.

  4. Закройте созданный запрос.

  5. Перейдите для этого запроса в режим Конструктор\вид SQL и просмотрите оператор SQL, соответствующий созданному запросу:

SELECT Tovar.Tovar_Name, Tovar.Flag

FROM Tovar

WHERE (((Tovar.Flag)=True));

Пример_2: Оформите запрос на расчет общего количества продаж по каждому товару для клиента КЛАДОВЩИК.

  1. Перейдите в режим создания запроса с помощью конструктора.

  2. Добавьте в бланк запроса две таблицы Tovar и Sales.

  3. Заполните появившуюся запросную форму в соответствии с ниже приведенным рисунком.

  1. При создании запроса добавьте в поле запроса строку ГРУППОВАЯ ОПЕРАЦИЯ, нажав кнопку на панели инструментов.

  2. В поле Quantity установите групповую операцию Sum.

  3. Сохраните запрос под именем Продано товаров, выполните и просмотрите результаты.

  4. Перейдите для этого запроса в режим Конструктор\вид SQL и просмотрите оператор SQL, соответствующий созданному запросу:

SELECT Tovar.Tovar_Name, Sum(Sales.Quantity) AS [Sum-Quantity]

FROM Tovar INNER JOIN Sales ON Tovar.Tovar_ID = Sales.Tovar_ID

GROUP BY Tovar.Tovar_Name

ORDER BY Tovar.Tovar_Name;

Пример_3: Оформите запрос на обновление признака Flag скоропортящегося товара, установив его значение равным «ДА» для товаров со сроком годности <= 5.

  1. Перейдите в режим создания запроса с помощью конструктора.

  2. Добавьте в бланк запроса таблицу Tovar.

  3. Установите в главном меню Access опцию Запрос/Обновление.

  4. Заполните появившуюся запросную форму в соответствии с ниже приведенным рисунком.

  1. Сохраните запрос под именем Установить флаг, выполните и просмотрите результаты.

  2. Перейдите для этого запроса в режим Конструктор\вид SQL и просмотрите оператор SQL, соответствующий созданному запросу:

UPDATE Tovar SET Tovar.Flag = True

WHERE (((Tovar.Storage_Life)<=5));

Соседние файлы в папке ACCESS