Зацерковний В.І. та ін. ГІС та бази даних. І бази даних
Скачать 31.1 Mb.
|
Рис. 9.8. Класифікація структур даних Прикладні програми Кінцеві користувачі Система керування базами даних (СКБД) База даних Система керування базами даних (СКБД) 338 Структура даних визначається користувачем і залежить від конк- ретного завдання. Приклад, як записує дані людина, наведено в табл. 9.1. Таблиця 9.1 Приклад запису даних людиною Прізвище Прищик Ім’я Мефодій По батькові Аристархович Рік народження 1995 Телефон 256-14-92 У цьому запису проглядаються елементи комп’ютерного файлу даних. Тут поєднані два типи інформації. Інформація першого типу (ліва частина таблиці) визначає іншу (права частина таблиці). Якщо їх розді- лити, то запис можна представити наступним чином (табл. 9.2): Таблиця 9.2 Структура Інформація Прізвище Прищик Ім’я Мефодій По батькові Аристархович Рік народження 1995 Телефон 256-14-92 Основна відмінність структури від інформації в СКБД полягає в тому, що структура залишається незмінною, а інформація змінюється при кожному введенні даних. Таким чином, БД – це поіменована сукупність структурованих даних, що відносяться до певної предметної сфери. СКБД (DataBase Management System – DBMS) – це комплекс програм- них і мовних засобів, необхідних для створення баз даних, підтримки їх в актуальному стані і організації пошуку в них необхідної інформації. До СКБД пред’являється низка вимог, головними з яких є забезпе- чення можливості: а) введення даних. В системі повинна існувати структура, яка була б здатна накопичувати дані. Крім того, в СКБД необхідно передбачити можливість перегляду цих даних та внесення змін, для того щоб забез- печити актуальність інформації. Прикладом структури даних може слугувати звичайна анкета, створена за допомогою паперу та чорнил; б) здійснення запитів. Запит – це формулювання користувачем своєї інформаційної потреби до певної бази даних. Система повинна нада- вати користувачеві можливість пошуку та перегляду окремих частин нако- пиченої інформації в базі даних відповідно до визначеного критерію; 339 в) складання звітів. Час від часу виникає потреба узагальнювати інформацію, що зберігається в базі даних. Звіт відрізняється від запиту. По- перше, звіт зазвичай охоплює не яку-небудь частину бази даних, а всю її цілком. По-друге, при отриманні звіту інформація зазвичай опрацьовується. Звіти в СКБД не просто відображають зміст бази даних, але й певним чином її аналізують. Щоб вести мову про інформацію, яка зберігається у базі даних, по- трібно визначити деякі терміни. Поняття бази даних тісно пов’язане з та- кими поняттями структурних елементів, як поле, запис, файл (таблиця). Поле – елементарна одиниця логічної організації даних, яка відповідає неподільній одиниці інформації – реквізиту. Поля бази даних не просто визначають структуру бази. Вони ще визначають групові властивості даних, що записуються в комірки, які належать кожному з полів. Нижче наведено основні властивості полів таблиць баз даних на прикладі СКБД Microsoft Access. Ім’я поля – визначає, як треба звертатись до даних цього поля при автоматичних операціях з базою (за замовчуванням імена полів викорис- товуються як заголовків стовпчик таблиць). Тип поля – визначає тип даних, що можуть бути у даному полі. Розмір поля – визначає граничну довжину (в символах) даних, які можуть розміщуватись у даному полі. Формат поля – визначає спосіб форматування даних у комірках, що належать полю. Маска введення – визначає форму, в якій вводяться дані в поле (засіб автоматизації введення даних). Підпис – визначає заголовок стовпчика таблиці для даного поля (якщо підпис не вказаний, то як заголовок стовпчика використовується властивість Ім’я поля). Значення за замовчуванням – це значення, яке вводиться в комірки поля автоматично (засіб автоматизації введення даних). Умова на значення – обмеження, що використовується для перевірки правильності введення даних (засіб автоматизації введення, який викорис- товується, зазвичай, для даних, що мають числовий, грошовий або тип дати). Повідомлення про помилку – текстове повідомлення, яке видається автоматично при спробі введення в поле помилкових даних. Обов’язкове поле – властивість, яка визначає обов’язковість запов- нення даного поля при наповненні бази. Порожні рядки – властивість, яка дозволяє вводити порожні рядкові дані (від властивості Обов’язкове поле відрізняється тим, що відноситься не до всіх типів даних, а лише до певних, наприклад до текстових). Індексоване поле – якщо поле має цю властивість, всі операції, пов’я- зані з пошуком або сортуванням записів за значенням, що зберігаються в 340 даному полі, істотно прискорюються. Крім того, для індексованих полів можна зробити так, що значення в записах будуть перевірятись за цим по- лем на наявність повторів, що дозволяє автоматично виключати дублю- вання даних. Оскільки в різних полях можуть міститись дані різного типу, то й властивості у полів можуть розрізнятись залежно від типу даних. Так, на- приклад, список вищезазначених властивостей полів відносяться головним чином до полів текстового типу. Поля інших типів можуть мати або не мати ці властивості, але можуть додавати до них і свої. Наприклад, для даних, що подають дійсні числа, важливою властивістю є кількість знаків після десяткової коми. З іншого боку, для полів, що використовуються для збе- реження малюнків, звукозаписів, відеокліпів, більшість із вищезазначених властивостей не мають сенсу. Запис – це скінченна сукупність даних, яка містить певний обсяг інформації про цей об’єкт. Цей обсяг інформації визначається, по-перше, предметною галуззю, в якій розглядається об’єкт, а по-друге, тією задачею, у якій цей об’єкт розглядається. У нашому прикладі (табл. 9.3) вся записана інформація становить один запис, тобто запис є сукупністю всіх полів. Таблиця 9.3 Ядром СКБД є файл (папка). Файл – це місце, де фактично зберігається інформація. Файл – це іменована частина зовнішньої пам’яті, в яку можна записувати і з якої можна зчитувати дані. Правила іменування файлів, способів доступу до даних, що зберігаються в файлі, структура цих даних залежать від конкретної системи керування файлами і від типу файлу. Система керування файлами бере на себе розподіл зовнішньої пам’яті, відображення імен файлів у відповідні адреси в зовнішній пам’яті і забезпечення доступу до даних. З точки зору СКБД, файл – сукупність усіх записів, що зберіга- ються в базі даних. Зв’язки – логічні взаємовідносини між записами або полями. База даних – сукупність взаємопов’язаних даних (файлів), призна- чених для спільного використання. Система керування базами даних (СКБД) – комплекс програм, які забезпечують взаємодію користувача з базою даних. Прищик Мефодій Аристархович 1995 256-14-92 341 Основним принципом організації баз даних є спільне збереження даних і їх опису. Опис даних називають метаданими. Метадані зберігаються в час- тині бази даних, яка називається каталогом або словником-довідником даних. Знаючи формат метаданих, можна запитувати і змінювати дані без написання додаткових програм. Одна й та ж база даних може бути використана для розв’язку багатьох прикладних задач. Наявність метаданих і можливість інформа- ційної підтримки розв’язку багатьох задач – це принципова відмінність бази даних від будь-якої іншої сукупності даних, що розташовуються в зовнішній пам’яті комп’ютера. 9.4. Функції СКБД 1. Безпосереднє керування даними у зовнішній пам’яті. Ця функція включає забезпечення необхідних структур зовнішньої пам’яті як для збереження даних, що безпосередньо входять до БД, так і для службових цілей, наприклад, для прискорення доступу до даних у деяких випадках (зазвичай для цього використовуються індекси). 2. Керування буферами оперативної пам’яті. СКБД зазвичай пра- цюють з БД значних розмірів; принаймні цей розмір зазвичай істотно більше доступного об’єму оперативної пам’яті. Зрозуміло, що якщо при звертанні до будь-якого елемента даних буде здійснюватись обмін із зов- нішньою пам’яттю, то вся система буде працювати зі швидкістю пристрою зовнішньої пам’яті. Практично єдиним способом реального збільшення цієї швидкості є буферизація даних в оперативній пам’яті. Тому в розвинених СКБД підтримується власний набір буферів оперативної пам’яті з власною дисципліною заміни буферів. 3. Керування транзакціями. Транзакція – це послідовність опера- цій над БД, що розглядається СКБД як єдине ціле. Або транзакція успіш- но виконується, і СКБД фіксує зміни БД, здійснені цією транзакцією, у зовнішній пам’яті, або жодна з цих змін жодним чином не відображується на стані БД. Поняття транзакції необхідне для підтримання логічної доцільності БД. Та властивість, що кожна транзакція починається при цілісному стані БД і залишає цей стан цілісним після свого завершення, робить дуже зручним використання поняття транзакції як одиниці актив- ності користувача по відношенню до БД. При відповідному керуванні транзакціями з боку СКБД, що виконуються паралельно, кожний з корис- тувачів може в принципі відчувати себе єдиним користувачем СКБД. Таким чином, підтримка механізму транзакцій є обов’язковою умовою функціонування СКБД. 342 4. Журналізація. Однією з основних вимог до СКБД є надійність збереження даних у зовнішній пам’яті. Підтримка надійності збереження даних у БД вимагає надлишковості збереження даних, причому та части- на даних, яка використовується для відновлення, повинна зберігатись особливо надійно. Найбільш поширеним методом підтримки такої надлишкової інформації є ведення журналу змін БД. Під надійністю збереження розуміється те, що СКБД повинна бути в стані відновлювати останній узгоджений стан БД після будь-якого апаратного або програмного збою. 5. Підтримка мов БД. Для роботи з БД використовуються спеціальні мови, які в загальному випадку називаються мовами БД. У ранніх СКБД підтримувалось декілька спеціалізованих за своїми функціями мов, а саме: • мова опису даних (МОД) (SDL – Schema Definition Language), яка називається також мовою опису схем, – для побудови структури ("шапки") таблиць БД; • мова маніпулювання даними (ММД) (DML – Data Manipulation Language) – для заповнення БД даними і операцій оновлення (запис, видалення, модифікація); • мова запитів – мова пошуку наборів величин у файлі відповідно до заданої сукупності критеріїв пошуку і видачі затребуваних даних без зміни змісту файлів і БД (мова перетворення критеріїв на систему команд). Сьогодні функції всіх трьох мов виконує мова структурованих запитів SQL. 343 Х. ПРИНЦИПИ ПОБУДОВИ БАЗ ДАНИХ, ЇХ АРХІТЕКТУРА І КЛАСИФІКАЦІЯ Те, як людина збирає, керує і використовує інформацію, й визначає, чи опиниться вона у виграшу чи у програшію. Б. Гейтс Теорія баз даних – порівняно молода галузь знань, однак сучасний світ інформаційних технологій важко уявити собі без використання баз даних, а геоінформаційних технологій – взагалі неможливо. Практично всі ГІС пов’язані з функціями тривалого збереження й обробки інформації, оскільки геоінформація є тим чинником, який багато в чому визначає ефективність будь-якої сфери діяльності. На сучасному етапі розвитку суспільства збільшились інформаційні потоки і підвищились вимоги до швидкості обробки даних. Більшість операцій з обробки інформації просто неможливо виконувати вручну, вони потребують застосування більш перспективних комп’ютерних технологій, якими і є геоінформаційні. Управлінські рішення в будь-якій предметній сфері вимагають чіткої і точної оцінки поточної ситуації та можливих перспектив її зміни. І якщо раніше при оцінці ситуації враховувалось декілька десятків факторів, що впливали на поточну ситуацію і які можна було обчислити вручну, то тепер кількість таких факторів становить сотні і навіть сотні тисяч, а ситуація змінюється не протягом року, а через декілька хвилин. При цьому обґрунтованість управлінських рішень, що повинні прийматись, повинна бути надзвичайно високою, оскільки ціна похибки, допущеної в процесі прийняття рішень, може бути надзвичайно високою. Отже, обійтись без ГІС, що ґрунтуються на базах просторових і атрибутивних даних та банках знань, просто неможливо. Бази даних і бази знань є ядром автоматизованого банка даних. 10.1. Принципи побудови баз даних База даних (БД) – іменована сукупність даних, що відображає стан об’єктів та їх відносини у певній предметній сфері. Банк даних (БнД) – це система спеціальним чином організованих даних (баз даних), програмних, технічних, мовних, організаційно- методичних засобів, призначених для забезпечення централізованого накопичення і колективного багатоцільового використання даних. 344 Найбільш істотними науковими принципами, які лежать в основі побудови БД, є принцип інтеграції даних і принцип централізації керу- вання ними (рис. 10.1). Рис. 10.1. Принципи побудови баз даних Принцип інтеграції даних полягає в об’єднанні окремих, взаємно не зв’язаних даних у єдине цілісне утворення, в ролі якого виступає БД. У результаті всі дані подаються єдиним інформаційним масивом. При цьому полегшуються пошук взаємозалежних даних і їхня спільна обробка, зменшується надлишковість даних, спрощується процес ведення БД. Інтеграцію даних необхідно розглядати на двох рівнях – логічному і фізичному. На логічному рівні множина структур даних відображається в єдину структуру даних, на фізичному рівні автономні файли об’єднуються в БД. Принцип цілісності даних відображає вимогу адекватності інформації, що зберігається в БД, стану предметної сфери. В будь-який момент часу дані повинні точно відповідати властивостям і характеристикам об’єктів. Порушення цілісності виникає внаслідок спотворення або навіть руйнації (стирання) всіх або частини даних, а також як результат запису в БД неправильної (спотвореної) інформації. Підтримка цілісності досягається: – за рахунок контролю вхідної інформації; – періодичної перевірки даних, що зберігаються; – застосуванням спеціальної системи відновлення даних; – іншими заходами. 345 Під незалежністю даних розуміють незалежність прикладних програм від даних, що зберігаються, при якому будь-які зміни в орга- нізації даних не вимагають корекції цих програм. Шляхи забезпечення незалежності даних: • уведення додаткових рівнів абстрагування даних (принцип багато- рівневості). Замість двох традиційних рівнів, передбачених базовим про- грамним забезпеченням і стандартними мовами програмування, – логічного і фізичного – в архітектурі БД використовується принцип трирівневої організації даних: логічний рівень поділяється на два – зовнішній (рівень користувача) і концептуальний (загальний системний рівень даних); • передача СКБД частини функцій, пов’язаних з організацією до- ступу до БнД, що раніше покладалися на прикладні програми. При цьому прикладна програма лише формує і передає ядру інформацію, необхідну для пошуку даних; • застосуванням і дотриманням принципу відділення опису БД від процедур обробки даних; • реляційний підхід до побудови БД. Найбільший ефект досягається симбіозом усіх зазначених шляхів. Відсутність надлишковості – це стан даних, коли кожний еле- мент присутній у БД тільки в одиничному екземплярі. Надлишковість може мати місце як на логічному рівні, коли в структурі даних повто- рюються одні й ті ж самі типи даних, так і на фізичному рівні, коли дані зберігаються в двох або більше екземплярах. Принцип інтеграції дозво- ляє звести надлишковість до мінімуму. Під несуперечливістю розуміється змістова відповідність між даними. Це такий стан БД, при якому дані, що зберігаються в ній, не супе- речать один одному. Розрізняють два аспекти несуперечливості: змістова відповідність різнотипних даних та ідентичність (рівність) дублюючих даних. Принцип зв’язності даних полягає в тому, що дані в БД взаємо- залежні, і зв’язки відбивають відношення між об’єктами предметної сфери. Множина типів даних і множина зв’язків утворюють логічну структуру даних. Наявність зв’язків між записами в БД дозволяє зменшу- вати надлишковість, спростити і прискорити пошук даних. Принцип централізації керування полягає в передачі усіх функцій керування даними єдиному комплексу керуючих програм – СКБД. Як було зазначено вище, всі операції, пов’язані з доступом до БД, викону- ються не прикладними програмами, а централізовано – ядром СКБД – на підставі інформації, яку отримують з цих програм. Дотримання цього принципу дозволяє автоматизувати роботу з БД і тим самим істотно під- вищити ефект, який отримують від застосування інформаційної системи. 346 Відділення опису даних від процедур їхньої обробки припускає, що опис даних виключається з прикладних програм, складається і транслюєть- ся окремо від них і зберігається в БД (або поза нею у вигляді окремого фай- лу). Виведення цих описів за межі прикладної програми робить її більш не- залежною від БД, полегшує процес програмування, зменшує розміри не- обхідної для програми пам’яті, підвищує гнучкість маніпулювання даними. На основі зазначених вище принципів формується архітектура БД. Ведучи мову про архітектуру БД, мають на увазі архітектуру інфор- маційного забезпечення баз даних. |