Об'єктно-орієнтована модель даних. Функціонування баз даних
3.3.4. Об'єктно-орієнтована модель даних
Об'єктно-орієнтована модель є подальшим розвитком технології баз даних ГІС. У цьому випадку вся сукупність даних, що буде зберігатися й оброблятися в базі даних, подана не у вигляді набору окремих картографічних шарів і таблиць, а у вигляді об'єктів певного класу. Об'єктно-орієнтована модель поряд з геометричною й атрибутивною інформацією зберігає програмний код, що визначає поведінку об'єктів того чи іншого класу при введенні і редагуванні, аналізі або поданні даних. Класи об'єктів являють собою ієрархічну структуру — під ними розуміють загальний батьківський клас (наприклад, робочий простір), на підставі властивостей якого визначаються й описуються похідні класи (векторні, растрові, TIN-просторові дані). У свою чергу, на базі похідних класів другого рівня описуються класи третього, четвертого та інших нижче розміщених рівнів (наприклад, лінії, точки і полігони векторного подання просторових даних). Похідні об'єкти успадковують усі властивості батьківського об'єкта, у програмний код додаються тільки деякі специфічні функції. Об'єкти можуть бути як стандартними для середовища якогось програмного ГІС-пакета (визначені правила обробки даних конкретними програмними модулями і функціями). Властивості і правила поведінки об'єкта можуть бути визначені також користувачем. При використанні стандартних класів об'єктів користувач одержує заздалегідь визначену структуру даних: ідентифікатори, типи і розміри полів табличної бази даних, набір методів обробки (наприклад, до складу стандартних об'єктів ГІС-пакета Arc View 8.3 додані об'єкти для створення муніципальних баз даних, транспортних баз даних, землевпорядкування та ін.).
Об'єкт бази даних являє собою цілісну сутність, наприклад, ріка, озеро, будинок, установа. Крім знака на карті і запису в табличній базі даних, об'єкт має визначену поведінку. Спеціальний інтерфейс буде контролювати весь процес роботи з об'єктом визначеного класу: перевіряти правильність цифрування об'єкта (наприклад, не дозволить використовувати лінію для цифрування контуру будинку); перевіряти правильність заповнення табличної бази даних (типи і формат даних, заповнення обов'язкових полів); перевіряти топологію різних картографічних шарів (наприклад, заборона на взаємоперетинання певних типів об'єктів); перевіряти взаємоположення об'єктів на одному картографічному шарі (наприклад, місця стикування труб різного діаметра (необхідний перехідник), з'єднання доріг різного класу (необхідний обладнаний з'їзд та ін). Об'єкти мають визначений інтелект при організації запитів, аналізі, представленні даних, що значною мірою дозволяє автоматизувати обробку даних, створювати різні сценарії обробки даних, у яких більшість конфліктних ситуацій буде відслідковуватися і виправлятися без участі оператора.
На основі об'єктно-орієнтованої моделі, зокрема, побудована База геоданих сімейства ГІС-пакетів ArcGIS. Вона має єдину внутрішню структуру, що дозволяє в рамках єдиного проекту використовувати і взаємно перетворювати різні типи просторових даних, погоджувати й усувати конфлікти при редагуванні наборів даних різних картографічних шарів, організовувати доступ до різних об'єктів бази геоданих.
3.4. Функціонування баз даних
На початку 70-х років XX ст. сформувалися дві концепції, спрямовані на вирішення труднощів, що виникають при створенні і функціонуванні баз даних: концепції адміністрації баз даних (АБД) і системи керування базою даних (СКБД).
Під адміністрацією бази даних розуміється колектив, що відповідає за правильну роботу БД і виконує такі функції:
1. Проектування структури бази даних. Ця робота виконується адміністрацією бази даних у тісному контакті з користувачами. Однак адміністрація приймає остаточне рішення, усі модифікації структури даних виконуються через адміністрацію.
2. Вибір способу подання даних на зовнішній пам'яті. Адміністрація повинна забезпечити ефективність доступу до даних і раціональне використання магнітних носіїв. Якщо прийняте рішення про зміну способу подання, то адміністрація проводить усі пов'язані з цим роботи.
3. Виконання обслуговуючих функцій. Адміністрація виконує обслуговуючі функції, спрямовані на забезпечення цілісності бази даних і інформування користувачів про стан бази даних. При втраті цілісності до функцій адміністрації входить відновлення бази.
4. Планування розвитку бази даних і пов'язаний з цим вибір нових засобів обчислювальної техніки.
5. Консультації користувачів щодо використання бази даних.
6. Контроль користувачів, які працюють з базою даних, урегулювання різних конфліктних ситуацій (наприклад, спроби видалення чи модифікації записів, які використовуються іншими користувачами).
Як головний інструмент керування адміністрація бази даних використовує систему керування базою даних (СКБД).
Система керування базою даних є спеціальним програмним забезпеченням, призначеним для створення, ведення і конкурентного використання баз даних. Застосування СКБД дозволяє значно зменшити витрати праці з реалізації вимог до бази даних і забезпечити більш повне їхнє виконання. Власне СКБД — системне програмне забезпечення. Не розв'язуючи безпосередньо ніякого прикладного завдання, СКБД є інструментом для розроблення прикладних програм і підтримки бази даних. Функції і структуру типової СКБД доцільно розглядати разом, тому що кожній з основних функцій відповідає програмний компонент СКБД.
Більшість СКБД має такі функціональні можливості:
1. Опис структури даних. У процесі роботи прикладних програм і користувачів база даних змінюється. Однак ці зміни не можуть бути довільними. Звичайно існують досить тверді обмеження на можливості маніпулювання даними, що відбивають закономірності предметної галузі. Так, у базі даних користувач може створити новий екземпляр об'єкта (наприклад, власника) чи виключити вже існуючий екземпляр, але змінити характеристики цього об'єкта (наприклад, додати права володіння яким-небудь будинком) він, як правило, не може. Обмеження на припустимі операції з даними дозволяють заздалегідь виконати опис незмінних властивостей бази даних. Такий опис одержав назву «опис структури даних або схеми бази даних».
2. Маніпулювання даними. Сучасні СКБД дають користувачам засоби маніпулювання даними, до складу яких входять оператори пошуку даних, коригування даних, обміну даними між базою даних і прикладною програмою та ін.
Завантаження бази і формування звітів. Універсальною мовою програмування можна написати будь-яку програму обробки даних, у тому числі програму заповнення (завантаження) і коригування бази даних чи програму роздрукування вихідних форм. Однак зазначені дії виконуються настільки часто, що для їхньої реалізації більшість СКБД має спеціальні програмні засоби, наприклад: для введення і коригування даних — підсистема завантаження даних; для одержання вихідних форм — генератор звітів. Ці засоби у своєму складі мають мови високого рівня, орієнтовані на опис введення-виведення даних.
Мова запитів. Часто виникає необхідність виконати запит з бази даних за певними ознаками об'єкта. Для реалізації такої можливості СКБД оснащуються мовою запитів високого рівня, а також інтерпретатором з мови запитів. За допомогою цієї мови користувачі-непрограмісти можуть сформулювати запит до бази даних і відразу на дисплеї одержати відповідь. Розроблена в 1970 р. компанією IBM мова SQL (Structured Query Language — структурована мова запитів) у наш час стала стандартною мовою, використовуваною для обробки запитів у більшості програмних пакетів СКБД. На сьогодні більше ста програмних продуктів мають спеціальний SQL-інтерфейс, що дозволяє обмінюватися даними між віддаленими базами, що мають різні концептуальні схеми і програмні платформи. Сучасні версії мови SQL надають користувачу широкий набір операторів і готових функцій, які дозволяють робити різні маніпуляції з локальними і віддаленими базами даних, здійснювати пошук, сортування і подання необхідної інформації.
Діалогові засоби. З метою зручності користувачів і підвищення оперативності доступу до даних більшість функцій СКБД може здійснюватися в діалоговому режимі через дисплей. Сучасні СКБД, як правило, забезпечують доступ багатьох користувачів до бази даних (тобто одночасний доступ до бази декількох термінальних користувачів чи прикладних програм), а так само засоби поділу і захисту даних різних користувачів. За допомогою дисплея зручно виконувати перегляд бази даних, її коригування, виконання різних сервісних функцій, введення запитів та ін.
Серед комерційних програмних продуктів для створення баз даних найбільшого поширення набули СКБД Microsoft Access, Microsoft SQL Server, Oracle, INGRES, Informix, DB2, Sybase, Paradox та ін. Ці програмні продукти надають користувачу широкий набір засобів для проектування і підтримки баз даних різного масштабу і призначення.