Використання гібридної СУРБД Microsoft Access для розробки бази даних медичного призначення
Microsoft Access — це комбінація диспетчера звичайної настольної бази даних з однією таблицею на файл і завершеної СУРБД SQL У Access використовується один файл бази даних, що містить усі таблиці, що належать базі даних Механізм бази даних Jet забезпечує цілісність посилань для власних таблиць на рівні бази даних, тому додатковий код VBA не потрібно. Механізм Jet забезпечує цілісність доменів на рівні полів і таблиць, якщо змінюється значення поля, для якого встановлені обмеження. Бази даних Jet мають системні таблиці, у яких каталогізуються об’єкти бази даних, а проблеми багатокористувацького спільного доступу дозволяються за допомогою драйверів бази даних.
Система Access дозволяє зруйнувати бар’єр “серверний додаток — додаток користувача”, що відокремлює СУРБД від настольних СУБД. Код додатка і такі об’єкти, як форми і звіти, а також таблиці можуть міститися в тому самому файлі бази даних.
Імена користувачів і паролі зберігаються в окремому бібліотечному файлі робочої групи, оскільки файл *.mdb може містити лише одну базу даних. Патентований різновид SQL Jet — це власний метод обробки даних у таблицях, а не додаткові можливості. Бази даних Jet близькі до того, щоб стати на ринку СУРБД дешевим масовим програмним продуктом, що забезпечує багатокористувацькі бази даних без плати за ліцензію для кожного клієнта.
Файли баз даних Jet по можливостях і продуктивності приблизно заміняють СУРБД клієнт/сервер класу робочої станції, але вимагають значно менших витрат як на програмне, так і на апаратне забезпечення. Коли буде потрібно більш потужний механізм, ніж Jet, можна використовувати інструменти Access Upsizing, що дозволять швидко і просто перейти до SQL Server. Приєднатися до такої бази даних можна за допомогою провайдера Microsoft OLE DB Provider for ODBC Drivers (MSDASQL) і драйвера SQL Server ODBC чи власного провайдера OLE DB Provider for SQL Server (SQLOLEDB).
Основні етапи проектування баз даних в СУРБД Microsoft Access
Загальна характеристика об’єктів бази даних Microsoft Access
Базою даних називається набір даних з яскраво вираженою організацією. Програма для управління базами даних Microsoft Access 97 дозволяє:
· зберігати практично необмежений об’єм інформації;
· організовувати дані в найбільш зручній формі;
· діставати з бази відомості за заданими критеріями;
· створювати форми, які полегшують ввід інформації;
· готувати наочні звіти, які можуть вміщувати алфавітно-цифрову інформацію, малюнки, фотографії і навіть звук.
База даних Microsoft Access складається з таблиць, їх зв’язків, звітів, запитів, фільтрів, форм і макросів.
В таблицях інформація зберігається за темами, наприклад паспортні дані пацієнтів, результати клініко-лабораторних обстежень, поточна захворюваність і т.п. Таблиці складаються з рядків і стовпчиків. Набір інформації в кожній клітинці називається записом. В таблиці Pasport, наприклад, кожен рядок вміщує паспортні дані пацієнтів однієї лікарської дільниці. В стовпчиках, або полях, розміщується інформація певного виду. Наприклад, в полі Домашня адреса розміщено адреси пацієнтів:
Між таблицями створюється взаємозв’язок на основі виділення індексованих полів. В даному прикладі ¾ це код пацієнта. В усіх таблицях під першим порядковим номером (кодом) будуть розміщені дані пацієнта Маркова Володимира Богдановича.
Для полегшення вводу даних в базу створюються спеціалізовані форми. Вони забезпечать правильний ввід інформації і направлять її у відповідну таблицю. Як правило у формі одночасно представлені всі поля одного запису:
Для пошуку інформації в таблиці (або в декількох таблицях) необхідно здійснити Запит. Наприклад, щоб відібрати пацієнтів для профілактичного огляду, які народилися після 1970, необхідно задати Запит з умовою відбору пацієнтів за полем Дата народження в таблиці Pasport. Відразу передбачається інформація, яка буде отримана внаслідок Запиту, а саме Прізвище, ім’я, по батькові та домашня адреса у вигляді таблиці та наклейок на конверт:
Після відбору необхідних даних їх виводять на екран або роздруковують у вигляді Звіту. У Звіт можна включити не тільки дані з кожного Запису, але й результати розрахунків, діаграми, малюнки та інші елементи, які надають даним більшу виразність. У прикладі, який буде розглядатися далі, після 1970 року народилося тільки двоє пацієнтів:
· наклейки на конверти мають наступний вигляд:
· кінцева таблиця:
Щоб автоматизувати виконання набору команд Access, створюються Макроси, які дозволяють виконувати команди одним клацанням кнопки.
Щоб автоматизувати багато процедур бази даних Access, створюються Модулі, які об’єднують команди Access і макроси з програмами, виконаними в алгоритмічній мові Microsoft Visual Basic.
Розглянемо насупну типову задачу.
На дільниці в сімейного лікаря нараховується 15 осіб чоловічої і 15 осіб жіночої статі. Необхідно створити базу даних, в яку увійдуть відомості про паспортні дані пацієнтів і результати їх обстежень (аналізів крові).
Проектування бази даних
Робота над Базою даних розпочинається з її планування. Це перший і дуже важливий крок. Звичайно зміни в базу даних можна внести коли завгодно і скільки завгодно, проте передбачивши необхідні поля Ви зекономите в майбутньому немало часу. Необхідно заздалегідь продумати, як шукати в базі необхідні відомості і які розрахунки Ви будете проводити на їх основі.
Проаналізувавши умову задачі, можна зробити висновок, що в базу даних доцільно включити дві таблиці, оскільки слід зберігати різнопланові дані:
· перша – паспортні дані пацієнтів (назвемо її Pasport),
· друга – результати обстежень пацієнтів (назвемо її Result).
Будову бази даних зручно відобразити в вигляді наступної структури (мал.1).

Після визначення кількості таблиць, слід встановити атрибути, значення яких зберігатимуться в кожній з таблиць. При цьому, необхідно попередньо визначити тип даних відповідного атрибуту.
Для паспортних даних можна виділити наступні атрибути:
| Атрибут | Тип даних |
| КодПерсони1 | Первинний ключ |
| Прізвище | Текст |
| Ім’я | Текст |
| По-батькові | Текст |
| Стать | Текст |
| Дата народження | Дата/час |
| Місто | Текст |
| Адреса (вулиця, дім, квартира) | Текст |
| Телефон | Число (ціле) |
| Місце роботи (професія) | Текст |
Аналогічно, для результатів обстежень можна виділити наступні атрибути:
| Атрибут | Тип даних |
| КодАналізу1 | Первинний ключ |
| КодПерсони2 | Зовнішній ключ |
|
Дата аналізу
|
Дата/час |
| Гемоглобін | Число |
| Еритроцити | Число |
| Лейкоцити | Число |
| ШОЕ | Число |
Примітки: 1 – первинний ключ служить для ідентифікації кожного запису в таблиці Значення цього атрибуту повинні бути унікальними. 2- зовнішній ключ служить для створення зв’язку з первинним ключем іншої таблиці. Цей атрибут може набувати лише значень відповідного йому первинного ключа. Однак допускається повторюваність значень.
Початок роботи з програмою Microsoft Access
Запуск Microsoft Access здійснюється аналогічно як будь-яка програма з пакету Microsoft Office:
· через системне меню операційної системи: (Пуск à Программы à Microsoft Office à Microsoft Access);
· з панелі Microsoft Office, клацнувши один раз на піктограмі Microsoft Access:
· з робочого стола операційної системи Windows, клацнувши двічі на ярлику програми:
В загальному, вікно програми Microsoft Access подібне до інших програм сімейства Microsoft Office. Крім вже звичних елементів робочого вікна, (мал. 2) Access при запуску пропонує відкрити вже існуючі бази даних, перелічені у нижньому вікні (“Открыть базу данных“-1), або створити нові бази даних з використанням Майстра (“Запуск мастера“-2) чи вручну (“Новая база данных“-3).
Оскільки завдання полягає в проектуванні і розробці нової бази даних, слід вибрати варіант Новая база данных.
Наступним кроком є створення файлу бази даних. Вам буде запропоновано задати ім’я файлу бази даних та місце його розміщення на диску. У задачі, що розглядається, ім’я можна вказати Patient, а місце розміщення файлу – папка “Мои документы“. Таким чином створюється пуста база даних з назвою Patient (мал. 3)
t
В робочій зоні програми появиться Вікно бази даних (мал.4. – 1). У ньому розміщуються Об’єкти (2) бази даних Access. Вікно бази даних має свою панель інструментів з такими стандартними кнопками:
“Открыть” – відкриває активний об’єкт БД.
“Конструктор” – відкриває вікно конструктора даного типу об’єкта БД.
“Создать” – відкриває вікно, що містить способи створення нового об’єкта БД.
“Удалить” – знищує виділений об’єкт БД.
Група “Вид“ – встановлює режим перегляду списку об’єктів БД активного типу.
Створення таблиць бази даних.
Способи створення таблиць бази даних
Після створення файла бази даних створюються таблиці. Для цього слід активувати розділ Таблицы вікна бази даних. У Access 2000 зразу ж пропонується три основних варіанти створення таблиць (мал. 4):
· за допомогою конструктора (Создание таблицы в режиме конструктора) (3).
· за допомогою майстра (Создание таблицы с помощью мастера).
· шляхом вводу даних (Создание таблицы путем ввода данных).
Створення таблиці шляхом вводу даних має свої переваги:
· зовнішній вигляд таблиці, яка розробляється, нагадує таблицю Excel.
· в цьому режимі необхідно вказати тільки імена полів і безпосередньо вводити дані першого пацієнта (створювати перший запис).
Access автоматично присвоїть полям необхідний Тип даних, виходячи із введеної інформації, і задасть розмір по замовчуванню текстовим і числовим полям. Під час закривання таблиці програма запропонує зберегти її і вказати провідне поле, або зробить це самостійно.
Основний недолік даного способу – дуже легко помилитися, особливо при створенні ключових полів.
Створення таблиці за допомогою майстра полягає в наступному. В СУБД Access підготовано шаблони таблиць та полів для кожної з них з наперед встановленими властивостями. Користувачу слід лише вибрати необхідні поля з для створення своєї таблиці.
Основний недолік такого способу – неможливо передбачити всі можливі поля та їх комбінації. Особливо це стосується баз даних медичного призначення.
Оптимальний спосіб – створення таблиці у режимі конструктора. Дає можливість інтерактивно вказати імена полів, вибрати їх типи, встановити додаткові властивості.
Однак, крім перелічених, є ще два способи створення таблиць. При натисканні кнопки “Создать” розділу Таблицы вікна бази даних відкривається вікно “Новая таблица” (мал. 5). В списку способі створення таблиці присутні ще два пункти:

· “Импорт таблиц” – запускає майстер, який дає можливість використати вже існуючі таблиці іншої бази даних, електронні таблиці (наприклад Excel) і навіть таблиці текстових файлів
· “Связь с таблицами” – запускає майстер, який дає можливість встановити зв’язок з таблицями іншої бази даних Access.
Останній спосіб важливий при створенні розподіленої бази даних, яка працює в мережі. Більш детально це питання описано в додатку ____.
Робота з конструктором таблиць
На мал. 5 представлено вигляд вінка конструктора таблиць.
У діалоговому вікні конструктора у верхньому ярусі (1) представлені Імена полів і Типи даних полів створеної таблиці, нижче (2) – властивості того, чи іншого поля. яке виділяється.
В режимі конструктора для створення таблиці слід:
· вказати ім’я полів;
· вибрати тип даних для кожного з полів;
· задати властивості полів (розмір, формат, значення по замовчуванню, і інші властивості);
· визначити ключові поля;
· назвати таблицю і зберегти її.
Імена полів не повинні співпадати з іменем іншого поля в таблиці. Імена полів повинні вміщувати не більше 64 символів і можуть включати будь-які комбінації букв, цифр, пропусків і спеціальних символів за виключенням крапки (.), знаку оклику (!), обернених лапок (‘) і прямих дужок ([ ]). Імена не повинні починатися з пропуску, бути надто довгими. Крім цього пропуски краще не включати в імена полів, оскільки вони утруднюють їх читання.
Тип даних поля встановлюється шляхом вибору з списку наявних полів.
Основні типи даних полів:
· лічильник – поле, що містить унікальний номер запису (код) в таблиці. Код генерується самою програмою. В таблиці може бути лише одне поле такого типу!
· текстові ¾ включає будь-які комбінації букв, цифр і символів. Його обсяг ¾ до 255 символів.
· МЕМО ¾ використовується для об’ємних буквенно-числових даних. Він, як правило, складається з декількох речень. або абзаців (розмір не повинен перевищувати 64000 символи). Цей тип рекомендується для вводу текстів і різноманітних коментарів.
· числові ¾ вміщують виключно числову інформацію. За цими полями виконують обрахунки.
· дати/часу ¾ вноситься інформація тільки про дату і час. Програма забезпечує обробку дат від 100-го року до 9999-го.
· грошові ¾ вміщують величини, вказані в валюті (згідно на лаштування системи).
Властивості полів задаються наступним чином:
· Активується поле, для якого слід встановити значення властивості.
· Встановлюється значення відповідної властивості.
Цей крок особливо важливий для ключових полів. Зокрема, при створенні таблиць будь-якої бази даних, для реалізації відношення між таблицями “один-до-багатьох” слід дотримуватися таких загальних правил:
| Поле | Властивість | Значення |
| Первинний ключ | “Индексированое поле” | “Да, совпадения не допускаются” |
| Зовнішній ключ | “Индексированое поле” | “Да, допускаются совпадения” |
Коли створено всі поля таблиці, встановлено їх типи та властивості, таблицю слід зберегти.
Увага! Зберігання таблиць, а також інших об’єктів бази даних здійснюється так само, як документів Office – натисканням на піктограму “Сохранить” на ПІ або командою “Сохранить” меню “Файл“.
В першу чергу Access видасть запит на ввід імені таблиці:
Якщо в таблиці немає поля з типом даних “Счетчик”, Access видасть запит на створення ключового поля.
Створенні таблиці з’являються в розділ Таблицы вікна бази даних. При потребі їх можна в будь-який момент часу знову відкрити в режимі конструктора для внесення змін в структуру і типи полів.
Увага! Редагування структури і типів полів таблиці при наявності в них інформації може привести до пошкодження або навіть втрати цієї інформації.
В задачі, що розглядається, слід створити дві таблиці:
| першу – з паспортними даними пацієнта (назва – Pasport) |
|
| другу – з результатами обстежень (назва – Result) |
Поля та їх типи вказуються згідно розробленої раніше структури.
Встановлення зв’язків між таблицями.
Наступним важливим етапом створення бази даних є встановлення зв’язків між таблицями.
Для цього слід відкрити меню Сервис. і вибрати пункт Схема данных… .З’явиться два діалогових вікна (мал. 7) одне над одним: нижнє ¾ Схема данных (1), верхнє ¾ Добавление таблицы (2).
У вікні Добавление таблицы Access пропонує список таблиць які можна добавити у схему даних (3). Після чого вікно Добавление таблицы слід закрити. В вікні Схема данных з’явиться зображення добавлених таблиць з переліком їх полів. В подальшому, при необхідносіт додати нові таблицю в вікно Схема данных слід скористатися кнопкою “Добавлить таблицы” (4) на ПІ. При цьому знову відкриється вікно Добавление таблицы.
Зв’язок створюється шляхом перетягування мишею поля однієї таблиці на поле іншої. При цьому слід дотримуватися таких правил:
· Відношення “один-до-одного” реалізується зв’язуванням таблиць по первинному ключу (первинному індексу) обох таблиць.
· Відношення “один-до-багатьох” реалізується зв’язуванням первинного ключа однієї таблиці та зовнішнього ключа (вторинного індексу) другої таблиці.
При створенні зв’язку відкривається діалогове вікно Связи (мал. 8), в яком можна перевірити основні та встановити додаткові параметри даного зв’язку.
В відношеннях “один-до-багатьох” в вікні Связи рекомендується встановлювати відмітку “Обеспечение целосности данных“, а саме: “Каскадное обновление связанных полей” та “Каскадное удаление связанных полей“. Цілісність даних, означає, що при роботі з записами таблиці будуть враховуватися зв’язки даної таблиці з іншими. Наприклад, при знищенні поля головної таблиці (пацієнт знятий з обліку у зв’язку з смертю), буде знищено всі дані в зв’язаних таблицях (знищуються результати аналізів).
Наявні зв’язки в вікні Схема данных відображаються лініями. Створений зв’язок можна редагувати або знищити, викликавши для нього контекстове меню (правою кнопкою миші). Після створення зв’язку зміни схеми даних слід зберегти, що здійснюється так само, як і збереження таблиць. Єдина відмінність – не потрібно вказувати ім’я об’єкту.
У даній задачі згідно розробленої раніше структури бази даних слід
· У вікні Добавление таблицы по черзі виділити таблиці Pasport та Result і виконати команду Добавить.
· У вікні Схема данных створити зв’язок між полями Код Пацієнта таблиць Pasport та Result. Оскільки в таблиці Pasport дане поле є первинним ключем, а в таблиці Result – зовнішнім, то тип відношення в новому зв’язку буде “один-до-багатьох”.
Якщо зв’язок встановлено правильно, вікно Схема данных має наступний вигляд:
Створення форм для оптимізації внесення даних.
Вносити дані безпосередньо в таблиці важко і надокучливо. Access володіє потужним засобом для оптимізації внесення даних, а саме створенням форм. Взагалі, форми є одними з найважливіших елементів бази даних після таблиць. Кожен користувач бази даних в першу чергу повинен буде працювати лише з формами. Тому створенню зручних форм слід приділити велику увагу.
Для створення форм слід перейти на вкладку Форми.
В Access 2000 відразу ж пропонується два способи створення форм:
· в режимі конструктора (Создание формы в режиме конструктора);
· за допомогою майстра (Создание формы с помощью мастера).
Однак повний перелік способів створення форм можна побачити, натиснувши кнопку “Создать“. З’являється вікно “Новая форма” (мал. 9), в якому вказано такі способи створення форм:

· Конструктор: створення форми в режимі конструктора.
· Майстер: створення форми в діалоговому режимі за допомогою “майстра”.
· Автоформа: в столбец: автоматичне створення форми, елементи роботи з даними якої вирівняні в стовбчик (мал. 10, г).
· Автоформа: ленточная: автоматичне створення форми стрічкового типу (мал. 10, б).
· Автоформа: табличная: автоматичне створення форми в вигляді таблиці (мал. 10, в).
· Диаграмма: майстер створення форми, що буде містити діаграму
· Сводная таблица: майстер створення форми, що буде містити підсумкову таблицю Excel.
Розглянемо ці способи створення форм більш детально.
Застосування “майстрів” для створення форм.
Майстри форм Access дозволяють просто і швидко створювати форми різного типу та призначення.
В загальному, всі форми можна поділити на три типи:
· прості: базуються на даних однієї таблиці чи запиту;
· складені: дають можливість вводити дані в дві і більше таблиць одночасно;
· спеціальні: містять спеціальні об’єкти (наприклад діаграми).
Прості форми. Найшвидший спосіб створення простих форм – скористатися однією з команд “автоформа” вікна “Новая форма“. При цьому обов’язково слід вибрати з списку ім’я таблиці або запита, дані з яких і будуть відображатися в формі. Форма автоматично створюється з використанням оформлення та стилів, встановлених по замовчуванню, і виводиться на екран. Останній крок – збереження – аналогічний як і для таблиць.
Існує інший спосіб. Для цього треба вибрати команду Создание формы с помощью мастера в вікні бази даних або команду “Мастер“вікна “Новая форма“. Даний шлях складається з кількох кроків, найважливішим з яких є перший – вибір таблиць і полів даних.
Відкривається діалогове вікно (мал. 11, а), в якому пропонується вибрати таблицю (або запит), на основі яких буде створюватися форма (3), перелік полів таблиці (Доступные поля) (1), кнопки (2) вибору полів активної таблиці.
Увага! Пам’ятайте, що кнопка (2) переносить всі поля, кнопка (4) переносить тільки виділені поля (мал. 11, а).
При створенні простої форми слід вибирати поля лише з однієї таблиці.
Крім вказаного етапу, на наступних кроках майстер дозволяє вибрати зовнішній вигляд форми, стиль, та ім’я форми.
Складені форми. Однак частіше виникає необхідність в створенні форм іншого типу – складених, що базуються на двох і більше таблицях. Для цього в першому вікні майстра (мал. 11, а) слід послідовно вибрати необхідні поля з кількох таблиць. Наприклад, паспортні дані пацієнта з однієї таблиці та результати аналізів з іншої. Робиться це так:
1. В списку “Таблицы” вибирається перша (головна) таблиця. В розділі Доступные поля відображається список її полів.
2. Використовуючи кнопки (4 і 2), відбираються поля, що будуть включені в форму.
3. В списку “Таблицы” вибирається друга (підлегла) таблиця. В розділі Доступные поля відображається список її полів.
4. Використовуючи кнопки (4 і 2), відбираються поля, що будуть включені в форму.
Увага!. Таблиці обов’язково повинні бути об’єднані прямим зв’язком.
При створенні складених форм майстер автоматично змінює другий крок (мал. 11, б) – з’являється вікно встановлення вибору типу представлення даних (5). При цьому слід вказати головну таблицю. Крім того є можливість вибрати спосіб організації складеної форми: вставку підлеглої форми на бланк головної, чи використання кнопки для відкриття зв’язаної форми (6).
Далі майстер, як і для простих форм, дозволяє вказати зовнішній вигляд форми, стиль, та ім’я головної та підлеглої форм.
Увага! Для створення форми, що містить більш ніж одну підлеглу форму доведеться скористатися конструктором форм.
Спеціальні форми. Стосовно спеціальних форм, то Access пропонує лише два майстри для створення форм такого типу. Робота з ними в цілому аналогічна роботі з загальним майстром таблиць. Однак якщо є необхідність створити іншу, більш специфічну форму, доведеться скористатися конструктором форм.
Використання конструктора для оптимізаціїї форми
В режимі конструктора можна створювати форму “від нуля” або редагувати вже існуючу форму – наприклад, створену за допомогою майстра.
Створення форм за допомогою конструктора передбачає розміщення на заготовці форми окремих її елементів – лінійок вводу, списків, перемикачів, підлеглих форм, кнопок, та інших елементів, після чого кожен з них зв’язується з відповідним набором даних. Така робота є доволі складною і трудомісткою справою, часто вимагає знань основ програмування. Хоча в результаті можна створити нестандартну, дуже спеціалізовану форму.
Досвідченому користувачу частіше доводиться виконувати іншу роботу. Як правило, після завершення роботи майстра форм є необхідність більш точно підібрати розміри полів, змінити шрифт та оформлення форми. Для зміни вигляду форми слід її виділити та запустити режим Конструктор, що можна зробити кнопкою на ПІ вікна бази даних, або за допомогою контекстового меню форми (викликається правою кнопкою миші).
В режимі конструктора форма (мал. 11) одержує координатну сітку, а елементи її інтерфейсу – маркери. Переміщуючи маркери, можна змінювати розміри відповідних елементів управління, а також міняти їх положення на формі. Взагалі, режим конструктор форм дуже подібний до режиму конструктор звітів, що детально буде розглядатися далі. Зокрема форма (мал. 11), аналогічно звіту, має області: заголовка (2), даних з полями (3), приміток. Тому покращення оформлення форми слід здійснювати згідно вказівок щодо оформлення звітів.
Як видно з малюнка (мал. 11) в режимі конструктора форм відкривається спеціальна панель елементів (4). За допомогою цієї панелі на форму можна добавляти нові елементи оформлення (написи, лінії, панелі, малюнки), та саме головне – поля даних різного типу (лінійки вводу, кнопки, перемикачі, підлеглі форми, об’єкти автоматизації ActiveX). Однак, незважаючи на наявність додаткових майстрів, що полегшують процес створення елемента управління, цей процес є складний і часто вимагає спеціальних знань. Ці питання детально розглядаються в літературі ______.
Змінити зовнішні параметри об’єкта форми (наприклад, колір) найшвидше можна за допомогою команд контекстового меню (мал. 12), яке викликається правою кнопкою миші.

Повну настройку всіх параметрів об’єкту можна зробити, вибравши в контекстовому меню (мал. 12) команду “Свойства“. При цьому відкривається вікно (мал. 13) властивостей даного об’єкту (1), що складається з кількох сторінок (вкладок).
Призначення сторінок вікна “Свойства“:
· Макет: встановлення зовнішніх параметрів об’єкту – розмірів, положення, кольору, шрифту, формату і т.п. Використовуйте цю сторінку для надання об’єктам форми необхідного вам вигляду.
· Данные: вказується об’єкт – джерело даних (таблиця, запит, інша форма). Можна задавати значення по замовчуванню, дозволяти чи забороняти змінювати дані. Вносити зміни слід з максимальною обережністю.
· События: задається реакція об’єкту на подію в системі (наприклад натиснення клавіші на клавіатурі). Використовується найчастіше для кнопок (наприклад переміщення на наступний запис). Вносити зміни слід з максимальною обережністю.
· Другие: додаткові властивості об’єкта.
· Все: перелічуються всі пункти попередніх сторінок в алфавітному порядку.
Увага! Не рекомендується змінювати значення на сторінках Данные і События для форм, що створені майстром – вони можуть перестати працювати.
Для задачі, що розглядається, були розроблені форми:
| · Проста – для вводу паспортних даних пацієнтів (мал. 11, г). |
t |
| · Складена – для вводу результатів аналізів по кожному з пацієнтів (мал. 11, а) |
Обидві форми створені за допомогою майстра з наступною мінімальною адаптацією в режимі конструктора – покращено розміщення полів даних.
Розробка запитів і звітів у системі управління базами даних
Запит ¾ це спосіб пошуку та обробки необхідної інформації. При його створенні задаються умови відбору. За їх допомогою здійснюється вилучення необхідних записів з таблиць і розміщення їх в нові динамічні набори. Термін “динамічні” означає, що будь-які зміни, внесені у початкову таблицю будуть автоматично відбиватися у запиті (подібно як зміни у варіаційних рядах числових значень в Excel викликають автоматичний перерахунок кінцевих результатів).
Запити є об’єктами бази даних, які зберігаються і можуть багаторазово використовуватися. В більшості сучасних СУРБД для написання запитів використовується мова SQL (Structured Query Language – мова структурованих запитів).
Розробка запитів та проведення розрахунків
Для створення запитів слід активувати вкладку Запросы вікна бази даних. Як і для форм, пропонується два швидких способи створення запитів: в режимі конструктора та за допомогою майстра. Однак, якщо клацнути по кнопці “Создать“, відкриється вікно (мал. 14) “Новый запрос“, в якому пропонуються способи створення запитів різних типів:

· Конструктор – універсальний спосіб створення запитів будь-якого типу.
Інші команди запускають майстри.
· Простой запрос. Майстер дає можливість створити запит, що базується на одній або кількох таблицях, а також підвести підсумки.
· Перекрестный запрос. Запити такого типу використовуються для підведення підсумків і виводять дані в формі, що подібна до електронної таблиці.
· Повторяющиеся записи. За допомогою запит вибираються записи, що повторюються в даній таблиці (повністю або частково).
· Записи без подчиненных. Запит вибирає записи в головній таблиці, які не містять записів в підлеглих таблицях.
Найбільш широкі можливості по створенню запитів надає Конструктор запросов Microsoft Access, який дозволяє:
· створювати запити в режимі розмітки QBE;
· переглядати та редагувати розроблені запити в редакторі мови SQL;
· переглядати результати роботи запитів.
Конструктор запитів запускається командою Создание запроса с помощью конструктора., або через вікно “Новый запрос“.
На екран виводиться діалогове вікно Добавление таблицы. У вкладці Таблицы в представленому списку по черзі слід вибрати таблиці, для яких здійснюється Запит. Добавлення таблиць здійснюється так само, як і в вікні Схема данных.
Access проводить створення нового об’єкта запиту і виводить на екран вікно структури запиту (мал. 15). Це вікно дає можливість користувачу, зовсім не знайомому з мовою SQL створювати та редагувати складні запити.
Дане вікно розділене на дві частини: область таблиці (1) і розмітка QBE (2). В області таблиці наведені вікна таблиць, які беруть участь у запиті. В цих вікнах розміщуються списки полів, які вміщують доступних полів даної таблиці. Ці списки використовуються для вводу полів в запит.
Розмітка QBE (query by example – запит за прикладом) ¾ це набір текстових вікон (клітинок), з допомогою яких здійснюється опис запиту. Цей спосіб є найпростішим в процесі створення запиту. Його суть полягає у визначенні запиту шляхом опису приблизного вигляду записів динамічного набору.
Спочатку слід в рядку “Имя таблицы” з списку вибрати ім’я таблиці, з якої буде вибрано поле. Тоді у першому рядку (Поле) вказуються (шляхом вибору з списку) імена полів запиту. В рядок Сортировка вносяться параметри сортування. У четвертому рядку (Вывод на экран) відмічається, які поля виводяться внаслідок роботи запиту. Якщо зняти прапорець у стовпчику розмітки QBE, то при запуску запиту стовпчик буде відсутнім на екрані. Решта рядків (Условие отбора та ін.) використовуються для вказання умов відбору записів.
В прикладі, що розглядається, необхідно створити три запити:
· окремо в чоловіків і жінок здійснити відбір показників концентрації гемоглобіну та кількості еритроцитів. На їх основі розрахувати кольоровий показник;
· за концентрацією гемоглобіну, кількістю еритроцитів та кольоровим показником окремо для чоловіків і жінок здійснити підрахунок середнього арифметичного і середнього квадратичного відхилення;
· відібрати пацієнтів для профілактичного огляду, які народилися в 1971-1973 роках.
Запит 1.
“Здійснити відбір показників концентрації гемоглобіну та кількості еритроцитів окремо в чоловіків і жінок. На їх основі розрахувати кольоровий показник.”

Створення запиту розпочинається з відбору полів, інформація з яких повинна лежати в основі умови відбору і представляти нові динамічні набори даних. Оскільки в основі задачі лежить відбір за статевою ознакою, тому в першу чергу в розмітку QBE необхідно ввести поле Стать з таблиці Pasport.
Інформація поля Стать є основною умовою відбору. В цьому полі можливі тільки два типи записів “чол” і “жін”. Вказавши в клітинці Условие отбора ¾ “жін”, Access відбере тільки записи осіб жіночої статі. Якщо умова відбору є текстом, то набирати його слід обов’язково в лапках (мал. 16).
Наступним етапом створення запиту є формування нових динамічних рядів, які повинні включати прізвища пацієнтів, концентрацію гемоглобіну та кількість еритроцитів. Для внесення цих даних в розмітку QBE необхідно внести поле Прізвище таблиці Pasport та поля Гемоглобін, г/л та Еритроцити, Т/л таблиці Result.
Для розрахунку величини кольорового показника створюється розрахункове поле. Безпосередньо в заголовок стовпчика вноситься ім’я стовпчика і вираз за наступним синтаксисом:
Ім’я Стовпчика : вираз
Вираз ¾ це формула розрахунку. Кольоровий показник визначається за формулою:
В розрахунковий стовпчик слід внести наступний вираз
КП: [назва поля]*3/([назва поля]*100)
Увага! У квадратних дужках вказуються повні назви полів таблиць згідно конкретної бази даних.
На мал. 17 можна побачити запит з прикладом розрахункового поля.

Малюнок 17. Запит з розрахунковим полем та умовою відбору в режимі конструктора.
Запуск запиту можна за допомогою кнопки Запуск:
на панелі інструментів.
Збереження запиту здійснюється так само, як і інших об’єктів бази даних або документів Qffice – командою меню Файл – Сохранить (або кнопкою на панелі інструментів). Якщо збереження здійснюється вперше, виникає діалогове вікно для вводу імені запиту (мал. 18,а).
Для створення подібних запитів зручно застосовувати команду меню Файл – Сохранить как…(мал. 18,б). При цьому створюється новий запит, в який можна вносити зміни, як і в звичайний. В поставленій задачі для створення другого необхідного запиту достатньо змінити значення поля Условие отбора з “жін” на “чол”.
На мал. 19 представлено результати виконання запиту з умовою відбору та розрахунковим полем.
Запит 2.
“За концентрацією гемоглобіну, кількістю еритроцитів та кольоровим показником окремо для чоловіків і жінок здійсніть підрахунок середнього арифметичного і середнього квадратичного відхилення.”
Запити такого типу призначені для проведення статистичного аналізу наявних даних.
Увага! При цьому запит не повинен містити полів з унікальними ідентифікаторами даних (наприклад поле “Прізвище”).

В даній задачі доцільно для виконання цієї роботи використати попередній запит. Його слід відкрити з допомогою команди Конструктора. Наступним етапом є знищення стовпчиків, які не підлягають для розрахунків за виключенням стовпчика, в якому внесені дані про умову відбору. В даній задачі необхідно знищити стовпчик з полем Прізвище (мал. 20).
Увага! Видалення стовпців з вікна розмітки QBE можна здійснити так само, як і стовпців таблиць Word чи Excel – розмістивши курсор миші над стовпчиком так, щоб він перетворився на вертикальну стрілку, виділяєте стовпець. Виконайте команду Delete з клавіатури.
Режим статистичного аналізу вмикається за допомогою команди Групповые операции в меню Вид (адо відповідною кнопкою на панелі інструментів). В розмітку QBE додається рядок Групповые операции (мал. 21).

Малюнок 21. Підготовка запиту для проведення статистичного аналізу
Рядок Групповые операции дає можливість для кожного поля, що вводиться в запит, вибрати з випадаючого списку одну з пропонованих математичних функцій. Access володіє наступними математичними (агрегатними) функціями (див. табл.):
|
Агрегатна функція
|
Тип розрахунку
|
|
Sum
|
Сума значень поля
|
|
Avg
|
Середнє значення поля
|
|
Min
|
Найменше значення поля
|
|
Max
|
Найбільше значення поля
|
|
Count
|
Кількість записів поля
|
|
StDev
|
Стандартне (середньоквадратичне) відхилення значень поля
|
|
Var
|
Зміна значень поля
|
Наступний крок – встановлення необхідних функцій згідно їх призначення (див. табл.). Згідно умов даної задачі, для полів Гемоглобін, г/л і Еритроцити, Т/л, КП слід вибрати функцію Avg. Для поля Стать – функцію Группировка, щоб об’єднати записи з однаковим значенням в цьому полі. Рядок Групповые операции містить список, що розкривається з переліком статистичних функцій (див. табл.)
Конструювання запиту завершено (мал. 22).

Малюнок 22. Запит для підрахунку середнього арифметичного показників крові осіб жіночої статі в режимі конструктора.
Слід зберегти даний запит під новим іменем (наприклад MWomen), та запустити. В результаті правильного виконання буде отримано середні значення відповідних показників крові для кожної статі (мал. 23).
Малюнок 23. Результати підрахунку середнього арифметичного показників крові для жінок.
В даній задачі аналогічно слід сконструювати запит для осіб чоловічої статі. Найзручніше це зробити, як і в попередньому прикладі, на основі існуючого. слід виділити запит MWomen, виконати команду меню Файл – Сохранить как…, вказати йому ім’я MMen. При цьому створюється новий запит, в якому достатньо змінити значення поля Условие отбора з “жін” на “чол”.
Для розрахунку середнього квадратичного відхилення слід аналогічно створити запити , в яких замість функції Avg треба внести функцію StDev. Запити назвіть відповідно STwom i STmen.
Запит 3.
“Здійснити відбір пацієнтів для профілактичного огляду, які народилися в 1971-1973 роках.”
Головна мета формування запиту такого типу – автоматизоване створення бланків запрошень на профілактичний огляд. Такий бланк пізніше можна сформувати за допомогою звіту.
Умовою відбору в цьому запиті буде поле Дата народження таблиці Pasport. Дане поле слід внести у перший стовпчик розмітки QBE. При створенні запиту слід завжди пам’ятати про звіт, який буде розроблятися на його основі. Оскільки у звіті слід отримати інформацію про домашню адресу пацієнта, тому полями для формування динамічних рядів будуть наступні: Прізвище, Ім’я, По батькові, Місто, Адреса. Ці поля необхідно послідовно внести у стовпчики розмітки QBE (мал. 24):
Малюнок 24. Запит для підрахунку середнього арефметичного показників крові осіб жіночої статі в режимі конструктора.
Наступний крок – формування логічного виразу умови відбору. Умовою відбору згідно завдання повинен бути проміжок часу від 1 січня 1971 року до 31 грудня 1973 року. Для його завдання використовують оператори порівняння. Їх умовний опис наведений в таблиці.
|
Оператор
|
Загальний вигляд
|
Опис
|
|
=
|
= значення
|
Вказує на записи певного поля, величина яких дорівнює параметру значення
|
|
<>
|
<> значення
|
Вказує на записи певного поля, величина яких не дорівнює параметру значення
|
|
>
|
> значення
|
Вказує на записи певного поля, величина яких більша параметра значення
|
|
<
|
< значення
|
Вказує на записи певного поля, величина яких менша параметра значення
|
|
>=
|
>= значення
|
Вказує на записи певного поля, величина яких більша або дорівнює параметру значення
|
|
<=
|
<= значення
|
Вказує на записи певного поля, величина яких менша або дорівнює параметру значення
|
Часто виникає ситуація, коли відбір слід вести по складеному критерію, або по кількох критеріях одночасно. Тоді разом з операторами порівняння в логічних виразах використовують найпростіші оператори алгебри логіки. В загальному призначення логічних операторів, які використовуються в умовних виразах наведені в наступній таблиці:
|
Оператор
|
Загальний вигляд
|
Опис
|
|
And
|
Вираз1 And Вираз2
|
Вказує на записи, в яких значення обох виразів справедливі
|
|
Or
|
Вираз1 Or Вираз2
|
Вказує на записи, в яких значення хоча б одного виразу справедливі
|
|
Not
|
Вираз1 Not Вираз2
|
Вказує на записи, в яких значення обох виразів не справедливі
|
Враховуючи вищесказане, та виходячи з наведених у задачі даних, вираз Условие отбора матиме такий вигляд (мал. 25):
>=01.01.71 And <=31.12.73
And – це логічний оператор, який вказує на те, що відбір буде здійснюватися за умови одночасної істинності виразу >=01.01.71 і істинності виразу <=31.12.73.
Останній крок – збереження запиту під ім’ям 71-73, та його запуск. Внаслідок правильно виконаних дій буде здійснено відбір тільки тих осіб, які дійсно народилися у зазначений період. Зображення на екрані стане наступним (мал. 26):

Малюнок 26. Результати підрахунку середнього арифметичного показників крові для жінок.
Розробка звітів та їх оформлення.
При розробці звіту в першу чергу необхідно задуматися над тим, як повинен виглядати на папері його закінчений варіант. Виходячи з цього, наперед передбачаються поля, які будуть представленими у звіті. Поля можуть вибиратися як з таблиць, так і з запитів.
Будь-який звіт має наступну структуру:
Заголовок звіту
Верхній колонтитул
Область даних
Нижній колонтитул
Примітка звіту
При конструюванні звіту необхідно передбачити інформацію, яка буде виведена у кожний структурний елемент звіту. Як правило у заголовок звіту вноситься його назва, верхній і нижній колонтитул несуть допоміжну інформацію, наприклад, нумерацію сторінок звіту. В області даних безпосередньо розташовуються необхідні дані. В примітці ¾ додаткова інформація. Заголовок звіту і область даних є обов’язковими компонентами будь-якого звіту.
Розрізняють наступні типи звітів:
· Стовпчиковий звіт ¾ звіт, в якому один запис на кожній сторінці відображується у вертикальному вигляді;
· Стрічковий звіт ¾ звіт, в якому записи виводяться горизонтально. Дані з багатьох полів в такому звіті виводяться у вигляді колонок, тому він називається табличним звітом;
· Групуючий звіт ¾ звіт. в якому дані згруповані за підсумками;
· Звіт-поштові наклейки ¾ звіт, в якому дані згруповані і розділені, наприклад у вигляді поштових наклейок;
· Звіт-діаграма ¾ звіт, в якому дані представлені виключно в графічному вигляді.
Вибір типу звіту залежить від задачі, яку необхідно при цьому вирішити.
Звіти створюються на сторінці “Отчеты” вікна бази даних. При цьому в Access 2000 відразу пропонуються два способи створення звітів:
· В режимі конструктора (Создание отчёта в режиме конструктора);
· За допомогою майстра (Создание отчёта с помощью мастера).
Якщо ж натиснути кнопку “Создать” сторінки “Отчеты” вікна бази даних, на екран буде виведено вікно “Новый отчет” (мал. 27, а), в якому пропонується повний перелік способів та майстрів створення звітів різних типів:
Програма Access пропонує наступні способи створення звітів, представлені в ві:
· Конструктор: створення звіту в режимі конструктора “від чистого листка”.
· Мастер отчетов: запуск майстра звітів загального призначення.
· Автоотчёт: в столбец: автоматичне створення звіту з даними по стовпцях.
· Автоотчёт: ленточный: автоматичне створення звіту стрічкового типу.
· Мастер диаграмм: майстер створення звіту, що містить діаграми.
· Почтовые наклейки: майстер створення звіту-поштових наклейок.
Вибір команди “Автоотчёт” – найбільш простий спосіб створення звіту, однак застосування його має недоліки:
· джерелом даних може бути лише одна таблиця чи запит;
· після створення доволі багато часу слід потратити, в режимі конструктора покращуючи форматування.
Створення звіту в режимі “Конструктор” дає майже безмежні можливості щодо комбінації даних та їх оформлення, однак має такі недоліки:
· надзвичайна трудомісткість, навіть для простих запитів;
· при поєднанні даних з різних таблиць (запитів) необхідні спеціальні знання (зокрема мови запитів СУРБД SQL та мови програмування Visual Basic For Application).
Майстер звітів має такі переваги:
· максимально подібний за зовнішнім виглядом та роботою до майстра форм;
· можливо створювати звіти на основі двох і більше таблиць;
· широкі можливості щодо групування даних та підведення підсумків.
· дає широкі можливості щодо форматування та стильового оформлення звіту.
Для більшості користувачів при створення звітів найбільш оптимальний шлях – застосування майстра для формування звіту та на завершальному етапі – конструктора для місцевого форматування елементів звіту.
Розглянемо більш детально модифікацію звіту в режимі конструктора. Для переходу в цей режим необхідно на сторінці “Отчеты” в вікні бази даних виділити звіт та вказати команду Конструктор. На мал. 27 показано вигляд типового звіту, автоматично згенерованого програмою Access, в режимі конструктора.
Як видно, режим Конструктора Звітів нагадує аналогічний режим Форм, який використовувався при вдосконаленні форм, створених за допомогою майстра. Кожен структурний компонент, виділений у цьому вікні в рамці, називається елементом управління, тобто об’єктом, над яким можна виконувати функції форматування.
Малюнок 27. Вигляд автоматично згенерованого звіту в режимі конструктора.
Для внесення змін в об’єкт, останній необхідно активувати, (один раз клацнути на ньому лівою кнопкою миші). При цьому активований елемент управління набуде вигляду, який наведений на мал. 28. У його структурі виділяють маркер переміщення (1) і маркери розширення (2), (3). Далі перелічено можливості щодо редагування об’єктів звіту.
Переміщення. Маркер переміщення використовується для зміни положення об’єкта управління. При наведенні на нього курсор миші змінює свій вигляд (1). Натиснувши ліву кнопку і рухаючи мишею, можна переміщувати об’єкт по бланку звіту.

Зміна розмірів. Маркери розширення використовуються для зміни розмірів об’єкта управління. При наведенні на них, курсор миші також змінює свій вигляд. Однак при цьому є можливість змінювати вже розміри а не положення об’єкта.
Оформлення. Виділивши об’єкт, можна змінювати гарнітуру і розмір шрифту, його колір, вирівнювання, тощо. Всі ці дії виконуються аналогічно, як і в редакторі МS Word. Для числових полів, можна змінити розрядність, або тип числа (як в редакторі MS Excel).
Зміст. Вище перелічені можливості редагування стосуються об’єктів будь-якого типу. Однак якщо поле не пов’язано з даними або не містить виразу, можна редагувати і його вміст. Це стосується наприклад, назви звіту, назв полів, додаткових написів і. т.п.
![]()
Для внесення змін у напис об’єкта управління, після його активації необхідно клацнути лівою кнопкою миші на написі. В структурі напису з’явиться мигаючий курсор вводу. За відомими правилами (як у текстовому редакторі МS Word), використовуючи кнопки панелі інструментів, елементи тексту можна виділяти, вирізати, копіювати, а також змінювати оформлення.
Приклад звіту.
“Розробити звіт для представлення варіаційних рядів даних червоної крові осіб чоловічої і жіночої статі.”
Даний звіт доцільно представити у вигляді таблиці, в першому стовпчику якої будуть розміщуватися прізвища пацієнтів, в наступних відповідно кількість еритроцитів, концентрація гемоглобіну і кольоровий показник. Тому даний звіт належить до звітів стрічкового типу.
Найпростіше створити такий звіт є використання майстра Автозвіту. На вкладці “Отчёты” бази даних вибирається команда “Создать”. У діалоговому вікні “Новый отчёт” слід вибрати пункт “Автоотчёт: ленточный”, а в списку вибрати таблицю або запит, на якому буде базуватися звіт. В даному випадку це перший запит, що розглядався як приклад (KPwom). Access автоматично створить звіт і виведе його на екран у режимі перегляду (мал. 29). Новий звіт слід в першу чергу зберегти, що здійснюється так само, як і збереження інших об’єктів бази даних.
Малюнок 29. Вигляд автоматично згенерованого звіту в режимі перегляду.
Даний звіт, створений майстром, вимагає вдосконалення (мал. 29):
· необхідно внести зрозумілий заголовок, наприклад “Показники червоної крові осіб жіночої статі”;
· слід знищити стовпчик “Стать”;
· необхідно зменшити розрядність величин кольорового показника.
Для реалізації цього завдання необхідно перейти в режим Конструктор. Далі необхідно провести модифікацію окремих об’єктів звіту за вказівками, що були вказані раніше.
Зовнішній вигляд звіту в режимі конструктора після внесення змін представлено на мал. 30, а в режимі перегляду – на мал. 31:

Малюнок 30. Остаточно виправлений звіт в режимі конструктора.
Малюнок 31. Остаточно виправлений звіт в режимі перегляду.
Інтеграція об’єктів бази даних Access з іншими програмами Office
Оскільки програма Access входить до пакету MS Office, звичайно вона може працювати спільно з іншими програмами даного пакету.
Основні інтеграційні можливості програми Access такі:
Імпорт даних (меню Файл, команда Внешние данные)
· Access дозволяє вводити дані в таблиці як з баз даних іншого типу, так і з електронних таблиць (Excel), або текстових файлів (Word ).
· В СУРБД Access можна встановити зв’язок як з таблицями баз даних іншого типу, так і з файлами електронних таблиць (Excel), або текстовими файлами (Word ).
· В форми і звіти бази даних допускається вставка будь яких об’єктів автоматизації ActiveX.
Друга можливість має особливу вагу – дозволяє створювати проекти – додатки, що лише змінюють дані в існуючій базі даних. При цьому така база даних може бути розподіленою між кількома комп’ютерами (база даних “клієнт/сервер”). Більш докладно це питання розглядається в додатку ___.
Експорт даних (меню Сервис, команда Связи с Office).
· Access дозволяє встановити зв’язок даних таблиці (або запиту) з документом текстового редактора Word (команда Слияние с MS Word). При цьому будь-які зміни в таблиці (запиті) автоматично будуть вноситися і в відповідний документ MS Word.
· Access дозволяє передати дані з таблиць, запитів і звітів в документ текстового редактора Word (команда Публикация в MS Word)
· Дані з таблиць або запитів можна також передати для подальшого аналізу та опрацювання в табличний процесор Excel (команда Публикация в MS Excel)
В кожній з цих програм є можливість здійснювати відповідні зміни, виходячи з наших потреб і можливостей програм.