отчет лаб. раб. Access 2. Лабораторная работа 1 по дисциплине Операционные системы и базы данных Номер зачётной книжки 99304003
Скачать 0.73 Mb.
|
Министерство образования Республики Беларусь Учреждение образования БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ Факультет заочного обучения Кафедра информационных технологий автоматизированных систем Лабораторная работа №1 по дисциплине «Операционные системы и базы данных» Номер зачётной книжки: 99304003
Минск 2021 Цель работы: изучить классификацию запросов и способов их создания в среде Access; освоить методы создания запросов разных видов. Ход выполнения работы: Создание запросов с помощью Мастера Рисунок 1 – Запрос списка рабочих Рисунок 2 – Запрос списка рабочих из нескольких таблиц Изменение запросов с помощью Конструктора Рисунок 3 – Запрос списка продукции, сортированного по цеху-изготовителю и дате окончания Рисунок 4 – Запрос списка продукции с вычисляемым полем «Налог» Запросы с условиями выборки Рисунок 5 – Запрос сотрудников выше 3 разряда и проверяющие товар, произведенный в 1 цеху Рисунок 5 – Запрос сотрудников выше 3 разряда и проверяющие товар, произведенный в 1 и 2 цеху Запросы с групповыми операциями Рисунок 6 – Запрос «Стоимости контрактов по цехам» Рисунок 7 – Запрос «Стоимость контрактов по годам» Рисунок 8 – Запрос «Количество рабочих по профессиям» Рисунок 9 – Запрос «Сумма налогов» Перекрестные запросы Рисунок 10 – Запрос «Распределение профессий по продукции» Запросы на изменение базы данных Рисунок 11 – Запрос «Обновление данных по условию» Рисунок 12 – Запрос рабочих разрядом ниже 2 Рисунок 13 – Запуск запроса на удаление строк Рисунок 14 – Запрос рабочих после удаления Параметрические запросы Рисунок 15 – Условия параметрического запроса Рисунок 16 – Параметрический запрос с условиями Для базы данных, построенной по Вашему варианту предметной области в первой лабораторной работе, сформулировать перечень запросов, подобных по содержанию запросам, которые описаны ниже: список всей продукции, которые проходят химический или электрический контроль. Для каждой продукции должны указываться все данные, имеющиеся в таблице Продукция. Список продукции должен быть упорядочен по названию цеха-изготовителя, а для каждого цеха-изготовителя – по шифру продукции: Рисунок 17 список всех рабочих, занятых на объектах, где цех-изготовитель «Ц1». Для каждого рабочего указывается табельный номер, фамилия, профессия, шифр продукции. Список должен быть упорядочен по фамилиям рабочих (если есть однофамильцы – то по табельному номеру): Рисунок 18 то же, что в задании б), но для произвольного заказчика. Название заказчика должно вводиться пользователем при выполнении запроса: Рисунок 19 список всей продукции. Для каждой продукции должны указываться все данные, имеющиеся в таблице Продкция, а также количество дней, оставшихся до окончания контрольных испытаний. Для вычисления количества дней до окончания контрольных испытаний [дата окончания]-date() (здесь date() – стандартная функция, возвращающая текущую дату): Рисунок 20 то же, что в задании г), но только для объектов, у которых до окончания контрольных испытаний остается менее 30 дней: Рисунок 21 список всей продукции. Для каждой продукции указывается его шифр, цех-изготовитель, вид контроля и количество занятых рабочих. Список должен быть отсортирован по шифрам продукции (по алфавиту): Рисунок 22 удаление данных об указанном рабочем (фамилия рабочего должна вводиться пользователем). Рисунок 23 Реализовать создание сформулированных запросов в среде Access в виде SQL-запросов. 9.1 Вывести всю информацию о рабочих: SELECT FROM [Табельный номер], Фамилия, [Имя и Отчество], [Дата рождения], Профессия, Разряд, [Дата приема на работу], [Допуск к работам на электроустановках высокого напряжения], [допуск к работам с легковоспламеняющимся жидкостям], [Шифр продукции] FROM Работники. Вывести Фамилию, Профессию, Разряд для рабочих,имеющих разряд не ниже пятого и допуск к работам на электроустановках высокого напряжения. SELECT Фамилия, Профессия, Разряд FROM Рабочие WHERE (Разряд>=5) AND ([Допуск к работам на электроустановках высокого напряжения]=true); 9.3 Получить список всех химиков и электриков, имеющих разряд не ниже пятого. Вывести табельный номер, фамилию, профессию, разряд. Список должен быть отсортирован по профессии и фамилии (т.е. список сортируется по профессии, а при одинаковой профессии – по фамилии). SELECT [Табельный номер], Фамилия, Профессия, Разряд FROM Рабочие WHERE ((Профессия="химик") OR (Профессия="электрик")) AND (Разряд>=5) ORDER BY Профессия, Фамилия; 9.4 Получить те же данные, что и в примере 9.3. Однако сортировка должна выполняться по профессии, разряду и фамилии. Это значит, что список рабочих сортируется по профессии; рабочие с одинаковой профессией сортируются по разряду (причем первыми указываются рабочие, имеющие более высокий разряд), а при одинаковой профессии и разряде – по фамилии. SELECT [Табельный номер], Фамилия, Профессия, Разряд FROM Рабочие WHERE ((Профессия="химик") OR (Профессия="электрик")) AND (Разряд>=5) ORDER BY Профессия, Разряд DESC, Фамилия; 9.5 Создать запрос для получения списка химиков и электриков, имеющих разряд не ниже пятого. В запросе должны указываться следующие данные: табельный номер, фамилия, имя и отчество, разряд, а также шифр объекта и название цеха-изготовителя продукции. Запрос должен быть упорядочен по фамилиям рабочих. SELECT Работник.[Табельный номер], Работник.Фамилия, Работник.[Имя и отчество], Работник.Профессия, Работник.Разряд, Работник.[Шифр продукции], Продукция.[Цех-изготовитель] FROM Продукция INNER JOIN Работник ON Продукция.[Шифр продукции] = Работник.[Шифр продукции] WHERE ((Работник.Профессия=" химик ") OR (Работник.Профессия=" электрик ")) AND (Рабочие.Разряд>=5) ORDER BY Рабочие.Фамилия; 9.6. Создать запрос для получения списка продукции. Для каждого объекта должно указываться все данные об продукции, имеющиеся в таблице Продукция, а также величина налога, составляющая 10% от стоимости испытаний. Список объектов должен быть упорядочен по названию цеха-изготовителя, а для каждого цеха – по дате окончания испытания. SELECT [Шифр продукции], [Цех-изготовитель], [Вид контроля], [Стоимость контроля], [Дата начала контрольных испытаний], [Дата окончания контрольных испытаний], [Результат контроля], [Стоимость контроля]*0.1 AS [Налог] FROM Продукция ORDER BY [Цех-изготовитель], [Дата окончания контрольных испытаний]; 9.7. Создать запрос для подсчета суммарной стоимости контроля и количества испытаний каждого цеха. SELECT [Цех-изготовитель], Sum([Стоимость контроля]) AS [Стоимость контроля], Count([Шифр продукции]) AS [Количество] FROM Продукция GROUP BY [Цех-изготовитель]; 9.8. Создать запрос для получения тех же данных, что и в примере 9.7, но требуется только информация о цехах-изготовителях, для которых стоимость контрактов составляет не менее 100 млн ден.ед. SELECT [Цех-изготовитель], Sum([Стоимость контроля]) AS [Стоимость контроля], Count([Шифр продукции]) AS [Количество] FROM Продукция GROUP BY [Цех-изготовитель] HAVING Sum([Стоимость контроля])>=100000000; Выводы: в ходе выполнения лабораторной работы мной была изучена классификация запросов и способов их создания в среде Access, а также освоены методы создания запросов разных видов. |