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

2016-07-30СтудИзба

Описание файла

Документ из архива "Проектирование базы данных "Больница"", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48338"

Текст из документа "48338"

Министерство образования и науки Республики Казахстан

Карагандинский Государственный Технический Университет

Кафедра САПР

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе

По дисциплине:

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

Тема:

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

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. Вывести список сотрудников по определенной должности.

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. Doljnost like ‘Должность’

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. Вывести список пациентов по определенному диагнозу.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4144
Авторов
на СтудИзбе
666
Средний доход
с одного платного файла
Обучение Подробнее