Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

БД_Лаба_4-2

.docx
Скачиваний:
4
Добавлен:
18.12.2019
Размер:
184.62 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

ассистент

Иванова М.С

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ПРАКТИЧЕСКОЙ РАБОТЕ №4

Составление требуемых запросов к базе данных (на языке SQL).

по курсу: База данных

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

4616

А.В.Павлов

подпись, дата

инициалы, фамилия

Санкт-Петербург 2019

Цель работы: Для всех указанных в задании запросов составить соответствующие инструкции на языке SQL. Если в задании указаны отчеты, то для каждого из них разработать запроси составить соответствующую SQL-инструкцию.

Система должна обеспечить выдачу следующих запросов:

- информация о препаратах определенной группы;

- информация о лекарственных средствах в заданном интервале цен;

- информация о лекарственных средствах, переданных в конкретную аптеку;

- список препаратов, поставляемых данным поставщиком;

- вывод информации о принятых и переданных препаратах и их количестве за определенный период;

Создадим первый запрос, который будет выводить нам список препаратов по заданному назначению. Например, мы выполняем запрос и у нас появляется новое диалоговое окно, в которое мы пишем “кашель”, после этого появляется список где выводиться название препарата, его цена, производитель и его тип (капли и т.д).

Листинг 1 – Запрос №1

SELECT Назначение.Назначение, [3НФ_Список препаратов].[Название препарата], [3НФ_Список препаратов].Производитель, [3НФ_Список препаратов].[Цена реализации], [3НФ_Список препаратов].Группа_Код

FROM Группа INNER JOIN (Назначение INNER JOIN [3НФ_Список препаратов] ON Назначение.Код = [3НФ_Список препаратов].Назначение_Код) ON Группа.Код = [3НФ_Список препаратов].Группа_Код

WHERE (((Назначение.Назначение)=[Зачем]));

Рисунок 1 – Запрос назначения

Рисунок 2 – Результат работы запроса №1

Дальше сделаем второй запрос, который будет выводить нам адрес фирмы, если напишем ее название.

Листинг 2 – Запрос №2

SELECT [3НФ_Поставщики].Наименование, [3НФ_Адрес фирмы].Город, [3НФ_Адрес фирмы].[Адрес фирмы]

FROM [3НФ_Адрес фирмы] INNER JOIN 3НФ_Поставщики ON [3НФ_Адрес фирмы].[Код_ад] = [3НФ_Поставщики].[3НФ_Адрес фирмы_Код]

GROUP BY [3НФ_Поставщики].Наименование, [3НФ_Адрес фирмы].Город, [3НФ_Адрес фирмы].[Адрес фирмы]

HAVING ((([3НФ_Поставщики].Наименование)=[Название]));

Рисунок 3 – Вводим название аптеки

Рисунок 4 – Результат работы запроса №2

Запрос №3 будет выводить ФИО человека, если мы введем его зарплату.

Листинг 3 – Запрос №3

SELECT Должности.Зарплата, [3НФ_Работники].ФИО

FROM Должности INNER JOIN 3НФ_Работники ON Должности.Код = [3НФ_Работники].Таблица2_Код

WHERE (((Должности.Зарплата)=[ЗП]));

Рисунок 5 – Ввод зарплаты

Рисунок 6 – Результат работы запроса №3

Следующий запрос ищет препарат по его названию и выводить, его группу, назначение, цену продажи и поставщика.

Листинг 4 – Запрос №4

SELECT Группа.Группа, [3НФ_Список препаратов].[Название препарата], Назначение.Назначение, [3НФ_Список препаратов].[Цена реализации], [3НФ_Список препаратов].Производитель

FROM Группа INNER JOIN (Назначение INNER JOIN [3НФ_Список препаратов] ON Назначение.Код = [3НФ_Список препаратов].Назначение_Код) ON Группа.Код = [3НФ_Список препаратов].Группа_Код

WHERE ((([3НФ_Список препаратов].[Название препарата])=[Название]));

Рисунок 7 – Ввод названия препарата

Рисунок 8 – Результат работы запроса №4

Последний запрос, это вывод всей информации о человеке если мы ввели его ФИО (вводим можно не полностью а только фамилию или имя).

Листинг 5 – Запрос №5

SELECT [3НФ_Работники].ФИО, [3НФ_Работники].[Паспортные данные], [3НФ_Работники].[Номер телефона]

FROM Должности INNER JOIN 3НФ_Работники ON Должности.Код = [3НФ_Работники].Таблица2_Код

GROUP BY [3НФ_Работники].ФИО, [3НФ_Работники].[Паспортные данные], [3НФ_Работники].[Номер телефона]

HAVING ((([3НФ_Работники].ФИО) Like "*" & [ФИО:] & "*"));

Рисунок 9 – Ввод ФИО

Рисунок 10 – Результат запроса №5

Далее делаем запрос на вывод препаратов по заданному диапазону цен.

Листинг 6 – Запрос №6

SELECT [3НФ_Список препаратов].[Название препарата], [3НФ_Список препаратов].Производитель, [3НФ_Список препаратов].[Цена реализации], [3НФ_Список препаратов].Назначение_Код, [3НФ_Список препаратов].Группа_Код

FROM Назначение INNER JOIN (Группа INNER JOIN [3НФ_Список препаратов] ON Группа.Код = [3НФ_Список препаратов].Группа_Код) ON Назначение.Код = [3НФ_Список препаратов].Назначение_Код

WHERE ((([3НФ_Список препаратов].[Цена реализации]) Between [Цена от] And [Цена до]));

Рисунок 11 – Ввод цен

Рисунок 12 – Результат работы запрос №6

Следующий запрос осуществляет поиск информации о принятых и переданных препаратах и их количестве за определенный период.

Листинг 7 – Запрос №7

SELECT Накладная.Количество, Накладная.Дата, Накладная.[№ препарата], [3НФ_Список препаратов].[Цена реализации], [3НФ_Список препаратов].[Название препарата]

FROM [3НФ_Список препаратов] INNER JOIN Накладная ON [3НФ_Список препаратов].Код_преп = Накладная.[№ препарата]

WHERE (((Накладная.Дата)=[ Дата ]));

Рисунок 13 – Ввод даты

Рисунок 14 – Результат работы №7

Далее делаем запрос на вывод списка препаратов, поставляемых данным поставщиком.

Листинг 8 – Запрос №8

SELECT [3НФ_Список препаратов].[Название препарата], [3НФ_Поставщики].Наименование, [3НФ_Список препаратов].[Цена реализации]

FROM 3НФ_Поставщики INNER JOIN ([3НФ_Список препаратов] INNER JOIN Накладная ON [3НФ_Список препаратов].Код_преп = Накладная.[№ препарата]) ON [3НФ_Поставщики].Код_пост = [3НФ_Список препаратов].Производитель

WHERE ((([3НФ_Поставщики].Наименование) Like "*" & [Название компани] & "*"));

Рисунок 15 – Ввод названия производителя

Рисунок 16 – Результат работы №8

Вывод: В ходе практической работы мы сделали запросы с помощью SQL для нашей базы данных

Список использованных источников

              1. Преснякова Г.В., Шахомиров А.В. Проектирование реляционных баз данных: учебное пособие. СПб.: ГУАП, 2015. 125с.

              2. Карчевский Е.М., Филиппов И.Е., Филиппова И.А. Access 2010 в примерах: учебное пособие. Казань: Казанский университет, 2012. 140с.

Соседние файлы в предмете Базы данных