Министерство образования и науки Республики Казахстан
Карагандинский Государственный Технический Университет
Кафедра САПР
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе
По дисциплине:
"Проектирование баз данных"
Тема:
"Проектирование базы данных "Больница"
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.
В отличие от всех остальных наиболее известных СУБД, MSSQLServer имеет ряд преимуществ. Главным из них является то, что он обеспечивает создание информационных систем с архитектурой "клиент-сервер", в которой он играет роль сервера баз данных. Одним из важных свойств MicrosoftSQLServer является возможность управления целостностью данных.
Также можно сказать, что он удовлетворяет требованиям, предъявляемым к системам распределенной обработки информации. Эта СУБД поддерживает: тиражирование данных, параллельную обработку, создание и обработку больших баз данных на недорогих аппаратных платформах, отличается простотой управления и использования.
Средством, связывающим клиента с сервером, является язык SQL (Structured Query Language) – язык структурированных запросов. В данном курсовом проекте были использованы основные операторы этого языка, в частности для создания запросов. Этот язык является очень распространенным на данный момент и имеет ряд особенностей.
Он позволяет:
• создавать базы данных и таблицы с полным описанием их структуры;
• выполнять основные операции манипулирования данными, такие как
вставка, модификация и удаление данных из таблиц;
• выполнять простые и сложные запросы.
Этот язык был выбран, так как он доступен для изучения, синтаксис команд понятен и прост.
В качестве среды разработки самой программы для работы с базой данных была выбрана среда программирования BorlandDelphi 7, использующая язык программирования ObjectPasсal.
Основные причины выбора языка ObjectPascal:
– Главной из причин является возможность работы с базами данными;
– Легкость в организации доступа к базе данных;
– Возможность редактирования таблиц, вставки и удаления записей;
– Возможность создания достаточно понятного и дружественного интерфейса для пользователя.
– Простота языка позволяет быстро его освоить и создавать сложные программы;
Также, на выбор ObjectPascal в качестве базового программного обеспечения, повлияли такие обстоятельства как, достаточное количество необходимой литературы по программированию в этой среде, распространенность этой среды и имеющийся достаточный опыт работы в ней.
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–запросы
В данном курсовом проекте были выполнены следующие запросы: