Задание №4
Составить двухтабличную БД и обработать данные в ней посредством выборки и сортировки; создать запросы и отчеты.
1. Сформировать структуры таблиц, необходимых для выполнения заданной БД, определить ключевые поля. Обосновать этот выбор.
2. Создать схему данных. Ввести в таблицы от 10 до 20 записей.
3. Сформулировать и выполнить запрос по критериям, заданным в варианте задания. Сформулировать и выполнить запрос с вычисляемым полем (данные для этого запроса задать самостоятельно). Результаты всех запросов сохранить. Запросы выполняются по двум связанным таблицам. Поля для запроса выбираются исходя из особенностей и требований конкретной БД.
4. Создать не менее трех запросов с использованием языка SQL.
5. Произвести сортировку записей в соответствии с вариантом. Сортировка выполняется для таблиц, содержащих результаты запросов.
6. Составить отчет в соответствии с вариантом. Создаваемый отчет, исходя из особенностей конкретной БД, обязательно должен удовлетворять следующим требованиям:
- составляться по двум связанным таблицам;
- иметь итоговые значения по группам и по отчету в целом;
- при выборке полей, используемых для группировки и подведения итогов, руководствоваться логикой их содержания.
Тема для составления БД – Аптека – Лекарства.
Аптека получает лекарства от различных поставщиков, о которых известно: название предприятия-производителя, директор, адрес, телефон и т.д. Характеристиками лекарства являются: лекарства, наименование, изготовитель, срок годности, условия хранения, цена и т.д..
Критерий для запросов выборок – с логическим И, связывающим единственной значение в текстовом поле с интервалом значений в числовом поле.
Сортировка данных – по возрастанию в текстовом поле и убыванию в числовом поле.
При составлении отчета тип группировки – по полю.
Вид итога – максимальное.
Таблица «Производитель»
Производитель |
||||
№ п/п |
Производитель |
Директор |
Адрес |
Телефон |
1 |
Авангард |
Иванов И.И. |
ул. Ленина, 37 |
8-909-228-5487 |
2 |
Лекарь |
Петров П.П. |
ул. Ленина, 38а |
8-960-648-5178 |
3 |
Сантефарм |
Сидоров А.Н. |
ул. Герцена, 10 |
8-960-648-1803 |
4 |
Формацевт |
Калашников А.И. |
ул. Матвеева, 7 |
8-909-227-0604 |
5 |
Формаком |
Косилов А.В. |
ул. Лесная, 3а |
8-960-642-2352 |
6 |
Нижфарм |
Соколов С.И. |
ул. Комсомольская, 250 |
8-905-169-3798 |
7 |
Эвалар |
Алиева А. И. |
ул. Циолковского, 15 |
8-905-856-2647 |
8 |
Айболит |
Бологов А.А. |
ул. Садовского, 9-25 |
8-960-651-4606 |
9 |
Люми |
Демичев В.В. |
пл. Мира, 25 |
8-903-637-3433 |
10 |
Берлин-Хеми |
Клюков В.Н. |
пер. Гористый, 25 |
8-960-651-0574 |
Ключевое поле – № п/п, т.к. это поле не повторяется.
Таблица «Лекарства»
Лекарства |
|||||
№ п/п |
Название |
Срок годности (мес) |
Хранение (°С) |
Цена |
Изготовитель |
1 |
Аспирин |
10 |
-5 |
5,00р. |
4 |
2 |
Гепатромбин |
5 |
-5 |
10,00р. |
2 |
3 |
Валедол |
8 |
-5 |
56,00р. |
2 |
4 |
Витамины |
6 |
0 |
100,00р. |
5 |
5 |
Витамины |
6 |
-5 |
15,00р. |
1 |
6 |
Аспирин |
10 |
-5 |
5,00р. |
1 |
7 |
Гепатромбин |
5 |
0 |
12,00р. |
4 |
8 |
Валедол |
12 |
0 |
56,00р. |
3 |
9 |
Биттнер |
9 |
15 |
90,00р. |
3 |
10 |
Аспирин |
10 |
10 |
5,00р. |
2 |
11 |
Ревит |
9 |
0 |
10,00р. |
1 |
12 |
Гепатромбин |
20 |
-10 |
10,00р. |
3 |
13 |
Валедол |
10 |
0 |
20,00р. |
5 |
14 |
Гепатромбин |
6 |
-15 |
10,00р. |
1 |
15 |
Промагсан |
6 |
0 |
20,00р. |
3 |
16 |
Селена ВЭЛ |
3 |
-5 |
23,00р. |
1 |
17 |
Биттнер |
12 |
-5 |
85,00р. |
1 |
18 |
Капсикам |
5 |
5 |
50,00р. |
6 |
19 |
Ревит |
10 |
0 |
200,00р. |
7 |
20 |
Биттнер |
6 |
10 |
250,00р. |
8 |
21 |
Ульфавит |
6 |
0 |
196,00р. |
8 |
22 |
Капсикам |
5 |
5 |
60,00р. |
9 |
23 |
Селена ВЭЛ |
3 |
-10 |
27,00р. |
7 |
24 |
Биттнер |
6 |
0 |
280,00р. |
10 |
25 |
Ульфавит |
12 |
-5 |
215,00р. |
10 |
26 |
Промагсан |
12 |
0 |
220,00р. |
8 |
Ключевое поле – № п/п - оно однозначно характеризует запись в таблице.
Схема данных
Запрос на выборку
Условие: изготовитель лекарства «Авангард», срок годности 3-10 мес.
Запрос в режиме конструктора
Результат
Запрос1 |
|||
Название |
Срок годности (мес) |
Хранение (°С) |
Производитель |
Аспирин |
10 |
-5 |
Авангард |
Витамины |
6 |
-5 |
Авангард |
Гепатромбин |
6 |
-15 |
Авангард |
Ревит |
9 |
0 |
Авангард |
Селена ВЭЛ |
3 |
-5 |
Авангард |
Отчет выполняется по результатам Запроса.
Лекарства
Название Срок годности (мес) Хранение Производитель
Аспирин
10 -5 Авангард
Итоги для 'Название' = Аспирин (1 запись)
Max 10
Витамины
6 -5 Авангард
Итоги для 'Название' = Витамины (1 запись)
Max 6
Гепатромбин
6 -15 Авангард
Итоги для 'Название' = Гепатромбин (1 запись)
Max 6
Ревит
9 0 Авангард
Итоги для 'Название' = Ревит (1 запись)
Max 9
Селена ВЭЛ
3 -5 Авангард
Итоги для 'Название' = Селена ВЭЛ (1 запись)
Max 3