Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Med_Informatika_navch_pos.doc
Скачиваний:
1048
Добавлен:
20.03.2015
Размер:
4.94 Mб
Скачать

Демонстраційний приклад

Створимо базу даних «Облік пацієнтів» медичного центру «Надія».

База даних має забезпечити виконання наступних завдань:

  • уведення і редагування інформації про пацієнтів, які звертаються за медичною допомогою;

  • оформлення медичних карток пацієнтів;

  • реєстрація надання медичних послуг пацієнтам (із зазначенням виду послуги, дати, вартості (якщо послуга платна) та лікарів, які супроводжують пацієнтів);

  • друк звітів про надання послуг та отриманий прибуток, прайсів тощо;

  • візуалізація результатів діяльності медичного центру у вигляді діаграм і графіків;

  • автоматизація звітних операцій (наприклад, формування звітів про прийом і надання послуг пацієнтам за певний період, категорії хворих, обстеження тощо);

  • забезпечення захисту від уведення неправильних даних (зокрема, дат у різних форматах), випадкових помилок.

Спочатку створимо нову базу даних «Облік пацієнтів» (див. додаток 5).

При створенні бази даних на екрані з’являється головне її вікно(рис. 13). Головне вікно бази даних має низку вкладок, кожна з яких містить відповідні об’єкти бази даних (форми, звіти, запити тощо) і стандартні кнопки Открыть, Конструктор, Создать. Крім цих кнопок безпосередньо у вікні наявні кілька гіперпосилань для швидшого вибору команди створення об’єкта. Як правило, це створення об’єкта за допомогою майстратарежиму конструктора. На рис. 13 у вікні бази данихвідкрита вкладка Таблицы, тому після натискання на одну з цих кнопок або гіперпосилання виконуватиметься відповідна операція для таблиці.

Для створення таблиці бази даних у вікні бази даних перейдемо до вкладки Таблицы, виберемо гіперпосиланняСоздание таблицы в режиме конструктора.

Рис. 13. Головне вікно бази даних

Вікно конструктора таблиць зображене на рис. 14. Це вікно розбите на дві частини. У верхній частині вікна в стовпчику Имя поля вводимо імена полів (до 64 символів з урахуванням пропусків), усусідньому стовпчику зі списку вибирається тип даних. У стовпчику Описание можна ввести пояснювальний текст.

Рис. 14. Вибір типу даних поля в таблиці

У нижній частині вікна конструктора таблиць можна задати (або змінити) властивості полів. Пояснимо призначення деяких з них.

Маска ввода дає змогу обмежити допустимі значення даних, що вводяться в це поле. Наприклад, якщо поле призначене для зберіганняіндексу населеного пункту, то за допомогою маски можна заборонити введення нецифрової інформації і, крім того, простежити за тим, щоб було введено лише шість цифр. Крім того, маска прискорює введення за рахунок незначущих символів (роздільники дати, номери телефонівта ін.). Докладнуінформацію про спеціальні символи маски можна отримати з довідки, натиснувши клавішуF1, коли курсор міститься в полі властивостіМаска ввода. Для прикладу наведемо маску для індексу населеного пункту: 000000. Символ «0» означає обов’язкову цифру, а отже, допустимими символами є цифри від 0 до 9, причому їхня кількість має дорівнювати шести.

Подпись текст, уведений у це поле, використовуватиметься як заголовок стовпчика в режиміТаблица.

Значение по умолчанию– значення, уведене в це поле, автоматично підставлятиметься в дані поля таблиці при додаванні нового запису.

Условие на значение– Microsoft Access автоматично накладає умови на значення, які визначаються типом даних поля; наприклад, не допускається введення нечислових символів у числові поля. Ця властивість дає можливість вказати логічний вираз, який перевірятиметься при редагуванні або введенні нової інформації в дане поле таблиці. У разі порушення цієї умови (якщо значення логічного виразу помилкове) з’явиться повідомлення про помилку. Зберегти запис не вдається до тих пір, поки значення не буде приведено у відповідність до вказаної умови.

Сообщение об ошибке– повідомлення, яке з’являтиметься в разі порушення умови на значення (див. вище) при введенні інформації в поле таблиці. Якщо не ввести текст повідомлення, то повідомлення про помилку матиме стандартну форму. Рекомендується використовувати цювластивість, щоб інформувати користувача про характер допущеної ним помилки при введенні даних у таблицю.

Обязательное поле.Ця властивість може мати одне з двох значень –Да/Нет. Якщо поле визначити обов’язковим, тоне можна буде зберегти запис з незаповненим значенням у цьому полі. Уведіть значення Да в це поле, якщо наявність даних в полі таблиці необхідна для правильного функціонування додатку. Наприклад, обов’язковими можна вважати поля, що містять дані про ім’я пацієнта, дату його прийому, ціну послуги тощо. Незаповненому полю запису відповідаєспеціальний маркер, який називається NULL-значенням і відповідає відсутності інформації або непридатності властивості об’єкта, описуваного значенням цього поля.

Индексированное поле. Ця властивість має одне з трьох значень:Нет;Да (допускається збіг) іДа (збіг не допускається). Індексовані поля в таблиці прискорюють пошук і сортування вполі, але уповільнюють збереження інформації. Детальніший опис призначення індексованих полів подано у додатку 5.

На вкладці Подстановкау властивостях поля можна вибрати тойелемент управління, який застосовуватиметься для введення або редагування інформації в режимі таблиці або на формі при використанні майстра створення форм. Цими елементами, наприклад, можуть бути поле, поле зі списком, список.

Крім властивостей полів можна також задати властивості, що стосуються до таблиці в цілому. Для цього потрібно в контекстному меню або в менюВидвибрати командуСвойства( рис. 15).

Рис. 15. Вікно властивостей таблиці

Якщо властивість Условие на значение для поля таблиці дає змогу сформулювати критерій, якому мають відповідати значення, що вводяться в поле, аналогічна властивість для таблиці дає можливість задати критерій, якому має відповідативесь запис. Тому вираз, вказаний як умова для поля, не повинен містити посилання на інші поля. Вираз, вказаний як умова на значення для запису, може містити також посилання на поля тієї самої таблиці.

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

Властивість Порядок сортировкивизначає порядок сортування записів у таблиці. Значення цієї властивості задається за допомогою рядкового виразу, що містить імена полів, за якимипроводиться сортування записів. Якщо вказано декілька імен, необхідно розділяти їх комою (,). Якщо в значенні властивості задані імена одного або декількох полів, буде виконано сортування за зростанням. Для сортування записівза спаданням після імені відповідного поля слід ввести ключове слово DESC.

Визначення ключових полів

Завершимо знайомство з конструктором таблиць визначенням ключових полів. Щоб створити поле первинного ключа, потрібно виділити рядок (або декілька рядків) з ім’ям цього поля в режиміконструктора таблиць і виконати команду Правка/Ключевое поле. Щоб анулювати первинний ключ, виконайте цю команду ще раз. Ключове поле завжди індексоване, причому повтори не допускаються.

MS Access допомагає формально виконати нормалізацію таблиць. Після створення таблиці можна скористатися однією із сервісних програм, так званими майстрами (в оригіналі – Wizard). Для цього потрібно виконати командуСервис/Анализ/Таблица. Майстер розбиває таблицю, створену з порушенням умов нормальності, на ряд таблиць, зв’язаних за допомогою зовнішніх ключів.

Поле зовнішнього (або вторинного) ключа утворюється при зв’язуванні полів двох таблиць. Поля, за якими виконується зв’язування таблиць, мають бути такими ж. Не можна, наприклад, встановити зв’язок між числовим і текстовим полем. Якщо при встановленні зв’язку використовується поле з типом даних Счетчик, то позв’язуване з ним поле має бути числовим, для якого властивістьРазмерматиме значеннядовге ціле. З двох таблиць, які зв’язуються,одна є головною, а інша – підлеглою. Поле зовнішнього ключа міститься в підлеглій таблиці і служить тут представником поля основної таблиці, яке в останній має бути або первинним ключем, або мати унікальний індекс. Ця вимога підтверджує принципову неможливість створення зв’язку типу«богато-до-багатьох»між двома таблицями в реляційній моделі.

Щоб встановити зв’язки між таблицями, потрібно виконати команду Сервис/Схема данных. Потім за допомогою контекстного меню або менюСвязи/Добавить таблицудодаємо до макету схеми даних усі необхідні таблиці. Вказівником миші перетягуємо поле з основної таблиці на відповідне йому поле підлеглої таблиці. У діалоговому вікні, що з’явилося (рис. 16), слід відзначити, чи потрібно забезпечити цілісність даних. Якщо так, то зазначити характер цілісності даних, після чого клацнути наОК

Рис. 16. Вікно зміни зв’язків головної та підлеглої таблиць

Тип відношення «один-до-багатьох» означає, що кожному запису, який визначається первинним ключем, відповідає довільна кількість записів зв’язаної таблиці (зокрема і жодного). Наприклад, на рис. 16подано зв’язок між таблицямиСпівробітникиіПацієнти,що означає наявність для одного співробітника довільної кількості записів, які фіксують у базі даних інформацію про пацієнтів цього співробітника.

Тип відношення «один-до-одного»означає, що одному запису з основноїтаблиці відповідає один запис або жодного в підлеглій таблиці.

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

Якщо встановлено підтримку цілісності даних (прапорець Обеспечение целостности данных;див. рис. 16), користувач має можливість вказати, чи слід автоматично виконуватидля зв’язаних записів операції каскадного оновлення і каскадного видалення. Якщо встановити відповідні прапорці, стануть можливими операції видалення і оновлення, які інакше будуть заборонені умовами цілісності даних. Тут мова йде про видалення запису з головної таблиці (каскадне видалення) або зміну значення поля, що бере участь у зв’язку, в основній таблиці (каскадне оновлення).

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

Другий спосіб підтримки посилальної цілісності полягає в забороні каскадних операцій (відповідні прапорці не встановлено). Не можна видалити запис з основної таблиці, якщов підлеглій таблиці є пов’язанй з нею записи. Аналогічно не можна буде змінити значення ключового поля в основній таблиці. Для того щоб все ж таки видалити запис з основної таблиці, потрібно спочатку видалити з підлеглої таблиці пов’язані з нею записи, а потім видалити запис з основної таблиці.

Опис таблиць

Відповідно до умови задачі побудуємо наступні (табл. 1 – 5).

Таблиця 1. Співробітники

Поле

Тип даних

Опис

ТабНомер

Числовий

Табельний номер співробітника (первинний ключ). Використовується числовий тип (а не лічильник), щоб можна було вводити конкретні значення

ПIБ_співробітника

Текстовий

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

Е-пошта

Текстовий

Електронна пошта співробітника

Телефон

Текстовий

Внутрішній телефон співробітника

Кабінет

Текстовий

Місце прийому співробітником

Префікс

Текстовий

Наукове звання

Посада

Текстовий

Назва посади

Вiддiлення

Текстовий

Назва відділення

Палати

Текстовий

Номери палат, закріплених за співробітником

ПІБ_начальника

Текстовий

Ім’я безпосереднього начальника

Дата_реєстрації_запису

Дата/час

Дата введення даних про співробітника

Відключений

Логічний

Право на роботу з базою даних пацієнтів

Фото

Поле об’єкта OLE

Використовується для введення-виведення фотографії співробітника на формі або в звіті

Таблиця2. Пацієнти

Поле

Тип даних

Опис

Код_пацiєнта

Лічильник

Порядковий номер пацієнта (первинний ключ)

Код_cпiвробiтника

Числовий

Табельний номер співробітника,

поле зовнішнього ключа для зв’язку з таблицею «Співробітники»

Пацієнт

Текстовий

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

ДатаНародження

Дата/час

Дата народження пацієнта

Стать

Текстовий (розмір поля 2)

Відмітка про стать пацієнта: чоловіча («ч») або жіноча («ж»). Зручно вводити інформацію в поля, які мають обмежений набір значень, використовуючи список або поле зі списком. Для цього в режимі конструктора таблиці на вкладці Подстановкаслід ввести відповідні дані (див. рис. 17)

Адреса

Текстовий

Адреса пацієнта

Телефон

Текстовий

Номер контактного телефону

НомерКартки

Текстовий (розмір поля 15)

Номер картки пацієнта

Код_страхов_комп

Числовий

Код страхової компанії ,

поле зовнішнього ключа для зв’язку з таблицею «Страхова компанія»

НомерІсторХвор

Текстовий (розмір поля 15)

Номер історії хвороби пацієнта

Страхова_комп

Текстовий

Назва страхової компанії, якщо пацієнт має страховку. Дані про організацію зручно вводити в поля, які мають обмежений набір значень, за допомогою Мастераподстановки, використовуючи список або поле зі списком. Для цього в режимі створення підстановки слід вибрати варіант “об’єкт підстановки буде використовувати значення з таблиці або запиту”, а потім вибрати таблицю «Страхова компанія» і поля «Організація», «Тип» і «Поштова_адреса»

Статус

Текстовий

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

Діагнози

Текстовий

Діагноз пацієнта

Дата_реєстрації_запису

Дата/час

Дата введення інформації про пацієнта

Вибране

Логічний

Відмітка про особливий характер діагнозу пацієнта

Таблиця 3.Обстеження

Поле

Тип даних

Опис

Номер

Лічильник

Порядковий номер обстеження (первинний ключ)

ДатаНадання

Дата/час

Дата проведення обстеження

КодПацiєнта

Числовий

Код пацієнта, поле зовнішнього ключа для зв’язку з таблицею «Пацієнти»

Пацієнт

Числовий

Ім’я пацієнта. Зручно вводити інформацію в поле, яке має обмежений набір значень за допомогою Мастераподстановки, використовуючи список або поле зі списком. Для цього в режимі створення підстановки вибрати варіант «об’єкт підстановки буде використовувати значення з таблиці або запиту», а потім вибрати таблицю «Пацієнти» і поле «Пацієнт»

ВiкПацiєнта

Числовий

Вік пацієнта

Послуга

Текстовий

Назва послуги

Вартість

Грошовий

Вартість послуги

Лікар

Текстовий

Ім’я лікаря

Прилад

Текстовий

Назва приладу

Методика

Текстовий

Використовувана методика

Висновки

Гіперпосилання

Посилання на файл з висновками про стан пацієнта

Вiддiлення

Текстовий

Назва відділення

Скарги

Текстовий

Перелік скарг пацієнта

Фактори

Текстовий

Фактори ризику, які впливають на здоров’я пацієнта

Діагноз

Текстовий

Діагноз пацієнта

Таблиця4.Журнал_прийому

Поле

Тип даних

Опис

Номер

Лічильник

Порядковий номер у журналі (первинний ключ)

ДатаПрийому

Дата/час

Дата прийому пацієнта

ЧасПрийому

Дата/час

Час прийому пацієнта

Пацієнт

Текстовий

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

КодЛікаря

Дата/час

Табельний номер співробітника,

поле зовнішнього ключа для зв’язку з таблицею «Співробітники»

Лікар

Текстовий

Ім’я лікаря

Кабінет

Текстовий

Кабінет прийому пацієнта

Вiддiлення

Текстовий

Назва або номер відділення

Послуга

Текстовий

Назва послуги

Ціна

Грошовий

Вартість послуги

Нотатки

Текстовий

Додаткова інформація про умови прийому пацієнта

Неявка

Логічний

Відмітка про неявку пацієнта

Таблиця5. Страхова компанія

Поле

Тип даних

Опис

Організація

Текстовий

Назва організації

Тип

Текстовий

Тип організації (СК, аптека, тощо)

Поштова_адреса

Текстовий

Поштова адреса організації

Для прикладу наведемо режим конструктора для таблиці «Пацієнти»(рис. 17).

Рис. 17. Режим конструктора для таблиці «Пацієнти»

Зв’язки між таблицями, які забезпечують посилальну цілісність даних, наглядно представлено на схемі даних (команда меню Сервис/Схема данных (рис. 18).

Рис. 18. Встановлення зв’язків між таблицями. Схема даних

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]