Лабораторная работа 3: БСБД Конструирование запросов к БД средствами СУБД MS ACCESS
Описание
3. Конструирование запросов к БД средствами СУБД MSAccess
Для выполнения лабораторной работы необходимо предварительно создать базу данных «БИБЛИОТЕКА». База данных должна содержать отношения, показанные на рис. 1.
Порядок выполнения работы:
Откройте БД «БИБЛИОТЕКА». В окне Базы данных выберите объект «Запросы». Создайте следующие запросы с помощью Конструктора:
1. Создание простого запроса выбора:
- Создаем запрос, отвечающий на вопрос: Какие книги пользовались спросом?
- выберите вкладку «Запросы»;
- нажмите кнопку «Создать» и укажите режим «Конструктор»;
- произведите операцию соединения нескольких таблиц, добавив к бланку запроса таблицы «КНИГИ», «ЭКЗЕМПЛЯР», «ВКЛАДЫШ»;
- закройте окно «Добавление таблиц»;
- Выберите нужные поля (шифр, название, авторы, издательство, город, год_изд, цена, инв_номер, выдана) для оболочки запроса из соответствующих таблиц либо перетаскивая мышкой из таблиц, либо выбирая из выпадающего списка поля нужную строчку;
- Сохраните запрос под именем «СПРОС» (в меню «Файл» выберите пункт «Сохранить как»);
- Закройте оболочку запроса с сохранением изменений;
- Выполните запрос и убедитесь, что в нем отображается вся необходимая информация (кнопка «Открыть»). В запросе отразятся только те книги, которые выдавались читателям.
2. Формирование простого запроса с критерием поиска:
- Создайте новый запрос выбора на основе запроса «СПРОС»: Какие из книг, пользующихся спросом, находятся на руках у читателей?
- выберите вкладку «Запросы» - «Создать» - «Конструктор»;
- произведите операцию соединения нескольких таблиц, добавив к бланку запроса таблицу «ВКЛАДЫШ» и запрос «СПРОС»;
- закройте окно «Добавление таблиц»;
- Выберите нужные поля для запроса (шифр, название, авторы, издательство, город, год_изд, цена, возвращена);
- Введите условие отбора в строку «Условие отбора»: в поле «Возвращена» укажите «ISNULL » (пусто);
- Сохраните запрос под именем «НА РУКАХ»;
- Выполните запрос.
3. Редактирование простого запроса выбора. Получим ответ на вопрос: Какие из книг дороже 100 руб. находятся на руках у читателей?
- Откройте запрос «НА РУКАХ» в режиме «Конструктор»;
- Добавьте дополнительные условия отбора: в поле «Цена» указать условие «> 100»;
- Сохраните изменения «НА РУКАХ 100»;
- Выполните запрос.
4. Создание параметрического запроса:
- Создайте запрос: Какие книги на руках у читателя с ном_билета=Х?
- Выберите для запроса следующие таблицы «КНИГИ», «ЧИТАТЕЛИ», «ЭКЗЕМПЛЯР», «ВКЛАДЫШ»;
- Выберите нужные поля для запроса (ном_билета, шифр, название, авторы, издательство, город, год_изд, возвращена);
- Задайте параметр условия в квадратных скобках в строке «Условие отбора» в поле «ном_билета» – [Введите ном_билета];
- Сохраните запрос под именем «НА РУКАХ У ЧИТАТЕЛЯ»;
- Выполните запрос, вводя значения параметра в диалоге.
5. Создание запроса на удаление. Запросы на удаление удобно формировать в два этапа: сформировать запрос выбора с нужными параметрами запроса и преобразовать его в запрос на удаление только после того, как убедитесь в точности сформулированного условия выбора:
- Сформируйте запрос выбора «Удаление читателя» с нужными полями (ном_билета, ФИО). Определите параметр критерия отбора: в поле «ном_билета» укажите в квадратных скобках [Введите ном_билета];
- Проверьте выбор по критерию. Для этого выполните запрос;
- Преобразуйте запрос выбора в запрос на удаление (если выбор соответствует критерию): откройте запрос выбора «Удаление читателя» в режиме конструктора и преобразуйте его в запрос на удаление (в меню «Запрос» выберите команду «Удаление»).
MSAccess исключит из бланка запроса строки «Сортировка» и «Вывод на экран» и вставит строку «Удаление». Условие отбора не должно измениться.
- Закройте запрос с сохранением изменений;
- Выполните запрос: удалите из базы любого читателя. Результатом выполнения запроса будет удаление из таблицы «ЧИТАТЕЛИ» указанного в параметре отбора «ном_билета», а также заказов этого читателя из таблицы «ВКЛАДЫШ». После выполнения запроса отменить операцию удаления невозможно.
6. Создание запроса на обновление. Запросы на обновление удобно формировать в два этапа: сформировать запрос выбора с нужными параметрами запроса и преобразовать его в запрос на обновление только после того, как убедитесь в точности сформулированного условия выбора.
- Создайте запрос выбора книг по шифру со следующими полями: шифр, название, авторы, издательство, город, год_изд, цена;
- В строку «Условие отбора» поля «шифр» ввести параметр запроса [Введите шифр];
- Сохраните запрос под именем «Переоценка»;
- Выполните запрос выбора «Переоценка»;
- Если условие отбора выполняется, преобразуйте запрос выбора в запрос на обновление: откройте запрос в режиме конструктора и преобразуйте его в запрос на обновление (в меню «Запрос» выберите команду «Обновление»);
- В строку «Обновление» поля «Цена» введите выражение: [Цена]*[Переоценка];
- Сохраните запрос «Переоценка»;
- Выполните созданный запрос с увеличением цены на 10% и уменьшением цены на 10%.