ЛЕКЦІЯ 14. РОБОТА З БАЗАМИ ДАНИХ
1. Термінологія теорії баз даних
2. MICROSOFT ACCESS - реляційна СКБД
3. Об'єкти Access
4. Створення бази даних
5. Визначення в базі даних зв'язків між таблицями
1. Термінологія теорії баз даних
Однією з основних проблем сучасного керування є раціональне структурування інформаційних потоків, їхня організація відповідно до рангу системи, в рамках якої приймається управлінське рішення.
Одним з ефективних інструментів організації інформаційних потоків є бази даних, які складають основу різноманітних інформаційно-пошукових, експертних систем, а також систем автоматизованого проектування.
Розглянемо одну з найбільш ефективних систем управління базами даних (СУБД) - Microsoft Access.
Подібно до того, як Microsoft Word спроектований для роботи з документами, що містять текст і графіку, a Microsoft Excel - із числами й діаграмами, Microsoft Access орієнтується на обробку даних. Дані являють собою набір фактів; вони перетворюються в корисну інформацію лише після того, як будуть упорядковані якимось розумним способом. Із всіх додатків Office саме Access являє собою інструмент такого впорядкування.
База даних - систематизоване сховище інформації. Найпростішим прикладом бази даних може служити телефонний довідник.
База даних складається з набору таблиць, форм, запитів і звітів, використовуваних для обробки й подання даних. В Access робота з цими об'єктами бази даних відбувається у Вікні бази даних.
Система керування базами даних (СКБД) – це комплекс мовних та програмних засобів, призначений для створювання, ведення та сумісного використання БД багатьма користувачами.
Звичайно СКБД розрізняють за використовуваною моделлю даних (наприклад, реляційні СКБД).
2. MICROSOFT ACCESS – реляційна СКБД
Перед тим як починати роботу з базою даних, необхідно знайти якийсь засіб для її зберігання. В Access дані зберігаються в спеціальних об'єктах - таблицях. Наприклад, одна таблиця може містити дані про студентів, а інша - про навчальні курси, які вони відвідують. Комбінація всіх таблиць і їхніх взаємних зв'язків становить "фундамент" бази даних.
При зовнішній подібності таблиця Access відрізняється від аркуша Excel тим, що кожний стовпець таблиці являє собою поле, тобто інформаційну категорію, а кожний рядок - запис, тобто один елемент таблиці.
Відмінності не вичерпуються термінологією. На відміну від стовпця Excel кожне поле таблиці в Access може містити значення даних тільки одного типу - текст, числа, дати й т.д. В Access кожний запис містить інформацію про один елемент (відомості про студента або навчальний курс).
Щоб можливості комп'ютера при роботі із БД були використані повною мірою, необхідно при її створенні дотримуватися певних правил організації інформації й користуватися програмним забезпеченням, спеціально призначеним для цих цілей. Часто користувачі зберігають дані у вигляді документів Word або таблиць Excel. Однак робота з інформацією, що міститься в ізольованих файлах, досить складна. Як текстові редактори, так і електронні таблиці мають свою сферу застосування й не в змозі забезпечити повноцінну підтримку таких традиційних функцій БД, як:
• зберігання більших масивів інформації;
• виключення або відомість до мінімуму дублювання даних;
• установлення й підтримка зв'язків між даними;
• захист цілісності даних;
• швидкий доступ до потрібної інформації;
• забезпечення таємності;
• простота внесення змін;
• можливість одночасного доступу до інформації для декількох користувачів.
Щоб забезпечити виконання цих вимог, дані в БД повинні мати певну структуру. Залежно від того, який спосіб опису структури даних використовується при створенні БД, розрізняють мережні, ієрархічні, реляційні й об’єктно-оріентовані БД. В наш час найбільше поширення одержали реляційні БД.
Додатки, що працюють із базами даних, орієнтуються на один з двох основних їхніх видів: плоскі таблиці (flat file) або реляційні бази. Хоча плоскі таблиці були стандартом протягом багатьох років, у даний час можна зустріти їх хіба що в додатках типу Microsoft Works або Microsoft Excel. У плоскій таблиці вся взаємозалежна інформація повинна перебувати в одній таблиці. Це означає, що будь-які дані, що повторюються в декількох записах, повинні бути присутнім у кожному із цих записів.
З розвитком й ускладненням баз даних ставало ясно, що цей спосіб неефективний при зберіганні більших обсягів інформації, так виникла ідея реляційних баз даних.
У реляційній базі даних використовується декілька різних таблиць, між якими встановлюються зв’язки (relation). Вони дозволяють ввести інформацію в одній таблиці й зв'язати з записами іншої через спеціальний ідентифікатор.
Інформація в реляційних БД зберігається у вигляді двовимірних таблиць. У кожній таблиці містяться відомості про набір об'єктів певного типу (людях, товарах і т.д.).
При цьому скорочується загальна кількість інформації в базі даних, оскільки в записах повторюються вже не самі дані, а тільки ідентифікатори для зв'язування.
Реляційні бази даних володіють рядом інших переваг за швидкістю й продуктивністю, зменшуючи, крім того, кількість помилок при внесенні записів і плутанини в даних, що має місце в плоских таблицях.
Рядки таблиці називаються записами. Запис - це комп'ютерний аналог тієї інформації, що звичайно зберігався на картці або бланку. Будь-який запис у таблиці містить інформацію про окремий об'єкт (людину, товар).
Стовпці таблиці називаються полями. Поле - це комп'ютерний аналог графи картки або бланка. У ньому зберігається інформація про яку-небудь властивість описуваних об'єктів. Всі записи складаються з однакового набору полів. Наприклад, якщо таблиця містить відомості про студентів, то в кожному її записі зберігається інформація про конкретного студента (рис. 1.). В одному поле міститься його код, в іншому – номер навчальної групи, у третьому – прізвище й т.д.
Рис.1. Приклад таблиці Access
Значення в кожному полі відносяться до одного типу даних: числа, рядка символів, дати. Перетинання окремого запису й окремого поля називається коміркою, а самі дані в окремій комірці називаються значенням у полі або елементом таблиці.
У найпростішому випадку БД складається з однієї таблиці, але звичайно вона включає кілька взаємозалежних таблиць. Зв'язок (relation) між таблицями здійснюється через загальні поля. Встановлення зв'язку між таблицями в реляційній БД дозволяє витягати й поєднувати інформацію відразу з декількох таблиць.
Для розуміння роботи з Access зовсім не обов'язково розбиратися в теорії організації реляційних баз даних. Необхідно усвідомити всього кілька положень:
- поле є інформаційною категорією;
- значенням називається інформація, що знаходиться в певному полі одного запису;
- записом називається сукупність взаємозалежних значень одного елемента бази даних (рядок у таблиці);
- зв'язки між таблицями створюються за допомогою даних, які знаходяться у спеціальних полях.
Для взаємодії користувача із БД використовуються системи керування базами даних (СКБД). Однією з найпоширеніших СУБД для персонального комп'ютера є СКБД Access, що входить до складу пакета Microsoft Office. На відміну від інших СКБД, розрахованих на професійних програмістів, освоїти Access і ефективно використовувати його у своїй роботі цілком під силу й звичайному користувачеві, що не знає програмування.
Access дозволяє користувачеві вирішувати наступні завдання:
• створювати БД і вводити в неї дані;
• переглядати й редагувати вміст таблиць;
• встановлювати зв'язку між таблицями;
• забезпечити захист цілісності й таємність даних;
• виконувати різні запити до даних;
• представляти інформацію у вигляді форм і звітів;
• вставляти у форми й звіти малюнки й графіки;
• здійснювати операції імпорту й експорту даних;
• публікувати БД на web-сторінках в Internet;
• створювати власні програми для роботи із БД, що містять меню, діалогові вікна й командні кнопки;
• забезпечувати багатокористувальницький режим доступу до інформації, що зберігається в БД.
3. Об'єкти Access
Окремі компоненти БД, які використовуються для зберігання й подання інформації, називаються об'єктами. Кожний об'єкт має ім'я, що може містити до 64 символів, включаючи пробіли. В Access основними об'єктами є: таблиці, запити, форми, звіти, макроси й модулі. Всі об'єкти однієї БД зберігаються в загальному файлі з розширенням .mdb.
Таблицявикористовується для зберігання інформації в БД.
Таблиця - основний структурний елемент системи управління реляційною базою даних (СУБД). В Microsoft Access таблицею називають об'єкт, у якому дані зберігаються у форматі записів (рядків) і полів (стовпців). Дані в окремій таблиці звичайно належать до певної категорії, наприклад, такої, як відомості про співробітників або замовлення.
Запитдозволяє вибрати потрібні дані з однієї або декількох таблиць. За допомогою запитів можна модифікувати існуючі таблиці, а також створювати нові таблиці.
Формавикористовується для уведення даних у таблицю й для перегляду в заданому форматі даних з таблиці або запиту. З її допомогою можна також запустити на виконання макрос або процедуру.
Звітпризначений для створення документа на основі даних з таблиці або запиту. Цей документ можна роздрукувати або включити в документ іншого додатка, наприклад, Word або Excel.
Макросявляє собою опис стандартних дій, які потрібно виконати у відповідь на певну подію. Наприклад, можна визначити макрос, що у відповідь на вибір деякого елемента в одній формі відкриває іншу форму.
Модуль— це програма, написана мовою Visual Basic for Applications (VBA). Використання модулів дозволяє автоматизувати виконання складних дій, які не можна описати за допомогою макросів.
Для створення таких об'єктів, як таблиці, запити, форми або звіти можна використовувати спеціальні засоби — майстри. Майстер задає користувачеві питання й створює об'єкт відповідно до його відповідей.
Також можна скористатися більш складним засобом – конструктором.
4. Створення бази даних
Створення БД повинне починатися з її проектування. Процес проектування БД включає наступні основні етапи:
1. Визначення призначення БД. На першому етапі проектування БД необхідно визначити список завдань, які потрібно розв'язувати за її допомогою, та які дані для цього потрібні.
2. Визначення структури таблиць. Це один з найбільш складних етапів у процесі створення БД. Правильна структуризація БД дозволяє швидко витягти потрібні дані, виключає їхнє дублювання й забезпечує цілісність інформації, що зберігається. Процедура поділу складних даних на кілька таблиць називається нормалізацією. Фахівцями із проектування БД була розроблена теорія нормалізації БД. Вона рекомендує при проектуванні таблиць керуватися наступними основними принципами:
• Кожна з таблиць повинна містити інформацію про набір однотипних об'єктів, наприклад, відомості про студентів або підсумки здачі сесії.
• Кожному з таких наборів даних повинна відповідати окрема таблиця. Наприклад, відомості про студентів і про отримані ними оцінках у сесію повинні зберігатися в різних таблицях. Тоді при видаленні відомостей про оцінки студента інформація про нього залишиться в БД.
• Інформація в таблиці не повинна дублюватися. Не повинне бути повторень і між таблицями. Це виключає можливість розбіжності інформації в різних таблицях і робить роботу із БД більше ефективної.
3. Визначення полів. Кожна таблиця містить інформацію про набір об'єктів одного типу. При розробці полів для таблиці необхідно пам'ятати наступне:
• У таблиці повинна бути присутня вся необхідна інформація про даний набір об'єктів.
• Кожне поле повинне містити відомості про ту або іншу властивість саме цього, а не інших наборів об'єктів. Виключенням можуть бути поля, використовувані для зв'язку з іншими таблицями.
• Не рекомендується включати в таблицю дані, які є результатом обчислення значення деякого вираження, так звані обчислювані поля.
• Інформацію варто розбивати на найменші логічні одиниці. Наприклад, у таблицю з відомостями про адреси студентів краще включити поля Гуртожитокі Кімната, а не загальне поле Адреса. Це дасть можливість здійснити в БД пошук студентів, що живуть у даній кімнаті, або зробити сортування записів по номерах кімнат.
4. Визначення ключових полів. Для того щоб Access міг зв'язати дані з різних таблиць, кожна таблиця повинна містити первинний ключ, або просто ключ. Це одне або кілька полів, сукупність значень яких однозначно визначає кожний запис у таблиці. Наявність ключа в таблиці виключає можливість появи в ній двох однакових записів. При створенні нової таблиці Access пропонує побудувати ключ шляхом додавання додаткового поля з унікальними значеннями.
5. Визначення зв'язків між таблицями. Після розподілу даних по таблицях і визначення ключових полів необхідно вибрати схему для зв'язку даних у різних таблицях. Для цього потрібно визначити зв'язку між таблицями. Ці зв'язки Access буде використовувати при створенні багатотабличних запитів, форм і звітів.
5. Визначення в базі даних зв'язків між таблицями
Після створення різних таблиць, що містять дані, які належать до різних аспектів бази даних, розроблювач повинен продумати, як Microsoft Access буде поєднувати ці дані при їхньому вилученні з бази даних. Першим кроком при цьому є визначення зв'язків між таблицями. Після цього стає можливим створення запитів, форм і звітів, у яких виводяться дані з декількох таблиць одразу.
Унікальний індекс - індекс, заданий для поля із вказаними властивостями "Індексоване поле" значенням "Так (Збіги Не допускаються)". При цьому введення в індексоване поле повторюваних значень стає неможливим. Для ключових полів унікальний індекс створюється автоматично.
Зовнішній ключ - це одне або кілька полів у таблиці, що містять посилання на ключове поле або поля в іншій таблиці. Поле зовнішнього ключа визначає спосіб зв'язування таблиць, уміст поля зовнішнього ключа повинне збігатися із змістом ключового поля.
Наприклад, таблиця "Товари" містить поле зовнішнього ключа "Постачальник", що посилається на ключове поле "Постачальник" у таблиці "Постачальники". За допомогою даного зв'язку в таблиці "Товари" для кожного товару виводиться ім'я постачальника з таблиці "Постачальники".
Зв'язок між таблицями встановлює стосунки між співпадаючими значеннями в ключових полях - звичайно між полями різних таблиць, що мають однакові імена. У більшості випадків з "ключем" однієї таблиці, що є унікальним ідентифікатором кожного запису, зв'язується "зовнішній ключ" іншої таблиці.
У таблицях дані можуть бути зв'язані між собою відношенням. У загальному виді відносини позначаються в такий спосіб:
,
де F(x) – це вид зв'язку А с В; G(x) – це вид зв'язку В с А.
Зв'язки можуть бути одиничними (U – унарными) і множинними N.
1. Відношення «один-до-одного» (1:1).
Відношення «один-до-одного» створюється в тому випадку, коли обоє що зв'язуються поля є ключовими чи мають унікальні індекси (при цьому введення в індексоване поле повторюваних значень стає неможливим. Для ключових полів унікальний індекс створюється автоматично). Приклад: одному табельному номеру може відповідати тільки одна людина.
2. Відношення «один-до-багатьох» (1:N).
У відношенні «один-до-багатьох» головною таблицею є таблиця, що містить первинний ключ і складає частину «один» у цьому відношенні. Таблиця з боку «багато» є підлеглою таблицею. Сполучне поле (чи поля) у ній з таким же типом інформації, як у первинному ключі головної таблиці, є полем зовнішнього ключа. Приклад: університет один, а кафедр у ньому багато.
3. Відношення «багато-до-одного» (N:1).
Такий зв'язок прямо протилежний зв'язки «один-до-багатьох». У цьому випадку багато дітей можуть мати одних батьків.
4. Відношення «багато-до-багатьох» (N:М).
Зв'язок з відношенням «багато-до-багатьох» фактично представляє два зв'язка з відношенням «один-до-багатьох» через третю таблицю, ключ якої складається, принаймні, із двох полів, що є полями зовнішнього ключа в двох інших таблицях. У цьому випадку безліч усіх викладачів університету читають усі предмети, що вивчаються в університеті. Причому, один викладач може читати кілька предметів, і трохи викладачів можуть читати один предмет, тільки різним групам.
Найбільш розповсюдженими є зв'язки «один-до-багатьох» і «один-до-одного».
На схемі даних загальні поля з'єднані лініями зв'язку. З однієї сторони ця лінія завжди маркірується знаком «1» (одинарною стрілкою), з іншого боку — або знаком «1» (одинарною стрілкою) - зв'язок «один-до-одного», або літерою «М» («N») (подвійною стрілкою) - зв'язок «один-до-багатьох». Зрозуміло, що якщо зв'язуються ключові поля, те це завжди зв'язок «один-до-одного», а якщо ключове поле зв'язане з неключовим, те це зв'язок «один-до-багатьох». За допомогою олівця і папера розкреслюють зв'язки між таблицями. На рис. 2 показаний приклад взаємозв'язку між групою таблиць, що входять у базу даних компанії, що займається трансляцією супутникових телевізійних каналів. Ключові поля таблиць у ній виділені напівжирним шрифтом. Таке креслення називається схемою даних.
Рис. 2. Схема зв'язків між таблицями
Для того щоб створити зв'язок між таблицями, слід додати таблиці у вікно Схема даних (Сервис/Схема данных) і перенести за допомогою миші ключове поле однієї таблиці в іншу таблицю.
Тип створюваного зв'язку залежить від полів, для яких визначається зв'язок.
Відношення "один-до-багатьох" створюється в тому випадку, коли тільки одне з полів є ключовим або має унікальний індекс.
Відношення "багато-до-багатьох" створюється в тому випадку, коли поля, що зв'язують, є ключовими або мають унікальні індекси.
Зв'язок з відношенням "багато-до-багатьох" фактично є двома зв'язками з відношенням "один-до-багатьох " через третю таблицю, ключ якої складається з, принаймні, двох полів, які є полями зовнішнього ключа у двох інших таблицях.
Примітка. Якщо перенести за допомогою миші поле, що не є ключовим або не має унікального індексу, створюється невизначене відношення. У запитах, що містить таблиці з невизначеним відношенням, Microsoft Access за замовчуванням створює лінію об'єднання між таблицями, але умови цілісності даних при цьому не накладаються, і немає гарантії унікальності записів у кожній з таблиць.
Цілісність даних - це правила, що забезпечують підтримку встановлених міжтабличних зв'язків при введенні й видаленні записів.
Якщо накладені умови цілісності даних, Microsoft Access не дозволить додавати у зв'язану таблицю записи, для яких немає відповідних записів у головній таблиці; змінювати записи в головній таблиці так, що після цього у зв'язаній таблиці з'являться записи, що не мають головних зв'язків; видаляти записи в головній таблиці, для яких є підлеглі записи у зв'язаній таблиці.
Дата добавления: 2015-09-11; просмотров: 2693;