Зміст модуль I. Основи інформаційних технологій в системі охорони здоровя. Обробка та аналіз медикобіологічних даних 4
Скачать 4.71 Mb.
|
Комп’ютерні дані: типи даних, обробка та управлінняПобудова баз даних медичних закладівКонкретні цілі заняття: інтерпретувати: типи даних та їх характеристики, компоненти системи інформаційної обробки даних; демонструвати: навички розробки реляційної моделі баз даних, навички організації запитів до баз даних з метою одержати потрібну інформацію. Основні поняття теми Точність даних, коректність даних, обчислювальна система, інтерфейс користувача, база даних, система управління базами даних, предметна область, структурування даних, моделі даних. Короткі теоретичні відомостіПроблема обробки великих обсягів інформації вже давно є однією з найболючіших проблем організації системи охорони здоров’я України. У структурі майже кожного лікувального закладу існує низка центрів, куди надходить інформація, яку слід зберігати та обробляти. Для прикладу розглянемо звичайний лікувальний заклад районного рівня. Тут питання обробки та зберігання великого обсягу інформації виникають, наприклад, при:
Тривалий час вважалося, що подібні питання складно механізувати.. Як носій інформації використовували папір, як обробник інформації – величезний інтелектуальний потенціал працівників лікувальних закладів. Реєстратура з величезними стелажами та картотеками стала одним із символів лікувального закладу. Та ось напочатку 90-х років ХХ століттяу лікувальних закладах України з’явилися перші ПК. Одне з перших завдань, над яким вони працювали, – це оптимізація роботи реєстратури. Для його реалізації використовували системи управління базами даних (СУБД). Не можна сказати, що на сьогодні день завдання організації реєстратури, як і довільне інше завдання баз даних у структурі лікувального закладу, розв’язане остаточно. Тому знання теорії баз даних та відповідні навички розробки реляційної моделі баз даних майбутнього лікаря спрямовані на вирішення актуальних проблем вибору оптимальних способів зберігання та обробки великих обсягів даних у роботі лікувального закладу. Отже, база даних є набором записів і файлів, організованих спеціальним чином. Іншими словами, інформація в базах даних зберігається в структурованому вигляді. Серед існуючих типів моделей даних (ієрархічна, мережева і реляційна) розглянемо лише реляційну структуруорганізації даних. Реляційна модель даних припускає презентацію даних лише в один спосіб, а саме у вигляді таблиць.Кожний рядок таблиці містить інформацію, що стосується деякого конкретного об’єкта. Ця інформація є набором фактів, при цьому в стовпчику(його називають також атрибутомабо полем) міститься конкретний факт. Стовпчики мають заголовки (імена). Оскільки порядок стовпчиків вважається невизначеним, то їх імена є єдиним засобом доступу до відповідного факту. Наприклад, таблиця Співробітники може мати колонки з іменами ПІБ_співробітника іТелефон, що припускає наявність у цих колонках інформації про прізвище і телефон співробітника відповідно. Звичайно СУБД не в змозі відстежувати порушення сенсу інформації. Єдине, що може перевірити система при введенні інформації, – це тип даних, які вводяться, оскільки для кожного стовпчика тип даних визначається при створенні таблиці. При спробі ввести інформацію, тип якої несумісний з типом даних стовпчика, буде отримано повідомлення про помилку перетворення типу. Технологію організації, ведення та обробки медичних даних засобами реляційної бази даних MS Access розглянемо на конкретному прикладі. Демонстраційний прикладСтворимо базу даних «Облік пацієнтів» медичного центру «Надія». База даних має забезпечити виконання наступних завдань:
Спочатку створимо нову базу даних «Облік пацієнтів» (див. додаток 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. Співробітники
Таблиця2. Пацієнти
Таблиця 3.Обстеження
Таблиця4.Журнал_прийому
Таблиця5. Страхова компанія
Для прикладу наведемо режим конструктора для таблиці «Пацієнти» (рис. 17). Рис. 17. Режим конструктора для таблиці «Пацієнти» Зв’язки між таблицями, які забезпечують посилальну цілісність даних, наглядно представлено на схемі даних (команда меню Сервис/Схема данных (рис. 18). Рис. 18. Встановлення зв’язків між таблицями. Схема даних Усі таблиці бази даних нормалізовані. Це зумовлено тим, що кожна з них має простий первинний ключ, тобто ключ, який складається з одного поля, і всі не ключові поля залежать тільки від цього ключа. Практичні завдання Завдання 1. Створити базу даних, яка забезпечувала б роботу діагностичної лабораторії «Invitero». Лабораторія проводить дослідження в таких галузях діагностики, як алергологія, біохімія, рентгенологія, ендоскопія. База повинна містити:
Таблиця 2. Відомості про пацієнтів
Таблиця 3.Результати досліджень
Таблиця 4. Співробітники
Вказівки до виконання завдання Для створення бази даних необхідно:
Завдання 2. Створити базу даних, яка забезпечувала б роботу фітоаптеки лікарських зборів і трав «Зелена планета». База повинна містити:
Таблиця 5. Каталог фітопрепаратів
Таблиця 6. Постачальники
Таблиця 7. Закупівля фітопрепаратів
Завдання 3. Створити базу даних, яка забезпечувала б роботу фармацевтичної фірми. Фірма займається аналізом і виробництвом лікарських препаратів. База повинна містити:
Таблиця 8. Список препаратів
Таблиця 9. Методи аналізу
Таблиця 10. Список методів
Питання для самоконтролю1. У яких випадках доцільно звертатися до баз даних? 2. Назвіть призначення і основні функціональні можливості MS Access. 3. Дайте визначення поняття «База даних». 4. Охарактеризуйте реляційну модель даних. 5. Обґрунтуйте необхідність використання різних типів ключів 6. Що забезпечує первинний ключ? 7. Опишіть технологію забезпечення системою управління базами даних посилальну цілісність бази даних. 8. Опишіть структуру даних в Access. 9. Дайте порівняльну характеристику різних моделей даних. 10. Яким чином здійснюється збереження даних в Access? 11. Наведіть приклад ієрархічної моделі даних. Відповідь обґрунтуйте. 12. Наведіть приклад мережевої моделі даних. Відповідь обґрунтуйте. 13. Наведіть приклад реляційної моделі даних. Відповідь обґрунтуйте. 14. Перерахуйте основні об’єкти Access. 15. Дайте класифікацію систем управління базами даних. |