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

Тема 8.1. Система управлління ms Access.

Microsoft Access – функціонально повна реляційна СУБД

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

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

Система управління базами даних надає вам можливість контролювати завдання структури і опис своїх даних, роботу з ними і організацію колективного користування цією інформацією. СУБД також істотно збільшує можливості і полегшує каталогізацію і ведення великих об'ємів в численних таблицях інформації, що зберігається. СУБД включає три основні типи функцій: визначення (завдання структури і опис) даних, обробка даних і управління даними. Всі ці функціональні можливості повною мірою реалізовані в Microsoft Access. В практиці, як правило, необхідно вирішувати і задачі з використанням електронних таблиць і текстових процесорів. Наприклад, після підрахунку або аналізу даних необхідно їх представити у вигляді певної форми або шаблони. У результаті користувачу доводиться комбінувати програмні продукти для отримання необхідного результату. В цьому значенні всі істотно спростять можливості, надається Microsoft Access.

Призначення СУБД Access

СУБД Access призначена для розробки баз даних реляційного типу для локального їх використовування на персональних комп'ютерах і для роботи з цими базами.

При проектуванні бази даних, в першу чергу, необхідно визначити, що саме потрібно берегти.

Дана СУБД була вибрана із наступних причин: простота засобів реалізації; легкість освоєння інструментарієм розробника (VBA); наочність візуалізації інформації.

Також «Microsoft Access» надає велику кількість внутрішніх засобів по оптимізації роботи проектованого додатку. До них відносяться:

  • завантаження модулів на вимогу;

  • оптимізація дерева викликів;

  • використовування файлів MDE;

  • автоматична підтримка компілюючого стану;

  • використовування бібліотек Windows API;

  • індивідуальна настройка системи;

  • ефективне використовування індексів;

  • вбудований оптимізатор запитів.

Система управління базами даних (СУБД) звичайно підтримує 4 основні тип відносин між таблицями:

– один–до–одного (одному запису в першій таблиці відповідає один запис в другому);

– один–до–багаттьох чим (одному запису в першій таблиці відповідають багато записів в другій);

– багато–до–одного (записам багато кого в першій таблиці відповідає один запис в другому);

– багато –до–багатьох чим (одному запису в першій таблиці відповідає багато записів в другій і одному запису в другій таблиці відповідають багато записів в першій).

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

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

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

Взаємозв'язки таблиць

При створенні в Access схеми даних в ній визначаються і запам'ятовуються зв'язку між таблицями. Це дозволяє системі автоматично використовувати зв'язки, один раз визначені в схемі даних, при створенні форм, запитів, звітів на основі взаємозв'язаних таблиць, а користувач звільняється від необхідності указувати ці зв'язки при конструюванні цих об'єктів. Схема даних бази графічно відображається в своєму вікні, де таблиці представлені списками полів, а зв'язку – лініями між полями різних таблиць.

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

При побудові схеми даних Access автоматично визначає по вибраному полю зв'язку тип відношення між таблицями. Якщо поле, по якому потрібно встановити зв'язок, є унікальним ключем як в одній таблиці, так і в іншій, Access виявляє відношення один–до–одного. Якщо поле зв'язку є унікальним ключем в одній таблиці (головної таблиці зв'язку), а в іншій таблиці (підлеглій таблиці зв'язку) є не ключовим або входить в складовий ключ, тобто значення його можуть повторюватися, Access виявляє відношення один–ко–багато чим між записами головної таблиці до підлеглої. В цьому випадку можна задати автоматичну підтримку цілісності зв'язків.

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

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

Зв'язуюча таблиця є проміжною таблицею, яка служить мостом між двома таблицями у відношенні многие–ко–багато чим. Її ключ складається з ключових полів цих таблиць, з кожною з яких вона зв'язана відношенням один–ко–багато чим. Крім ключових полів, зв'язуюча таблиця повинна містити хоча б одне поле, якого немає в зв'язуваних таблицях, але яке має значення для кожної з них. Таким чином, відношення многие–ко–багато чим складається з відносин багато–до–одного і один–оо–багатьох чим.

Зв'язки–об'єднання. Між двома таблицями може бути встановлений зв'язок–об'єднання по деякому полю зв'язку. Для зв'язку–об'єднання може бути вибраний один з трьох способів об'єднання записів:

Спосіб 1 – об'єднання тільки тих записів, в яких зв'язані поля обох таблиць співпадають (проводиться за умовчанням);

Спосіб 2 – об'єднання тих записів, в яких зв'язані поля обох таблиць співпадають, а також об'єднання всіх записів з першої таблиці, для яких немає зв'язаних в другій, з порожнім записом другої таблиці;

Спосіб 3 – об'єднання тих записів, в яких зв'язані поля обох таблиць співпадають, а також об'єднання всіх записів з другої таблиці, для яких немає зв'язаних в першій, з порожнім записом першої таблиці.

Такий тип зв'язку може бути визначений, якщо зв'язок характеризується відношенням 1:1 або 1:М, а також якщо тип відношення не може бути визначений системою, тобто якщо не виконуються умови для цих відносин. Наприклад, при виборі в головній таблиці як поле зв'язку неключового поля або поля, що входить в складовий ключ, Access повідомляє, що тип відношення не може бути визначений. В цьому випадку між таблицями можливе встановлення тільки зв'язки–об'єднання.

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

Створення схеми даних

Створення схеми даних починається у вікні Бази даних (Database) з виконання команди Сервис|Схема даних (Tools|Relationships) або натиснення кнопки Схема даних (Relationships) на панелі інструментів бази даних.

Включення таблиць в схему даних. Після натиснення кнопки Схема даних (Relationships) відкривається вікно Додавання таблиці (Show Table), в якому можна вибрати таблиці і запити, що включаються в схему даних. Для розміщення таблиці у вікні Схема даних (Relationships) треба виділити її у вікні Додавання таблиці (Show Table) і натискувати кнопку Додати (Add). Для виділення декількох таблиць треба, утримуючи клавішу, клацнути мишею на кожній з цих таблиць. Включивши всі потрібні таблиці в схему даних, натискувати кнопку Закрити (Close).

В результаті у вікні Схема даних (Relationships) будуть представлені всі включені таблиці із списком своїх полів. Далі можна приступати до визначення зв'язків між ними.

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

Встановлюючи у вікні схеми даних зв'язку типу 1:М між парою таблиць, треба виділити в головній таблиці унікальне ключове поле, по якому встановлюється зв'язок. Далі, при натискуючій кнопці миші, протягнути курсор у відповідне поле підлеглої таблиці.

При створенні зв'язку по складовому ключу необхідно виділити всі поля, що входять в ключ головної таблиці, і перетягнути їх на одне з полів зв'язку в підлеглій таблиці. Для виділення всіх полів, що входять в складовий унікальний ключ, необхідно відзначати поля при натискуючій клавіші . Після створення зв'язку відкриється вікно Зміна зв'язків (Edit Relationships). При цьому в рядку Тип відношення (Relationship Type) автоматично встановиться тип один–ко–багато чим (One–To–Many).

При складовому ключі зв'язку у вікні Зміна зв'язків (Edit Relationships) необхідна для кожного поля ключа в головній таблиці Таблиця/запит вибрати відповідне поле підлеглої таблиці, названої ЗВ'ЯЗАНА Таблиця/запит (Related Table/Query).

Забезпечення цілісності даних

При створенні схеми даних користувач включає в неї таблиці і встановлює зв'язки між ними. Для зв'язків типу 1:1 і 1:М можна задати параметр забезпечення зв'язної цілісності даних, а також автоматичне каскадне оновлення і видалення зв'язаних записів.

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

  1. В підлеглу таблицю не може бути доданий запис з неіснуючим в головній таблиці значенням ключа зв'язку;

  2. В головній таблиці не можна видалити запис, якщо не видалені пов'язані з нею записи в підлеглій таблиці;

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

При спробі користувача порушити ці умови в операціях додавання і видалення записів або оновлення ключових даних в зв'язаних таблицях Access виводить відповідне повідомлення і не допускає виконання операції.

Встановлення між двома таблицями зв'язку типу 1:М або 1:1 і завдання для неї параметрів цілісності даних можливе тільки за наступних умов:

Зв'язувані поля мають однаковий тип даних, причому імена полів можуть бути різними;

  • Обидва таблиці зберігаються в одній базі даних Access;

  • Головна таблиця зв'язується з підлеглої по первинному простому або складовому ключу (унікальному індексу) головної таблиці.

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