Модуль і. Основи інформаційних технологій в системі охорони здоров'Я. Обробка та аналіз медикобюлогічних даних
Скачать 5.89 Mb.
|
27 MS Access допомагає формально виконати нормалізацію таблиць. Після створення таблиці можна скористатися однією із сервісних програм, так званими майстрами (в оригіналі Wizard). Для цього потрібно виконати команду Сервис/Анализ/Таблица. Майстер розбиває таблицю, створену з порушенням умов нормальності, на ряд таблиць, зв'язаних за допомогою зовнішніх ключів. Поле зовнішнього (або вторинного) ключа утворюється при зв'язуванні полів двох таблиць. Поля, за якими виконується зв'язування таблиць, мають бути такими ж. Не можна, наприклад, встановити зв'язок між числовим і текстовим полем. Якщо при встановленні зв'язку використовується поле з типом даних Счетчик, то позв'язуване з ним поле має бути числовим, для якого властивість Размер матиме значення довге ціїе. З двох таблиць, які зв'язуються, одна є головною, а інша - підлеглою. Поле зовнішнього ключа міститься в підлеглій таблиці і служить тут представником поля основної таблиці, яке в останній має бути або первинним ключем, або мати унікальний індекс. Ця вимога підтверджує принципову неможливість створення зв'язку типу «богато-до-багатьох» між двома таблицями в реляційній моделі. Щоб встановити зв'язки між таблицями, потрібно виконати команду Сервис/Схема данных. Потім за допомогою контекстного меню або меню СеятІДобаеить таблицу додаємо до макету схеми даних усі необхідні таблиці. Вказівником миші перетягуємо поле з основної таблиці на відповідне йому поле підлеглої таблиці. У діалоговому вікні, що з'явилося (рис. 16), слід відзначити, чи потрібно забезпечити цілісність даних. Якщо так, то зазначити характер цілісності даних, після чого клацнути на О К И зменение связен
OK О тгт-ї О бъединение... 0 Обеспечение целостности данных каскадное обновление связанных полей 0 каскадное удаление связанных записей Тип отношения: один-ко-многим Р ис. 16. Вікно імінн ів яікїв головної та підлеглої таблиць Тип відношення «один-до-багатьох» означає, що кожному запису, який визначається первинним ключем, відповідає довільна кількість записів зв'язаної таблиці (зокрема і жодного). Наприклад, на рис. 16 подано зв'язок між таблицями Співробітники і Пацієнти, що означає наявність для одного співробітника довільної кількості записів, які фіксують у базі даних інформацію про пацієнтів цього співробітника. Тип відношення «один-до-одного» означає, що одному запису з основної таблиці відповідає один запис або жодного в підлеглій таблиці. 28 Забезпечення цілісності даних забороняє зберігати в підлеглу таблицю додані або редаговані записи, для яких відсутнє відповідне значення в ключовому полі головної таблиці. Нагадаємо, що така цілісність називається посилальною. Якщо встановлено підтримку цілісності даних (прапорець Обеспечение целостности данных, див. рис. 16), користувач має можливість вказати, чи слід автоматично виконувати для зв'язаних записів операції каскадного оновлення і каскадного видалення. Якщо встановити відповідні прапорці, стануть можливими операції видалення і оновлення, які інакше будуть заборонені умовами цілісності даних. Тут мова йде про видалення запису з головної таблиці (каскадне видалення) або зміну значення поля, що бере участь у зв'язку, в основній таблиці (каскадне оновлення). Залежно від установки прапорців каскадних операцій реалізуються два способи підтримки посилальної цілісності при модифікації даних в основній таблиці. Якщо встановлено прапорець каскадного видалення, то при видаленні запису з головної таблиці будуть також видалені всі зв'язані записи з підлеглої таблиці. Наприклад, при видаленні магазину автоматично буде видалено всю інформацію про продажі в цьому магазині. При каскадному оновленні зміна значення поля зв'язку в головній таблиці приводить до відповідної зміни значення зовнішнього ключа в підлеглій таблиці. Другий спосіб підтримки посилальної цілісності полягає в забороні каскадних операцій (відповідні прапорці не встановлено). Не можна видалити запис з основної таблиці, якщо в підлеглій таблиці є пов'язанй з нею записи. Аналогічно не можна буде змінити значення ключового поля в основній таблиці. Для того щоб все ж таки видалити запис з основної таблиці, потрібно спочатку видалити з підлеглої таблиці пов'язані з нею записи, а потім видалити запис з основної таблиці. Опис таблиць Відповідно до умови задачі побудуємо наступні (табл. 1 - 5). Tao.iinpi І. Співробітники
29
|