Хмельницький нацiональний унiверситет 
 Банки екологiчної iнформацiї
Лабораторна робота: Застосування СУБД Microsoft Access для створення БД екологічної інформації

Теоретичні відомості

СУБД MS Access є системою реляційного типу. В основу її побудови покладено реляційну модель зв’язку між даними, поданими у вигляді таблиць. Комерційна привабливість СУБД MS Access пояснюється простотою її експлуатації та фіксованою структурою даних. Система забезпечує виконання наступних функцій:

- створення таблиць БД;

- додання, вилучення даних;

- зміну структури БД без втрати інформації;

- моделювання логічних структур даних;

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

БД MS Access зберігається в одному файлі <ім’я>.mdb (або <ім’я>.mde, якщо до БД відносяться приєднані таблиці).

Об’єкти БД MS Access

Логічна структура БД MS Access представлена об’єктами наступних типів.

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

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

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

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

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

Форми. Якщо запити – це спеціальні засоби для відбору й ана­лізу даних, то форми – це засоби як для введення даних, так і для їх перегляду. Їх призначення полягає в тому, щоб надати користувачу засоби для заповнення лише тих полів, які йому потрібно заповнювати. Водночас з цим у формі можна розмістити спеціальні елементи управ­ління (ЕУ) для автоматизації введення (лічильники, перемикачі, “прапорці” тощо). Переваги форм розкриваються особливо наочно, коли відбувається введення даних із заповнених бланків. У цьому випадку форму створюють так, щоб вона повторювала оформлення бланка. Це спрощує роботу користувача, знижує його стомленість та значною мірою запобігає появі помилок введення.

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

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

Сторінки. Це спеціальні об’єкти БД, реалізовані у версіях MS Access 2000 і вище. Правда, коректніше їх називати сторінками доступу до даних. Фізично – це особливий об’єкт, виконаний у коді HTML, що розміщується на Web-сторінці та переданий клієнту разом з нею. Сам по собі цей об’єкт не є базою даних, але містить компоненти, через які здійснюється зв’язок переданої Web-сторінки з БД, що знаходиться на сервері. Користуючись цими компонентами, відвідувач Web-вузла може переглядати записи БД в полях сторінки доступу. Таким чином, сторінки доступу до даних здійснюють інтерфейс між клієнтом, сервером та БД, розміщеною на сервері. Ця БД не обов’язково повинна бути базою даних MS Access.

Сторінки доступу, створені засобами MS Access, дозволяють працювати також з базами даних MS SQL Server.

Макроси та модулі. Ці категорії об’єктів призначені як для автоматизації повторюваних операцій при роботі із СУБД, так і для створення нових функцій шляхом програмування. У СУБД MS Access макросискладаються з послідовності внутрішніх команд СУБД і є одним із засобів автоматизації роботи з БД. Модулістворюються засобами зовнішньої мови програмування, наприклад, мови Visual Basic for Applications (VBA). Це один із засобів, за допомогою якого розроблювач БД може закласти в неї нестандартні функціональні можливості, задовольнити специфічні вимоги замовника, підвищити швидкодію СУБД, а також рівень її захищеності*. 1).

Типи даних

Тип даних – це атрибут змінної або поля, що визначає, які дані можуть у них знаходитись. При вивченні електронних таблиць MS Excel ми ознайомились із трьома типами даних: текстами, числа­ми і формулами. Таблиці БД, як правило, допускають роботу з набагато більшою кількістю різних типів даних.

MS Access оперує з наступними типами даних.

Текстовый*2)–– тип даних, що використовується для збереження звичайного неформатованого тексту обмеженого розміру (до 255 символів).

Поле Мемо – спеціальний тип даних для збереження великих обсягів тексту (до 65535 символів). Фізично текст не зберігається в полі. Він зберігається в іншому місці БД, а в полі зберігається покажчик на нього, але для користувача такий поділ непомітний.

Числовой – тип даних для збереження дійсних чисел.

Дата/время – тип даних для збереження календарних дат і поточного часу.

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

Счетчик – спеціальний тип даних для унікальних натуральних чисел з автоматичним наростанням. Природне використання – для порядкової нумерації записів.

Логический – тип для збереження логічних даних (ці дані можуть приймати лише два значення, наприклад, Да чи Нет).

Поле объекта OLE – спеціальний тип даних, призначений для збереження об’єктів (наприклад, мультимедійних), що вставляються впровадженням або зв’язуванням (технологія OLE). Реально, звичайно, такі об’єкти в таблиці не зберігаються. Як і у випадку полів Meмo, вони зберігаються в іншому місці внутрішньої структури файла БД, а в таблиці зберігаються лише покажчики на них (інакше робота з таблицями була б надзвичайно повільною).

Гиперссылка – спеціальне поле для збереження адрес URLWeb-об’єктів Internet. При “щиглику” на посиланні автоматично відбувається запуск броузера і відтворення об’єкта в його вікні.

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

2.3. Властивості полів

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

Размер поля – визначає граничну довжину (у символах) даних, що можуть розміщуватись у даному полі.

Формат поля – визначає спосіб відображення даних у полі.

Маска ввода – визначає форму, в якій вводяться дані в поле (засіб часткової автоматизації введення даних).

Подпись – визначає заголовок стовпця таблиці для даного поля (якщо підпис не зазначений, то заголовком стовпця буде ім’я поля).

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

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

Сообщение об ошибке – текстове повідомлення, що видається автоматично при спробі введення в поле помилкових даних (перевірка помилковості виконується автоматично, якщо задана властивість Условие на значение).

Обязательное поле – властивість, що визначає обов’язковість заповнення даного поля при заповненні таблиці БД.

Пустые строки – властивість, що дозволяє введення порожніх рядкових даних (від властивості Обязательное поле відрізняється тим, що відноситься не до всіх типів даних, а лише до деяких).

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

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


* У даній методичній розробці робота зі сторінками, макросами та модулями не розглядається.

* Оскільки програмне забезпечення має російськомовний інтерфейс, то тут і надалі всі терміни MS Access подаються російською мовою.

Продовжити виконання лабораторної роботи