Інформаційна система швидкої допомоги

Автор работы: Пользователь скрыл имя, 22 Мая 2013 в 21:28, курсовая работа

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

Метою роботи є створення програми, яка прискорить роботу швидкої допомоги. Для досягнення поставленої мети необхідно виконати такі завдання:
1) вивчення предметної області для формування технічного завдання;
2) розробка концептуальної та фізичної моделі бази даних;
3) розробка програмного інтерфейсу, для зручного використання бази даних;
4) написання програми управління бази даних.

Содержание работы

ВСТУП 3
ПОСТАНОВКА ЗАДАЧІ 5
1 ПРЕДМЕТНА ОБЛАСТЬ 7
1.1 Задачі швидкої медичної допомоги 7
1.2 Структура швидкої медичної допомоги 9
2 ІНФОЛОГІЧНЕ ПРОЕКТУВАННЯ 12
2.1 Сутності 12
2.2 Зв’язки 15
3 МОДЕЛІ БАЗИ ДАНИХ 19
3.1 Логічна модель бази даних 19
3.2 Фізична модель бази даних 21
3.3 Правила цілісності даних 24
3.3.1 Цілісність сутностей 24
3.3.2 Цілісність посилань 25
3.3.3 Тригери 25
3.3.4 Цілісність доменів 26
3.4 Інформаційні потоки 26
ВИСНОВКИ 28
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 29

Содержимое работы - 1 файл

дока ОБД.doc

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

Під поняттям «сутність» ми розуміємо абстракцію деякого реально об’єкту.

Розглянемо  специфікацію основних сутностей: виклик (табл. 1), пацієнти (табл. 2), машини (табл. 3) та робітники (табл. 4).

Таблиця 1

Специфікація  атрибутів сутності «Виклик»

Назва

Опис

Код виклику

Визначає номер  виклику. Ключове поле. Значення повинно  бути унікальним.

Час виклику

Час надходження  виклику

Час прибуття

Час прибуття бригади  до пацієнта.

Номер бригади

Номер бригади  яка робила на даному виклику. Вторинний  ключ.

Машина

Машина яка  робила на даному виклику. Вторинний ключ.

Тип машини

Визначається  тип машини, який необхідне для  виклику. Вторинний ключ.

Попередній  діагноз

Діагноз який припускає  пацієнт при виклику або діагноз  поставлений лікарем, без додаткового  обстеження. Вторинний ключ.

Точний діагноз

Точний діагноз  хворого з урахування усіх додаткових обстежень. Вторинний ключ.


 

Таблиця 2

Специфікація  атрибутів сутності «Пацієнти»

Назва

Опис

Код пацієнта

Визначає номер  пацієнта. Ключове поле. Значення повинно  бути унікальним.

Ім’я пацієнта

Ім’я поточного  пацієнта.

Вік

Вік пацієнта.

Адреса

Адреса за якої знаходиться пацієнт


Таблиця 3

Специфікація  атрибутів сутності «Машини»

Назва

Опис

Номер машини

Номер машини. Складається  з двох великих латинських літер, чотирьох чисел та двох великих латинських літер. Ключове поле. Значення повинно бути унікальним.

Водій

Код водія, якого  закріплено за даною машиною. Вторинний  ключ.

Тип машини

Зазначається  тип машини: загальна, токсикологічна або кардіологічна.


Таблиця 4

Специфікація  атрибутів сутності «Робітники»

Назва

Опис

Код робітника

Визначає номер  робітника. Ключове поле. Значення повинно  бути унікальним.

Ім’я робітника

Ім’я поточного  робітника.


2.2 Зв’язки

Розглянемо  зв’язки між сутностями.

Для формування виклику необхідно знати данні про пацієнта. Також у виклику може бути тільки один пацієнт, але цей пацієнт може декілька разів викликати швидку, тому зв’язок між ними один-до-багатьох (рис. 1).

Рис. 1 Зв’язок  між сутностями виклик та пацієнт

Після внесення даних про пацієнта необхідно визначити яка бригада поїде за викликом. Одна бригада може виїхати на багато викликів, тому зв’язок один-до-багатьох (рис. 2).

Рис. 2 Зв’язок  між сутностями виклик та бригада

Бригада в свою чергу складається з доктора, медсестри та санітара, які в свою чергу є підкласом класу робітники. До класу робітники також входить підклас водії. Також необхідно знати данні на якій машині бригада може їздить, оскільки бригада може їздить на машинах різного типа, та на машині одного типу може їздить багато бригад, тому робимо зв’язок багато-до-багатьох (рис. 3).

Рис. 3 Зв’язок  між підкласами класу робітники  та сутністю бригада

Також в виклику  повинна міститись інформація про попередній та точний діагноз пацієнта. Один діагноз може бути поставлено багатьом пацієнтам, та одному пацієнту можна поставити тільки один попередній діагноз та один точний діагноз, тому робимо зв’язок один до багатьох (рис. 4).

Рис. 4 Зв’язок  між сутностями виклик та діагнози

Сутність виклик зв’язана з сутністю тип машини та машина, які між собою зв’язані зв’язком один-до-багатьох. Оскільки одна машина може робити в багатьох викликах, так само як і тип машини, тому використовуємо зв’язок багато-до-одного (рис. 5).

Рис. 5 Зв’язок  між сутностями виклик, машина та тип  машини

У кожної машини є водій, тому необхідно зв’язати сутність машини та підклас водії (рис. 6).

Рис. 6 Зв’язок між сутністю машина та підкласом водії

Після проведеної роботи була побудована концептуальна  модель, вона представлена на рис. 7.

Рис. 7 Концептуальна  модель бази даних

 

 

3 МОДЕЛІ БАЗИ ДАНИХ

3.1 Логічна модель бази даних

Відобразимо отриману інфологічну модель на реляційну  модель.

Розглянемо  зв’язок між сутностями «Виклик». Про виклик ми повинні знати : час  виклику та час прибуття карети швидкої  до пацієнта. Також це сильна сутність тому в ній є первинний ключ. Сутність «Виклики» представлена в табл. 5

Таблиця 5

Таблиця «Виклики»

Код виклику

LongInteger

Час виклику

DataTime

Час прибуття

DataTime

Попередній  діагноз

Varchar

Точний діагноз

Varchar


Розглянемо  сутність «Пацієнти». Про пацієнта ми повинні зберіацігати данні про його ім’я, вік та адресу. Також додамо первинний ключ (табл. 6).

Розглянемо  сутності машини та типи машин. Машина може бути 3 типів: загальні, кардіологічні  та токсикологічні, для цього в  таблиці типів машини ми створюємо  поле типи (табл. 7). Сутність машини повинна містити дані о номері машини, водії та о її типі (табл. 8).

Таблиця 6

Таблиця «Пацієнти»

Код пацієнта

LongInteger

Ім’я пацієнта

Varchar

Вік

Integer

Адреса

Varchar


Таблиця 7

Таблиця «Типи  машини»

Код типу

Integer

Тип

Varchar


Таблиця 8

Таблиця «Машини»

Номер машини

Varchar

Водій

Integer

Тип машини

Varchar


Розглянемо  клас робітники, в ньому є два  поля код робітника та ім’я робітника (табл. 9). Також клас має чотири підкласу: доктора, медсестри, санітари та водії. Доктора, санітари та медсестри входять складаються в бригади (табл. 10).

Таблиця 9

Клас «Робітники»

Код робітника

LongInteger

Ім’я робітника

Varchar


Таблиця 10

Клас «Робітники»

Код бригади

LongInteger


У сутності хвороби  є два поля первинний ключ та назва  хвороби (табл. 11).

Таблиця 11

Таблиця «Хвороби»

Код хвороби

LongInteger

Ім’я робітника

Varchar


Оскільки між  сутностями «Тип машини» та «Бригади» зв’язок багато до багатьох, тому додаємо таблицю «Тип-Бригада» яка буде зв’язком між даними таблицями.

Провівши попередню роботу було створено логічну модель за допомогою програми PowerDisigner. Отримана модель наведена на рис. 8.

Рис. 8 Логічна  модель бази даних

3.2 Фізична  модель бази даних

Після розробки логічної моделі необхідно створити фізичну модель шляхом представлення ключів зв’язаних сутностей в одне відношення.

Розглянемо  таблиці «Бригада», «Тип машини» та «Тип-Машина». Оскільки між таблицями «Бригада» та «Тип машини» зв’язок один-до-одного, тому в таблицю «Тип-машина» додаємо два вторинних ключа з кожної таблиці (табл. 12).

Таблиця 12

Таблиця «Тип-Машина»

Код бригади

LongInteger

Код типу машини

LongInteger


Таблиця «Виклики» має зв’язок багато-до-одного з таблицями «Пацієнти», «Бригади», «Машини», «Типи машин», «Діагнози» тому в таблицю «Виклики» додаємо вторинний ключ з цих таблиць (табл. 13). З таблиці діагнози додаємо два вторинні ключі, оскільки нам необхідна інформація про попередній діагноз та точний діагноз.

Таблиця 13

Таблиця «Виклики»

Код виклику

LongInteger

Код пацієнта

LongInteger

Код бригади

LongInteger

Код машини

LongInteger

Код типу машини

LongInteger

Код попереднього діагноза

LongInteger

Код точного  діагноза

LongInteger

Час виклику

DataTime

Час прибуття

DataTime

Попередній  діагноз

Varchar

Точний діагноз

Varchar


При перетворенні класу «Робітники» в підкласи «Доктора», «Медсестри», «Санітари» та «Водії» додається вторинний ключ «Код робітника». Підклас «Доктора» представлено в табл. 14.

Таблиця 14

Підклас «Доктора»

Код робітника

LongInteger


Таблиця «Бригада»  має зв’язки багато-до-одного з підкласами «Доктора», «Медсестри», «Санітари», тому додаємо в цю таблицю зовнішні ключі з цих підкласів (табл. 15).

Таблиця 15

Таблиця «Бригади»

Код бригади

LongInteger

Код доктора

LongInteger

Код медсестри

LongInteger

Код санітара

LongInteger


В таблицю «Машини» додаємо вторинний ключ з таблиці «Тип машини», оскільки між ними зв’язок багато-до-одного (табл. 16).

Таблиця 15

Таблиця «Машини»

Номер машини

Varchar

Код типу машини

LongInteger


Провівши попередню  роботу було створено логічну модель за допомогою програми PowerDisigner. Отримана модель наведена на рис. 9.

Рис. 8 Логічна  модель бази даних

3.3 Правила  цілісності даних

Цілісність  даних життєво важлива для  будь-якої бази. Якщо значення даних  сумнівні, то яку видобувають з  бази інформація буде або повністю марна, або значно знецінена.

3.3.1 Цілісність сутностей

Цілісність  сутностей припускає, що для кожного рядка таблиці є унікальний ідентифікатор, який у разі необхідності дозволить знайти цей рядок. Концепція цілісності сутностей є основоположною для проектування і створення баз даних. Первинний ключ таблиці – це один або декілька стовпців, які однозначно визначають кожну її рядок. Значення первинного ключа унікальні – не може бути двох співпадаючих значень.

Цілісність  сутностей реалізується через первинні ключі. Правила забезпечення цілісності сутностей забороняють первинним  ключам мати невизначені значення або отримувати їх в результаті яких-небудь маніпуляцій з даними. Ці правила гарантують доступність кожного рядка таблиці при пошуку або модифікації даних. Можна знайти будь-який рядок таблиці, якщо задати значення її первинного ключа.

Информация о работе Інформаційна система швидкої допомоги