Реферат по предмету "Информатика, программирование"


Проектирование базы данных "Больница"

Министерствообразования и науки Республики Казахстан
КарагандинскийГосударственный Технический Университет
Кафедра САПР
ПОЯСНИТЕЛЬНАЯЗАПИСКА
к курсовой работе
По дисциплине:
«Проектирование баз данных»
Тема:
«Проектированиебазы данных „Больница“
 
2009

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

Введение
Любая организация нуждаетсяв своевременном доступе к информации. Ценность информации в современном миреочень высока. Роль распорядителей информации в современном мире чаще всеговыполняют базы данных. Базы данных обеспечивают надежное хранение информации,структурированном виде и своевременный доступ к ней. Практически любаясовременная организация нуждается в базе данных, удовлетворяющей те или иныепотребности по хранению, управлению и администрированию данных.
Целью выполнения курсовогопроекта является приобретение студентами практических навыков проектированиябаз данных и разработки программного обеспечения по управлению базами данных сиспользованием СУБД. В ходе выполнения данного курсового проекта необходиморазработать информационную базу данных для больницы, которая поможет любомупользователю легко найти нужную информацию о любом сотруднике или пациенте.
Больница – это такая организация, котораяработает с очень большим объемом информации, как о сотрудниках, так и опациентах. Врачам всегда следить за данными о своих пациентах, о курсе лечениябольных. А руководству и бухгалтерии необходимо быть в курсе событий о своихсотрудниках. Для этого нужна общая база данных, включающая всю необходимуюинформацию. Программа является очень актуальной на сегодняшний день, онаавтоматизирует работу с базой данных и предоставляет пользователю (оператору)понятный и дружественный интерфейс.
Мощность базыданных обусловлена возможностью ее постоянного пополнения новыми данными,причем в неограниченном количестве информации. Это является очень удобным дляпользователя. Таким образом, создание базы данных, обладающей такимисвойствами, задача достаточно актуальная и полезная.
В задачи курсового проекта входят:
1.  Разработка структуры базданных.
2.  Работа с несколькимитаблицами и установление взаимосвязей между таблицами.
3.  Разработка системы меню.
4.  Разработка иформирование отчетов.
5.  Использованиерасширенных средств СУБД ввода и вывода данных.
6.  Организация справочнойсистемы.

1. Постановка задачи
Необходимо спроектироватьбазу данных для больницы, в которой должны быть учтены все требования заказчика.
Требования были следующими:
1.        База данных должнаотражать всю информацию о больнице, в частности о сотрудниках и о пациентах;
2.        В базе данных должнабыть справочная информация для врачей о диагнозах и способах их лечения; опроцедурах, которые имеются в больнице и их оплате; о лекарствах, имеющих местов медицине.
3.        Должна бытьвозможность вносить изменения в данные и пополнения новыми данными.
4.        В программе должнаприсутствовать функции поиска, выполнения определенных запросов, печатиотчетов.
5.        Программа должнаиметь справочное руководство по использованию базы данных.

2. Обоснование выбора СУБД и программногообеспечения
В качестве средствапроектирования базы данных, была выбрана СУБД MS SQL Server 2000.
В отличие от всех остальныхнаиболее известных СУБД, MS SQL Server имеет ряд преимуществ. Главным из них является то, что онобеспечивает создание информационных систем с архитектурой „клиент-сервер“,в которой он играет роль сервера баз данных. Одним из важных свойств Microsoft SQL Server является возможность управления целостностью данных.
Также можно сказать, что онудовлетворяет требованиям, предъявляемым к системам распределенной обработкиинформации. Эта СУБД поддерживает: тиражирование данных, параллельнуюобработку, создание и обработку больших баз данных на недорогих аппаратныхплатформах, отличается простотой управления и использования.
Средством, связывающимклиента с сервером, является язык SQL (Structured Query Language) – языкструктурированных запросов. В данном курсовом проекте были использованыосновные операторы этого языка, в частности для создания запросов. Этот языкявляется очень распространенным на данный момент и имеет ряд особенностей.
Он позволяет:
• создавать базы данных итаблицы с полным описанием их структуры;
• выполнять основныеоперации манипулирования данными, такие как
вставка, модификация иудаление данных из таблиц;
• выполнять простые исложные запросы.
Этот язык был выбран, таккак он доступен для изучения, синтаксис команд понятен и прост.
В качествесреды разработки самой программы для работы с базой данных была выбрана средапрограммирования Borland Delphi 7, использующая язык программирования Object Pasсal.
Основныепричины выбора языка Object Pascal:
– Главнойиз причин является возможность работы с базами данными;
– Легкостьв организации доступа к базе данных;
– Возможностьредактирования таблиц, вставки и удаления записей;
– Возможностьсоздания достаточно понятного и дружественного интерфейса для пользователя.
– Простотаязыка позволяет быстро его освоить и создавать сложные программы;
Также, навыбор Object Pascal в качестве базового программного обеспечения, повлияли такиеобстоятельства как, достаточное количество необходимой литературы попрограммированию в этой среде, распространенность этой среды и имеющийсядостаточный опыт работы в ней.

3. Структура базы данных
3.1 Концептуальная модель
Основным объектом врассматриваемой модели является больница. У больницы есть свои характеристики:заведующий больницей, адрес, название. Она представлена в виде составляющих ееотделений, которые тоже имеют ряд характеристик: заведующий отделением,название отделение, старшая медсестра.
В каждом отделении имеютсясотрудники и пациенты, которые имеют свои личные данные.
Концептуальная модель базыданных представлена на рисунке 3.1.

/>

Рисунок 3.1 –Концептуальная модель базы данных
3.2Логическая модель базы данных
Логическаямодель представлена на рисунке 3.2.

/>
Рисунок 3.2 –Логическая модель базы данных
В базе данныхимеется 9 таблиц. Первая самая главная таблица „Отделения“, котораяявляется главной для таблиц „Персонал“, „Пациенты“ и „Диагнозы“,с которыми она связана по полю „Код отделения“ и имеет место связь „1-комногим“. В свою очередь таблица „Персонал“ является главной длятаблицы „Процедуры“, которая связана по полю „Код медсестры“,связь также „1-ко многим“.
Две таблицы „Диагноз-Лекарства“и „Диагноз-Процедуры“ имеют составные ключи и связаны с двумятаблицами, по коду диагноза с таблицей „Диагнозы“ и по коду лекарстваи процедуры с таблицами „Лекарства“ и „Процедуры“соответственно. Получилась связь „многие – ко многим“. Такая связь нужна,для того чтобы можно было для одного диагноза выбрать много процедур илекарств. Соответственно, для процедур и лекарств могут соответствовать многодиагнозов.

4.Нормализация отношений
Нормализация– это процесс проектирования базы данных с целью исключения аномалий модификаций,избыточности данных и приведения отношений к нормальным формам.
Аномалиимодификации – последствия, которые могут возникнуть вследствие измененияотношения (таблицы).
Аномалииустраняются путем разбиения отношения на 2 и более новых отношений. Аномалии делятсяна 2 основных вида: аномалия удаления, аномалия вставки.
Можносказать, что в данном курсовом проекте все таблицы находятся в 1НФ, так как всеони удовлетворяют требованиям, необходимым для того, чтобы таблица считаласьотношением. Главным образом, это требование атомарности.
Отношениенаходится во 2НФ, если оно находится в 1НФ и все неключевые атрибуты вотношении зависят только от всего ключа в целом.
Принадлежностьк 2НФ всех таблиц, кроме двух таблиц (»Диагноз-Процедуры", «Диагноз-Лекарства»),можно определить по наличию 1 первичного простого ключа, состоящего из одногоатрибута. А эти две таблицы состоят только из двух ключевых атрибутов, т.е.первичный ключ является составным. Таким образом, в этих таблицах нетнеключевых атрибутов, независящих от всего ключа в целом.
Отношениенаходится в 3НФ, если отношение находится во 2НФ и не имеет транзитивныхзависимостей.
В данномкурсовом проекте все таблицы находятся в 3НФ. Хотя в начале курсового проектапредполагалось, что таблица «Персонал» будет включать в себя атрибуты«Должность» и «Оклад», что говорило бы о наличиетранзитивной зависимости. В результате нормализации таблица «Персонал»была разбита на два отношения «Персонал» и «Должности»,которые теперь находятся в 3НФ.
Отношениенаходится в НФБК, если оно находится в 3НФ и каждый детерминант является ключом-кандидатом.
Можносказать, что во всех таблицах данной базы данных, кроме первичных ключейключей-кандидатов не наблюдается, поэтому нельзя сказать, что они находятся вНФБК.
В 4НФ таблицыне могут находиться, так как они не находятся в НФБК.
Такимобразом, все отношения находятся в 3НФ.

5. SQL–запросы
В данномкурсовом проекте были выполнены следующие запросы:
Посотрудникам:
1. Вывестисписок сотрудников по определенной должности.
SELECTPersonal. Fio as 'ФИО', Otdeleniya. Nazvanie_otdel as 'Название отделения'
FROMOtdeleniya INNER JOIN Personal ON Otdeleniya. Kod_otdel = Personal.kod_otdel
WHEREPersonal. Doljnost like «Должность»
orderby Otdeleniya. Nazvanie_otdel
2. Вывестисписок сотрудников по должности, учитывая отделение.
SELECTPersonal. Fio as 'ФИО', Otdeleniya. Nazvanie_otdel as 'Название отделения'
FROMOtdeleniya INNER JOIN Personal ON Otdeleniya. Kod_otdel = Personal.kod_otdel
WHEREOtdeleniya. Nazvanie_otdel = «Отделение’ AND Personal. Doljnost like ‘Должность’
3. Вывестисписок сотрудников, оклад которых превышает n-й суммы
SELECTPersonal. Fio as 'ФИО', Personal. Doljnost as 'Должность', Personal. Oklad as'Оклад'
FROMPersonal
wherePersonal. Oklad> (Сумма)
4. Вывестиобщий список сотрудников.
SELECTPersonal. Fio as 'ФИО', Personal.doljnost as 'Должность',otdeleniya.nazvanie_otdel as 'Название отделения'
FROMOtdeleniya INNER JOIN Personal ON Otdeleniya. Kod_otdel = Personal. Kod_otdel
groupby otdeleniya.nazvanie_otdel, Personal. Fio, Personal.doljnost
orderby Personal. Fio
По пациентам:
1. Вывестисписок пациентов по определенному диагнозу.
SELECTPacienty. Fio as „Ф.И.О.“, Otdeleniya. Nazvanie_otdel as „Названиеотделения“, Diagnozy. Nazvanie_diagnoza as „Название диагноза“
FROMOtdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza =Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel
WHEREDiagnozy. Nazvanie_diagnoza like ‘%Диагноз % '
orderby Pacienty. Fio
2. Вывестисписок пациентов по определенной дате поступления.
SELECTPacienty. Fio as „Ф.И.О.“, Pacienty.Data_postup as „Дата поступления“,Otdeleniya. Nazvanie_otdel as „Название отделения“, Diagnozy. Nazvanie_diagnoza as „Название диагноза“
FROMOtdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza =Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel WHEREPacienty. Data_postup= ‘Дата поступления’ and Diagnozy.Nazvanie_diagnoza like ' % Диагноз % '
order by Pacienty. Fio
3. Вывестисписок пациентов по дате выписки.
SELECTPacienty. Fio as „Ф.И.О.“, Otdeleniya. Nazvanie_otdel as „Названиеотделения“, Diagnozy. Nazvanie_diagnoza as „Название диагноза“
FROMOtdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza =Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel WHEREPacienty. Data_vypiski='Дата выписки'
order by Pacienty. Fio
4. Вывестисписок пациентов, поступавших за определенный период.
SELECTPacienty. Fio as „Ф.И.О.“, Pacienty.Data_postup „Дата пост-я“, Otdeleniya.Nazvanie_otdel as „Отделение“, Diagnozy. Nazvanie_diagnoza as „Диагноз“
FROMOtdeleniya 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
(Pacienty.Data_postup=' Дата поступления2'))
order by Pacienty.data_postup'
5. Вывестиобщий список пациентов.
SELECTPacienty. Fio as „Ф.И.О.“,Pacienty.data_postup as „Дата поступления“, Diagnozy.Nazvanie_diagnoza as „Диагноз“,
Otdeleniya.Nazvanie_otdel as „Отделение“
FROMOtdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza =Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel
Groupby Otdeleniya. Nazvanie_otdel, Pacienty. Fio, Pacienty.data_postup, Diagnozy. Nazvanie_diagnoza
Полекарствам:
Вывестисписок диагнозов по определенному лекарству.
SELECTDiagnozy. Nazvanie_diagnoza as „Диагноз“
FROMLekarstva INNER JOIN (Diagnozy INNER JOIN diagnoz_lekar ON Diagnozy. Kod_diagnoza=diagnoz_lekar.kod_diag)ON
Lekarstva.Kod_lekarstva=diagnoz_lekar.kod_lek
WHERE Lekarstva. 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 –Отчет «Список сотрудников по отделению»
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. Сорокин А.В.Delphi. Разработка баз данных. – СПб.: Питер, 2005. – 477 с.
2. Коннолли,Томас, Бегг, Каролин. Базы данных. Проектирование, реализация и сопровождение.Теория и практика. 3-е издание.: Пер. с англ. – М.: Издательский дом «Вильяме»,2003. – 1440 с.
3. Т. Карпова– Базы данных: модели, разработка, реализация. Уч. пособие – СПб: Питер, 2001.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

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

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.