Министерство Образования Республики Беларусь
Гомельский государственный технический университет имени П.О.Сухого
Кафедра “Информационные технологии”
Лабораторная работа №5
“Язык SQL: разработка БД, использование для обработки данных в СУБД MS Access”
Выполнил: студент ИТ-32
Принял: преподаватель
Гомель 2013
Цель работы: Освоить основы программирования на языке SQL, используя средства СУБД MS Access.
Задание:
ВАРИАНТ 19. Расписание трансляции рекламного ролика.
Заказчик, название, изготовитель рекламного ролика; дата трансляции; стоимость заказа.
•Удалить из таблицы все записи с истекшей датой трансляции;
• увеличить стоимость заказа на 15% для заданного заказчика;
• сформировать новую таблицу, содержащую сведения о заказах для конкретного заказчика;
• вывести сведения о рекламных роликах, транслированных в заданное число.
Ход работы
- Создание таблицы.
Для создания таблицы используем конструкцию CREATE TABLE. А именно создадим запрос вида:
CREATE TABLE Расписание
(Заказчик CHAR(20), Название CHAR (20), Изготовитель CHAR (30), Дата DATE, Стоимость MONEY);
В результате будет создана новая таблица “Расписание”, с соответствующими полями, заданного типа (рис. 1).
Рисунок 1 – Конструктор созданной таблицы
- Добавление записей в созданную таблицу.
Для добавления записей в созданную таблицу используем конструкцию INSERT INTO … VALUES. Создадим запрос вида:
INSERT INTO Расписание ( Заказчик, Название, Изготовитель, Дата, Стоимость )
VALUES ([ВВЕДИТЕ ФАМИЛИЮ ЗАКАЗЧИКА], [ВВЕДИТЕ НАЗВАНИЕ РОЛИКА], [ВВЕДИТЕ ИЗГОТОВИТЕЛЯ], [ВВЕДИТЕ ДАТУ ТРАНСЛЯЦИИ], [ВВЕДИТЕ СТОИМОСТЬ]);
Теперь возможно добавление записей в таблицу (рис. 2).
Рисунок 2 – Таблица с добавленными данными
- Удаление записей с истекшим сроком.
Для удаления записей создадим запрос вида:
DELETE *
FROM Расписание
WHERE Дата < Date();
После удаления получим пустую таблицу (рис. 3).
Рисунок 3 – Таблица с добавленными данными
- Обновление записей (увеличение стоимости заказа на 15% для заданного заказчика).
Для обновления записей создадим запрос вида:
UPDATE Расписание SET Стоимость = Стоимость*1.15
WHERE Заказчик=[введите фамилию заказчика];
При вводе имение заказчика в диалоговом окне (рис. 4), стоимость увеличиться на 15% (рис. 5).
Рисунок 4 – Ввод фамилии заказчика
Рисунок 5 – Результат выполнения запроса
- Формирование вспомогательной таблицы (содержащей сведения о заказах для конкретного заказчика).
Используем запрос:
SELECT Заказчик, Название, Изготовитель, Дата, Стоимость INTO Дополнительная
FROM Расписание
WHERE Заказчик=[введите Заказчик];
В результате будет создана соответствующая дополнительная таблица (рис. 6).
Рисунок 6 – Сформированная таблица
- Удаление вспомогательной таблицы.
Для удаления вспомогательной таблицы используем запрос:
DROP TABLE Дополнительная;
В результате дополнительная таблица будет удалена.
- Запрос на выборку (по дате).
Для выборки необходимых записей по дате используем запрос вида:
SELECT Заказчик, Название, Изготовитель, Дата, Стоимость
FROM Расписание
WHERE Дата=[введите дату трансляции];
В результате будут выведены ролики заданной даты трансляции (рис. 7).
Рисунок 7 – Выборка по дате
Для выполнения данного задания была создана база данных, состоящая из трех таблиц (рис. 8).
Рисунок 8 – Схема данных
- Добавление записей в базу.
Используем запросы для соответствующих таблиц (Расписание, Заказчики и Изготовители):
INSERT INTO Расписание ( Заказчик, НазваниеРолика, Изготовитель, ДатаТрансляции, Стоимость )
VALUES ([ВВЕДИТЕ ФАМИЛИЮ ЗАКАЗЧИКА], [ВВЕДИТЕ НАЗВАНИЕ РОЛИКА], [ВВЕДИТЕ ИЗГОТОВИТЕЛЯ], [ВВЕДИТЕ ДАТУ ТРАНСЛЯЦИИ], [ВВЕДИТЕ СТОИМОСТЬ]);
INSERT INTO Заказчики ( Фамилия )
VALUES ([ВВЕДИТЕ ФАМИЛИЮ ЗАКАЗЧИКА]);
INSERT INTO Изготовители ( НазваниеФирмы )
VALUES ([Введите Название фирмы]);
- Удаление записей.
Используем запросы для соответствующих таблиц (Заказчик, Изготовитель):
DELETE *
FROM Заказчики
WHERE Фамилия = [Введите фамилию заказчика];
DELETE *
FROM Изготовители
WHERE НазваниеФирмы = [Введите название фирмы]
- Обновление таблиц по заданному условию.
В таблицах “Заказчики” и “Изготовители” будем обновлять телефоны.
Код запросов:
UPDATE Изготовители SET Телефон = [Введите новый телефон]
WHERE НазваниеФирмы=[введите название фирмы];
UPDATE Заказчики SET Телефон = [Введите новый телефон]
WHERE Фамилия=[введите фамилию заказчика];
- Создание дополнительной таблицы.
Создадим дополнительную таблицу с полями: Фамилия, НазваниеФирмы, НазваниеРолика.
Код запроса:
SELECT Заказчики.Фамилия, Изготовители.[Название фирмы], Расписание.НазваниеРолика INTO Дополнительная
FROM Заказчики, Изготовители, Расписание
WHERE (Заказчики.Фамилия=[введите фамилию заказчика] AND Изготовители.[Название фирмы]=[Введите название фирмы изготовителя]
AND Расписание.ДатаТрансляции=[Введите дату трансляции]);
Результат выполнения запроса отображен на рисунке 9.
Рисунок 9 – Дополнительная таблицы
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.