Управление базами данных

Автор работы: Пользователь скрыл имя, 11 Января 2013 в 15:48, курсовая работа

Краткое описание

Целью выполнения курсового проекта является приобретение студентами практических навыков проектирования баз данных и разработки программного обеспечения по управлению базами данных с использованием СУБД. В ходе выполнения данного курсового проекта необходимо разработать информационную базу данных для больницы, которая поможет любому пользователю легко найти нужную информацию о любом сотруднике или пациенте.
В задачи курсового проекта входят:
1. Разработка структуры баз данных.
2. Работа с несколькими таблицами и установление взаимосвязей между таблицами.
3. Разработка системы меню.
4. Разработка и формирование отчетов.
5. Использование расширенных средств СУБД ввода и вывода данных.
6. Организация справочной системы.

Содержание

Введение
1. Постановка задачи
2. Обоснование выбора СУБД и программного обеспечения
3. Структура базы данных
3.1 Концептуальная модель данных
3.2 Логическая модель данных
4. Нормализация отношений
5. SQL – запросы
6. Интерфейс системы для работы с базой данных
6.1 Главное окно программы
6.2 Разработка меню
7. Отчеты
Заключение
Список использованной литературы

Вложенные файлы: 1 файл

cerinte.docx

— 543.84 Кб (Скачать файл)

Следующая вкладка "Информация", изображенная на рисунке 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 – Отчет "Список сотрудников по отделению"

3. Отчет "Общий список  сотрудников". Вид отчета представлен  на рисунке 7.3.

 

Рисунок 7.3 – Отчет "Общий  список сотрудников"

4. Отчет "Список сотрудников  по окладу". Вид отчета представлен  на рисунке 7.4.

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

5. Отчет "Список пациентов  по диагнозу". Вид отчета представлен  на рисунке 7.5.

Рисунок 7.5 – Отчет "Список пациентов по диагнозу"

6. Отчет "Список пациентов  по дате поступления". Вид отчета  представлен на рисунке 7.6.

 

Рисунок 7.6 – Отчет "Список пациентов по дате поступления"

7. Отчет "Список пациентов  по дате выписки". Вид отчета  представлен на рисунке 7.7.

Рисунок 7.7 – Отчет "Список пациентов по дате выписки"

8. Отчет "Список пациентов,  поступавших за период". Вид  отчета представлен на рисунке  7.8.

Рисунок 7.8 – Отчет "Список пациентов, поступавших за период"

9. Отчет "Общий список  пациентов". Вид отчета представлен  на рисунке 7.9.

 

Рисунок 7.9 – Отчет "Общий  список пациентов"

10. Отчет "Список всех  процедур". Вид отчета представлен  на рисунке 7.10.

Рисунок 7.10 – Отчет "Список всех процедур"

10. Отчет "Список всех  процедур". Вид отчета представлен  на рисунке 7.10.

Рисунок 7.10 – Отчет "Список всех процедур"

11. Отчет "Список процедур  по диагнозам". Вид отчета представлен  на рисунке 7.11.

 

Рисунок 7.11 – Отчет "Список процедур по диагнозам"

12. Отчет "Список всех  лекарств". Вид отчета представлен  на рисунке 7.12.

Рисунок 7.12 – Отчет "Список всех лекарств"

13. Отчет "Список лекарств  по диагнозам". Вид отчета представлен  на рисунке 7.13.

Рисунок 7.13 – Отчет "Список лекарств по диагнозам"

 

Заключение 

 

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

В результате выполнения данного  курсового проекта были решены задачи, поставленные в начале работы. Была разработана структура базы данных; разработан интерфейс программы; в  программу были включены функции  поиска, выполнения различных запросов и отчетов; была организована справочная система. При этом были учтены все  требования, выдвинутые в начале выполнения данного проекта.

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

 

Подсистема управления нормативно-справочной информацией должна обеспечивать ведение  следующих справочников и реестров:

- Реестр «Врачи»;

- Реестр «Приёмы»;

- Реестр «Курсы лечения»;

- Реестр «Рег. карты»;

- Реестр «Пациенты»;

Реестр «Врачи»:

Реестр «Врачи» должен обеспечивать возможность обработки  необходимого набора атрибутов, включая:

- Фамилия Имя Отчество;

- № паспорта врача;

- Специализация;

- Дата рождения;

- Заслуги;

 

Реестр «Приёмы»:

Реестр «Приёмы» должен обеспечивать возможность обработки необходимого набора атрибутов, включая:

- № паспорта врача;

- Регистрационный номер;

- Дата приёма;

- № приёма;

Реестр «Курсы лечения»:

Реестр «Курсы лечения» должен обеспечивать возможность обработки  необходимого набора атрибутов, включая:

- № курса;

- Регистрационный номер;

- № приёма;

- Описание курса;

Реестр «Рег. карта»:

Реестр «Рег. карта» должен обеспечивать возможность обработки  необходимого набора атрибутов, включая:

- ФИО;

- Регистрационный номер;

- Адрес;

- Дата рождения;

- № телефона;

- страховая компания;

- номер страховки;

Реестр «Пациенты»:

Реестр «Пациенты» должен обеспечивать возможность обработки  необходимого набора атрибутов, включая:

- ФИО;

- Регистрационный номер;

- Адрес;

- Дата рождения;

- № телефона;

 

ущности:

1.  Врачи:

·  ФИО

·  № паспорта врача

·  Специализация

·  Дата рождения

·  Заслуги

2.  Приёмы:

·  № паспорта врача

·  Регистрационный номер

·  Дата приёма

·  № приёма

3.  Курсы лечения

·  № курса

·  Регистрационный номер

·  Описание курса

·  № приёма

4.  Рег. Карта

·  ФИО

·  Регистрационный номер

·  Адрес

·  Дата рождения

·  № телефона

·  Группа крови

·  Страховая компания

·  № страховки

5.  Пациенты

·  ФИО

·  Регистрационный номер

·  Адрес

·  Дата рождения

·  № телефона

1.2.2 Даталогическое проектирование.

Реляционная модель данных организует и представляет данные в виде таблиц или реляций.

Реляционная схема базы данных – это схема или список, содержащий имена реляционных таблиц, имена  атрибутов, ключевые атрибуты и внешние  ключи.

Таблица Врачи:

Атрибут

Тип данных

Домен

Ограничения

ФИО

Текстовый

Список фамилий

NOT NULL

№ паспорта врача

Числовой

Номера паспортов

Первичный ключ

Специализация

Текстовый

Дерматолог;

Хирург;

Окулист;

Лор;

Невропатолог;

NOT NULL

Дата рождения

Дата, время

даты

NOT NULL

Заслуги

Текстовый

Список заслуг

NOT NULL


 

 

Таблица Приёмы:

Атрибут

Тип данных

Домен

Ограничения

Регистрационный номер

Числовой

Список регистрационных  номеров

NOT NULL

Дата приёма

Дата

Даты

NOT NULL

№ приёма

Числовой

Номера приёмов

Первичный ключ

№ паспорта врача

Числовой

Список номеров  паспортов

NOT NULL


 

Таблица Курсы лечения

Атрибут

Тип данных

Домен

Ограничения

Регистрационный номер

Числовой

Список регистрационных  номеров

NOT NULL

№ курса

Числовой

Номера курсов

Первичный ключ

№ приёма

Числовой

Номера приёмов

Внешний ключ

Описание курса

Текстовый

Описания курса  лечения

NOT NULL


Таблица Рег. карта:

Атрибут

Тип данных

Домен

Ограничения

ФИО

Текстовый

Список фамилий

NOT NULL

Регистрационный номер

Числовой

Список регистрационных  номеров

Первичный ключ

Адрес

Текстовый

Список адресов

NOT NULL

Дата рождения

Дата, время

Даты

NOT NULL

№ телефона

Числовой

Номера телефонов

NOT NULL

Группа крови

Текстовый

Группы крови

NOT NULL

Страховая компания

Текстовый

Список страховых  компаний

NOT NULL

№ страховки

Числовой

Номера страховок

NOT NULL


Таблица Пациенты:

Атрибут

Тип данных

Домен

Ограничения

ФИО

Текстовый

Список фамилий

NOT NULL

Регистрационный номер

Числовой

Список регистрационных  номеров

Первичный ключ

Адрес

Текстовый

Список адресов

NOT NULL

Дата рождения

Числовой

Даты

NOT NULL

№ телефона

Числовой

Номера телефонов

NOT NULL


1.2.3 Физическое проектирование.

Sql запросы на создание таблиц CREATE TABLE:

CREATE TABLE Врачи (ФИО char (50) NOT NULL, № паспорта integer NOT NULL primary key, Специализация char (50) NOT NULL , Дата рождения Data/time, Заслуги char (50) NOT NULL);

CREATE TABLE Приёмы (Регистрационный номер integer NOT NULL, Дата приёма Date/time NOT NULL, № приёма integer NOT NULL primary key , № паспорта врача integer NOT NULL);

CREATE TABLE Курсы лечения (Регистрационный номер integer NOT NULL, № курса integer NOT NULL primary key, № приёма integer NOT NULL Foreign key, Описание курса char (50) NOT NULL);

CREATE TABLE Рег. карта (ФИО char (50) NOT NULL, Регистрационный номер integer NOT NULL primary key , Адрес char (50) NOT NULL, Дата рождения Date/time NOT NULL, № телефона integer NOT NULL, Группа крови char (50) NOT NULL, Страховая компания char (50) NOT NULL, № страховки integer NOT NULL);

CREATE TABLE Пациенты (ФИО char (50) NOT NULL, Регистрационный номер integer NOT NULL primary key, Адрес char (50) NOT NULL , Дата рождения Data/time, № телефона integer NOT NULL);

 

2. Практическая часть 

 

2.1   Программно-информационное ядро базы 

 

Таблица «Врачи»

 

 

 

Таблица «Приёмы»

 

Таблица «Курсы лечения»

Таблица «Рег. карта»

 

Таблица «Пациенты»

Информация о работе Управление базами данных