Автор работы: Пользователь скрыл имя, 26 Марта 2013 в 22:05, курсовая работа
База Данных (БД) должна быть приведена к третьей нормальной форме и содержать следующие поля: Номер участка, ФИО участкового врача, ФИО больного, Адрес больного, Номер страхового полиса, Дата посещения, Диагноз.
2. Создать формы для ввода информации в каждую из созданных таблиц.
ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ 3
ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ. 4
ДАТАЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ. 7
ОПИСАНИЕ ТЕХНОЛОГИИ ОДНОГО ИЗ ЭТАПОВ РЕШЕНИЯ. 18
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ. 21
ОГЛАВЛЕНИЕ
Шифр
Вариант 10. База данных «Поликлиника»
1. База Данных (БД) должна
быть приведена к третьей
2. Создать формы для ввода
информации в каждую из
3. Создать два запроса:
− Номер участка, ФИО участкового врача, количество принятых больных за текущий месяц.
− ФИО больного, ФИО участкового врача, Количество посещений за текущий месяц.
4. Создать два отчета
на основании имеющихся
5. Создать основную кнопочную форму.
Таблица 1
Выбор объекта для описания технологии его создания
Предпоследняя цифра шифра |
1 |
запрос |
Таблица 2
Выбор элемента управления для формы
Сумма цифр шифра по модулю 10 |
1 |
поле |
В данном случае необходимо создание базы данных для хранения текстовой информации. Наиболее рационально использовать операционную систему Windows XP и пакет программ Microsoft Office 2003, так как они достаточны для создания и использования базы данных. Так же в этой среде будет легко обеспечить вывод на печать необходимых отчетов, и если потребуется загрузка данных в базу из таблиц созданных в программе MS Office Excel.
Эта база данных будет может быть использована для накопления информации для статистической отчетности, поэтому можно сказать что это система информационного обеспечения, многопользовательская и уровня организации (поликлиники). В принципе данная модель базы может быть рассчитана только на одно отделение поликлиники. Данная база по виду обрабатываемой информации относится, как уже было сказано ранее к текстовой и является системой реального времени. Основная ее функция учет приема больных и отчетность по количеству.
База данных формируется в два этапа – сначала сведения об участках и врачах работающих на этих участках вводятся в регистратуре, далее врачи во время приема вносят в нее сведения о больных, пришедших на прием – это показано на рисунке 1.
База данных содержит информацию:
Рис.1 Технологическая схема автоматизированной обработки данных о посещении поликлиники
Теперь необходимо понять с какими сущностями в данной базе мы будет работать. В поликлинике врачи ведут прием больных, у каждого врача есть определенный участок, закрепленный за ним. Больные обращаются к своим «участковым» врачам. Изредка врачи могут заменять друг друга на участках. Значит информация, относящаяся к врачу – фамилия, имя, отчество и номер участка. Далее можно выделить отдельно информацию, относящуюся к больному – это фамилия, имя, отчество, адрес и номер страхового полиса. Причем номер стразового полиса у каждого больного индивидуален и соответственно может быть основным признаком больного. В третий раздел можно отнести информацию, соединяющую врача и больного, а именно дату посещения и диагноз. Наиболее разумно связать три полученных объекта через номер участка врача и номер полиса больного. Итак, выделены три сущности: ВРАЧ, БОЛЬНОЙ и ПОСЕЩЕНИЯ. Выбраны ключевые атрибуты. В рамках этой модели, как каждый моделируемый класс однородных объектов реального мира называется сущностью. Ключевой атрибут – это набор атрибутов, однозначно идентифицирующий конкретный экземпляр сущности. В сущности ВРАЧ ключевой атрибут – номер участка, в сущности БОЛЬНОЙ – номер полиса, а в сущности ПОСЕЩЕНИЯ – номер участка и номер полиса. Три сущности выглядят так:
Врач |
Больной |
Посещения |
№ участка |
№ полиса |
№ участка |
Фамилия |
Фамилия |
№ полиса |
Имя |
Имя |
Дата посещения |
Отчество |
Отчество |
Диагноз |
Улица |
||
Дом |
||
Квартира |
ФИО разбиваем соответственно на три поля – фамилия, имя, отчество, адрес больного на три поля – улица, дом, квартира.
Разработанная модель «сущность-связь» (называемую также ER-моделью) показана на рисунке 2.
Рис. 2 Инфологическая модель данных.
В данном случае воспользуемся видом связи 1: Много, один экземпляр сущности может быть связан с несколькими экземплярами другой сущности, но не наоборот, это показывает какая сущность главная, а какие подчиненные. Существуют три основных типа даталогических моделей:
Наиболее удобна реляционная модель.
Сущности у нас уже выделены:
Врач |
Больной |
Посещения |
№ участка (ключ) |
№ полиса (ключ) |
№ участка (ключ) |
Фамилия |
Фамилия |
№ полиса (ключ) |
Имя |
Имя |
Дата посещения (ключ) |
Отчество |
Отчество |
Диагноз |
Улица |
||
Дом |
||
Квартира |
Все поля неделимы, ключи определены, повторения и транзитивные зависимости отсутствуют.
Создаем структуру таблиц:
Определяем тип каждого поля и ключевые поля.
Таблица. ВРАЧИ
Таблица. БОЛЬНЫЕ
Таблица ПОСЕЩЕНИЯ
Создаем
схему, в которой определяются связи
между таблицами и
Разрабатываем формы для ввода информации.
1) Форма
СПИСОК ВРАЧЕЙ – вводится
Дополнительная форма ВРАЧИ со списком – для удобного просмотра по участкам - какой врач на интересующем участке.
2) Форма
БОЛЬНЫЕ – для заполнения
С помощью форм заполняются таблицы, таблицы так же можно просматривать и корректировать непосредственно открыв таблицу.
Вот заполненные таблицы:
Для выборки информации создаем запросы:
1)Номер
участка, ФИО участкового
2) ФИО
больного, ФИО участкового врача,
количество посещений за
На основании созданных запросо
Отчет 1:
Отчет 2:
В завершении создания базы данных создаем главную кнопочную форму для удобства использования базы:
Опишем создание запросов в базе данных.
Общую блок-схему, показывающую формирование запросов и выдачу полученной информации можно увидеть на рис.3.
Рис. 3. Блок-схема запроса.
Пусть из таблицы ПОСЕЩЕНИЯ надо выбрать информацию по количеству принятых больных за текущий месяц. Результат должен содержать номер участка, ФИО участкового врача, количество принятых больных за текущий месяц. Для создания запроса выполним следующие действия:
1) В окне Добавление таблицы выберем таблицы:
2) В окне Конструктора запросов с помощью мыши поочередно поместим в строку «поле» следующие поля: ФВР, ИВР и ОВР из таблицы ВРАЧИ, НУ и ДАТА из таблицы ПОСЕЩЕНИЯ.
3) Для выборки текущего месяца заносим в Поле Month([Дата]), а в Условие отбора функцию Month(now()).
4) Сохраним запрос под именем «Запрос 11» и выполним его.
5) Для получения
количества посещений создадим
дополнительный запрос на
6) Сохраним запрос под именем «Запрос 111» и выполним его.
Запросы 2 и 21 создаются аналогичным образом, только вместо номера участка на с интересует ФИО больного, соответственно сортировка информации происходит сначала по ФИО больного, затем по ФИО участкового врача и с помощью операции COUNT вычисляется количество непустых значений в поле запроса. В данном запросе участвуют 3 таблицы: ФИО врача берется из таблицы ВРАЧИ, ФИО больного из таблицы БОЛЬНЫЕ, ДАТА из таблицы ПОСЕЩЕНИЯ.
Так как в таблице ПОСЕЩЕНИЯ поля №ПОЛ (номер полиса) и НУ (номер участка) являются ключевыми, а информация по ключевым полям не может повторятся, но один больной может посещать поликлинику не один раз, то для решения этой проблемы введем еще одно ключевое поле ДАТА, предположив что в один день больной посетит одного врача не более одного раза.
Иногда при создании формы необходимо добавлять данные в основную часть. Для этого необходимо увеличить размер области данных. Для этого указатель мыши наведем на нижнюю ограничительную линию и после щелчка мышью, когда курсор примет вид двунаправленной стрелки, сдвинем ее вниз. Далее маркируем поле подчиненной формы и не отпуская кнопки мыши сдвигаем его ниже. На освободившееся место вставляем новое «пустое» поле. Для этого включаем кнопку Поле на панели инструментов. После щелчка мышью на свободном пространстве появляются два новых элемента: слева – название нового поля, справа – содержимое поля. Связываем новое поле с главной таблицей. Для этого двойным щелчком мыши на правом прямоугольнике вызовем диалоговое окно Свойства. На вкладке Данные в строке Данные выберем из списка необходимое поле. Новому полю присвоим имя. Для этого после двух однократных щелчков мышью в левом прямоугольнике запишем название поля.
Также можно изменять размеры полей с помощью маркеров изменения размеров. Чтобы размер поля соответствовал заключенной в ней информации, можно после его маркировки применить команду По размеру данных подменю Размер меню Формат (Формат→Размер→По размеру данных).