Смекни!
smekni.com

Проектирование базы данных "Больница" (стр. 2 из 3)

По сотрудникам:

1. Вывести список сотрудников по определенной должности.

SELECT Personal. Fio as 'ФИО', Otdeleniya. Nazvanie_otdel as 'Названиеотделения'

FROM Otdeleniya INNER JOIN Personal ON Otdeleniya. Kod_otdel = Personal.kod_otdel

WHERE Personal. Doljnost like "Должность"

order by Otdeleniya. Nazvanie_otdel

2. Вывести список сотрудников по должности, учитывая отделение.

SELECT Personal. Fio as 'ФИО', Otdeleniya. Nazvanie_otdel as 'Названиеотделения'

FROM Otdeleniya INNER JOIN Personal ON Otdeleniya. Kod_otdel = Personal.kod_otdel

WHERE Otdeleniya. Nazvanie_otdel = "Отделение’ AND Personal. Doljnostlike‘Должность’

3. Вывести список сотрудников, оклад которых превышает n-й суммы

SELECT Personal. Fio as 'ФИО', Personal. Doljnost as 'Должность', Personal. Oklad as 'Оклад'

FROM Personal

where Personal. Oklad> (Сумма)

4. Вывести общий список сотрудников.

SELECT Personal. Fio as 'ФИО', Personal.doljnost as 'Должность', otdeleniya.nazvanie_otdel as 'Название отделения'

FROM Otdeleniya INNER JOIN Personal ON Otdeleniya. Kod_otdel = Personal. Kod_otdel

group by otdeleniya.nazvanie_otdel, Personal. Fio, Personal.doljnost

order by Personal. Fio

По пациентам:

1. Вывести список пациентов по определенному диагнозу.

SELECT Pacienty. Fio as "Ф.И.О.", Otdeleniya. Nazvanie_otdel as "Название отделения", Diagnozy. Nazvanie_diagnoza as "Названиедиагноза"

FROM Otdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza = Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel

WHERE Diagnozy. Nazvanie_diagnoza like ‘%Диагноз% '

order by Pacienty. Fio

2. Вывести список пациентов по определенной дате поступления.

SELECT Pacienty. Fio as "Ф.И.О.", Pacienty. Data_postup as "Датапоступления", Otdeleniya. Nazvanie_otdel as "Названиеотделения", Diagnozy. Nazvanie_diagnoza as "Названиедиагноза"

FROM Otdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza = Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel WHERE Pacienty. Data_postup= ‘Датапоступления’ and Diagnozy. Nazvanie_diagnoza like ' % Диагноз % '

orderbyPacienty. Fio

3. Вывести список пациентов по дате выписки.

SELECT Pacienty. Fio as "Ф.И.О.", Otdeleniya. Nazvanie_otdel as "Название отделения", Diagnozy. Nazvanie_diagnoza as "Названиедиагноза"

FROM Otdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza = Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel WHERE Pacienty. Data_vypiski='Дата выписки'

orderbyPacienty. Fio

4. Вывести список пациентов, поступавших за определенный период.

SELECT Pacienty. Fio as "Ф.И.О.", Pacienty. Data_postup "Датапост-я", Otdeleniya. Nazvanie_otdel as "Отделение", Diagnozy. Nazvanie_diagnoza as "Диагноз"

FROM Otdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza = Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel

WHERE ((Pacienty. Data_postup='Датапоступления1') or (Pacienty. Data_postup>'Датапоступления1')) and

((Pacienty. Data_postup<' Датапоступления2') or

(Pacienty. Data_postup=' Дата поступления2'))

orderbyPacienty.data_postup'

5. Вывести общий список пациентов.

SELECT Pacienty. Fio as "Ф.И.О.", Pacienty.data_postup as "Датапоступления", Diagnozy. Nazvanie_diagnoza as "Диагноз",

Otdeleniya. Nazvanie_otdel as "Отделение"

FROM Otdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza = Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel

Group by Otdeleniya. Nazvanie_otdel, Pacienty. Fio, Pacienty.data_postup, Diagnozy. Nazvanie_diagnoza

По лекарствам:

Вывести список диагнозов по определенному лекарству.

SELECT Diagnozy. Nazvanie_diagnoza as "Диагноз"

FROM Lekarstva INNER JOIN (Diagnozy INNER JOIN diagnoz_lekar ON Diagnozy. Kod_diagnoza=diagnoz_lekar.kod_diag) ON

Lekarstva. Kod_lekarstva=diagnoz_lekar.kod_lek

WHERELekarstva. Naim_lekarstva='Лекарство’


6. Интерфейс системы для работы с базой данных

6.1 Главное окно программы

Работа начинается с главного окна программы (рисунок 6.1), где приведены все таблицы в данной базе данных. Это является наиболее удобным, так как предполагается, что данные будут постоянно пополняться.

Рисунок 6.1 – Главное окно программы

Рабочая область состоит из трех вкладок: "Отделения", "Диагнозы", "Информация". На рисунке 6.1 можно увидеть вкладку "Отделения". Здесь содержится информация по отделениям, в частности данные о сотрудниках и пациентах (таблицы расположены в нижней части формы). Таблицы можно редактировать, добавлять новых сотрудников и пациентов, вносить какие-то свои изменения. Таблицу "Отделения" редактировать нельзя, так как количество отделений в больнице постоянное и не меняется.

Следующая вкладка "Диагнозы" приведена на рисунке 6.2.


Рисунок 6.2 – Вкладка "Диагнозы"

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

Следующая вкладка "Информация", изображенная на рисунке 6.3, необходима как справочник. Здесь приведена информация о всех процедурах, имеющихся в больнице, а также о лекарствах (их названия и рецепт). Здесь также можно вносить свои изменения, и дополнять таблицу новыми данными.

Рисунок 6.3 – Вкладка "Информация"


6.2 Разработка меню

Меню проекта располагается в верхней строке экрана. Своим присутствием оно создает значительные удобства пользователям для работы с базой данных.

В меню программы имеются вкладки: "Поиск", "Запросы", "Отчеты", "Справка".

Во вкладке меню "Поиск" находятся команды: "Сотрудника", "Пациента" (Рисунок 6.4).

Рисунок 6.4 – Вкладка меню "Поиск"

При выборе вкладки "Сотрудника" открывается окно поиска, представленное на рисунке 6.5, где можно ввести фамилию нужного сотрудника.

Рисунок 6.5 – Окно поиска

При нажатии кнопки "Найти!" выводится либо уведомление о неудачном результате поиска, если такого сотрудника нет, либо окно результатов поиска, представленное на рисунке 6.6. При этом выводятся все сотрудники с такой фамилией. Аналогично делается поиск пациента, только при этом выбирается вкладка "Пациента".

Рисунок 6.6 – Окно результатов поиска

Следующая вкладка главного меню "Запросы", представленная на рисунке 6.7, содержит ряд команд по различным запросам.

Рисунок 6.7 – Вкладка главного меню "Запросы"

Выбрав команду "Списки по сотрудникам", появятся подкоманды: "По должности" и "По окладу".

Выбрав подкоманду "По должности" появляется окно запроса, представленное на рисунке 6.8, где можно выбрать критерии данного запроса. Соответственно, просто по должности, по отделению, общий список или же по должности и по отделению.

Рисунок 6.8 – Окно запроса "Сотрудники по должности"


При нажатии кнопки "Выполнить запрос!" появляется окно результатов запроса, изображенное на рисунке 6.9. Здесь также можно сразу сделать отчет по данному запросу, если эти данные необходимо вывести на печать.

Рисунок 6.9 – Окно результатов запроса

Также в пункте меню запросов по сотрудникам есть команда "По окладу", выбрав которую появляется окно данного запроса, представленное на рисунке 6.10

Рисунок 6.10 – Окно запроса "Сотрудники по окладу"

Следующей командой во вкладке "Запросы" является "Список пациентов", у которой есть подкоманды: "По диагнозу", "По дате поступления", "По дате выписки", "Поступавших за период…", "Общий список".

Выбрав запрос по диагнозу, появляется окно запроса, представленное на рисунке 6.11, где можно выбрать какой именно диагноз вас интересует.


Рисунок 6.11 – Окно запроса по диагнозу пациента

Выбрав запрос по дате поступления, появляется окно запроса, представленное на рисунке 6.12, где можно ввести ту дату поступления, относительно которой формируется список пациентов. Аналогично выполняется запрос по дате выписки.

Рисунок 6.12 – Окно запроса по дате поступления

Выбрав запрос "Поступавших за период", появляется окно запроса, представленное на рисунке 6.13, где можно ввести период, в пределах которого вам нужен список больных.

Рисунок 6.13 – Окно запроса по дате поступления

Также в меню имеется вкладка "Отчеты", выбрав которую можно сделать отчет по полному списку сотрудников и пациентов; отчет по перечню всех процедур, а также всех диагнозов по процедурам; отчет по лекарствам и по списку диагнозов по лекарствам.

Последняя вкладка главного меню "Справка" содержит всю необходимую справочную информацию для использования данной программы. Окно справки представлено на рисунке 6.14.

Рисунок 6.14 – Окно справки


7. Отчеты

В данном курсовом проекте были выполнены следующие виды отчетов:

1. Отчет "Список сотрудников по должности", выполненный по запросу. Вид отчета представлен на рисунке 7.1.

Рисунок 7.1 – Отчет "Список сотрудников по должности"

2. Отчет "Список сотрудников по отделению", выполненный по запросу. Вид отчета представлен на рисунке 7.2.

Рисунок 7.2 – Отчет "Список сотрудников по отделению"