Формирование базы данных «Врач», «Пациент», страница 5

            case  thisform.Combo5.value == 'средняя'

            SELECT avg(dwork.стоимость) FROM  dwork

endcase

Рис.24 Средняя стоимость лечения для врача Малыхиной

14) Количество больных у каждого врача и в целом.

Для врача:

SELECT count(*) FROM  patient;

INNER JOIN dwork ON dwork.id_work = patient.id_work;

INNER JOIN doctor ON doctor.id_doctor = dwork.id_doctor;

WHERE (doctor.фамилия == thisform.Combo1.value);

INTO ARRAY tmp4

x = STR (tmp4)

MESSAGEBOX(x,0+64+0,"Количество больных у врача     ")

В целом:

SELECT count(*) FROM  patient;

INTO ARRAY tmp5

x = STR (tmp5)

MESSAGEBOX(x,0+64+0,"Количество больных     ")

Рис.25Количество больных в целом

15) Для каждого врача и в целом определить среднюю продолжительность лечения, самый длительный вид лечения, самый короткий.

Для врача:

do case

            case  thisform.Combo4.value == 'наименьшая'

            SELECT dwork.вид_работы, min(dwork.продолжит), dwork.стоимость FROM  dwork;

            INNER JOIN doctor ON doctor.id_doctor = dwork.id_doctor;

            WHERE doctor.фамилия = thisform.Combo1.value

            case  thisform.Combo4.value == 'наибольшая'

            SELECT dwork.вид_работы, max(dwork.продолжит), dwork.стоимость FROM  dwork;

            INNER JOIN doctor ON doctor.id_doctor = dwork.id_doctor;

            WHERE doctor.фамилия = thisform.Combo1.value

            case  thisform.Combo4.value == 'средняя'

            SELECT avg(dwork.продолжит) FROM  dwork;

            INNER JOIN doctor ON doctor.id_doctor = dwork.id_doctor;

            WHERE doctor.фамилия = thisform.Combo1.value

endcase

В целом:

do case

            case  thisform.Combo5.value == 'наименьшая'

            SELECT dwork.вид_работы, min(dwork.продолжит), dwork.стоимость FROM  dwork

            case  thisform.Combo5.value == 'наибольшая'

            SELECT dwork.вид_работы, max(dwork.продолжит), dwork.стоимость FROM  dwork

            case  thisform.Combo5.value == 'средняя'

            SELECT avg(dwork.продолжит) FROM  dwork

endcase

Рис.26 Самый длительных вид лечения в целом

16) Для каждого врача и в целом отсортировать больных по номерам.

Для врача:

SELECT patient.карточка, patient.фамилия, patient.имя, patient.отчество FROM  patient;

INNER JOIN dwork ON dwork.id_work = patient.id_work;

INNER JOIN doctor ON doctor.id_doctor = dwork.id_doctor;

WHERE (doctor.фамилия == thisform.Combo1.value);

ORDER BY patient.карточка

В целом:

SELECT patient.карточка, patient.фамилия, patient.имя, patient.отчество FROM  patient;

ORDER BY patient.карточка

Рис.27 Список больных, отсортированный по номерам для врача Малыхиной

9. Анализ результатов и выводы

В ходе выполнения данной расчетно-графической работы были закреплены знания по дисциплине «Базы данных», полученные при выполнении лабораторных работ: создание базы данных, редактирование базы данных, создание меню приложения, создание экранных форм ввода-вывода, содержащих элементы управления, создание запросов любого уровня сложности, произведение различных вычислений над полями, выбираемыми из таблиц, осуществление группировки полей запроса и создание справочной системы для приложения.

В результате выполнения расчетно-графической работы было создано приложение, позволяющее производить просмотр, редактирование и ввод данных. Также программа позволяет задавать запросы различных типов. Для приложения была создана справочная система, в которой были реализованы темы справочной системы, ключи для поиска тем, перекрестные ссылки и пояснения к терминам.

10. Список литературы

  1. Трошина Г.В. Базы данных. Методические указания к лабораторному практикуму. – Новосибирск: Издательство НГТУ, 2004. – 56с.
  2. Малыхина М.П. Базы данных: основы, проектирование, использование, 2-у изд. перераб. и доп. – СПб.: БХВ-Петербург, 2006. – 528 с.: ил.