Зацерковний В.І. та ін. ГІС та бази даних. І бази даних
Скачать 31.1 Mb.
|
Рис. 9.5. Едгар Франк Кодд (англ. Edgar Codd, 23 серпня 1923 – 18 квітня 2003) – британський дослідник у галузі інформатики, який винайшов реляційну модель даних для керування базами даних, теоретичну основу для реляційних баз даних 330 Фундаментальним поняттям реляційної БД є відношення. Це відоб- ражено і в загальній назві підходу – термін реляційний (relational) походить від англ. relation (відношення). На фізичному рівні відношення представляють собою таблиці, розбиті на рядки і стовпці (рис. 9.6). Рис. 9.6. Реляційна модель Е. Кодда Це дозволило створити мову високого рівня, здатну працювати з даними незалежно від того, як вони зберігаються в комп’ютері. Як наслідок, з’явилися дві СКБД: System R компанії IBM і Ingres Калі- форнійського університету в Берклі. В обох СКБД була реалізована реляцій- на модель і мова запитів. Остання в СКБД System R спочатку називалась SEQUEL (Structured English Query Language – структурована англійська мова запитів). Пізніше з’явилася назва SQL (Structured Query Language). У 1986 р. організація ANSI опублікувала офіційний стандарт мови SQL. Стрімкий розвиток обчислювальної техніки, зміна її принципової ролі в житті суспільства, лавиноподібне зростання можливостей персо- нальних комп’ютерів, поява потужних робочих станцій і комп’ютерних мереж, безумовно, вплинуло на розвиток технологій баз даних. При цьо- му можна виділити чотири етапи в розвитку технологій обробки даних. Однак необхідно відзначити, що на цих етапах відсутні жорсткі часові обмеження: технології плавно переходять з одного етапу в іншій і навіть співіснують паралельно, проте виділення цих етапів дозволяє більш чітко охарактеризувати окремі стадії розвитку технології баз даних, підкрес- лити особливості, характерні для конкретного етапу. Перший етап розвитку СКБД пов’язаний з організацією баз даних на великих машинах типу IBM 360/370, ЄС-ЕОМ і міні-ЕОМ типу PDP- 11 (фірми Digital Equipment Corporation – DEC), різних моделях HP (фірми Hewlett Packard). 331 Бази даних зберігалися в зовнішній пам’яті центральної ЕОМ, користувачами цих баз даних були завдання, що запускались головним чином у пакетному режимі. Інтерактивний режим доступу забезпечувався за допомогою консольних терміналів, які не володіли власними обчислю- вальними ресурсами (процесором, зовнішньою пам’яттю) і слугували тільки пристроями введення-виведення для центральної ЕОМ. Програми доступу до БД писалися на різних мовах і запускалися як звичайні про- грами для числових розрахунків. Потужні операційні системи забезпе- чували можливість умовно-паралельного виконання всієї безлічі завдань. Ці системи можна було віднести до систем розподіленого доступу, тому що база даних була централізованою, зберігалася на пристроях зов- нішньої пам’яті однієї центральної ЕОМ, а доступ до неї підтримувався від багатьох користувачів (завдань). Особливості першого етапу розвитку СКБД: • усі СКБД базуються на потужних мультипрограмних операційних системах (MVS SVM, RTE, OSRV, RSX, UNIX), тому в основному підтри- мується робота з централізованою базою даних у режимі розподіленого доступу; • функції керування розподілом ресурсів здійснюються головним чином операційною системою (ОС); • підтримуються мови низького рівня маніпулювання даними, які орієнтовані на навігаційні методи доступу до даних; • значна роль відводиться адмініструванню даних; • здійснюються серйозні роботи з обґрунтування і формалізації реляційних моделей даних, була створена перша система (System R), яка реалізувала ідеологію реляційної моделі даних; • проводяться теоретичні роботи з оптимізації запитів і керування розподіленим доступом до централізованої БД, було введено поняття транзакції; • результати наукових досліджень відкрито обговорюються у пресі, йде потужний потік загальнодоступних публікацій, що стосуються всіх аспектів теорії і практики баз даних, і результати теоретичних досліджень активно впроваджуються в комерційні СКБД; • з’являються перші мови високого рівня для роботи з реляційною моделлю даних; • відсутні стандарти для цих мов. Другий етап розвитку СКБДпов’язаний з появою персональних комп’ютерів, які стрімко увірвались в життя світової спільноти і переверну- ли всі уявлення про місце та роль обчислювальної техніки в житті суспільст- ва. Комп’ютери стали ближчими і доступнішими кожному користувачеві. Зник страх пересічних користувачів перед незрозумілими і складними мо- вами програмування. З’явились безліч програм, призначених для роботи 332 непідготовлених користувачів. Ці програми були прості у використанні та інтуїтивно зрозумілі: редактори текстів, електронні таблиці тощо. Простими і зрозумілими стали операції копіювання файлів та перенесення інформації з одного комп’ютера на інший, друкування текстів, таблиць й інших доку- ментів. Системні програмісти були відсунуті на другий план. Кожен корис- тувач міг відчути себе цілковитим господарем цього потужного і зручного пристрою, який дозволяв автоматизувати більшість аспектів діяльності людини. Це позначилося і на роботі з базами даних. З’явилися програми, які називались СКБД і дозволяли зберігати значні об’єми інформації, мали зручний інтерфейс для заповнення баз даних, убудовані засоби для генерації різних звітів. Ці програми дозволяли автоматизувати більшість облікових функцій, які раніше велися вручну. Постійне зниження цін на персональні комп’ютери зробило їх доступ- ними не тільки для організацій і фірм, а й для окремих користувачів. Комп’ютери стали інструментом для ведення документації і власних облі- кових функцій. Це все відіграло як позитивну, так і негативну роль у роз- витку баз даних. Значна конкуренція серед постачальників програмного забезпечення примушувала вдосконалювати ці системи, пропонувати нові можливості, які покращували інтерфейс і швидкодію систем, знижували їх вартість. Наявність на ринку великої кількості СКБД, що виконували схожі функції, вимагало розробки методів експорту-імпорту даних для цих систем і відкриття форматів збереження даних. Але в цей період з’являються дилетанти-любителі, які всупереч здоровому глузду розробляли власні СКБД, використовуючи стандартні мови програмування. Удавана простота і доступність персональних комп’ютерів та їхнього програмного забезпечення породила безліч дилетантів. Ці розробники, вважаючи себе знавцями, стали проектувати недовговічні бази даних, які не враховували багатьох особливостей об’єктів реального світу. Було ство- рено багато систем-одноденок, які не відповідали законам розвитку і взаємозв’язку реальних об’єктів. Однак доступність персональних ком- п’ютерів змусила користувачів з багатьох галузей знань, які раніше не застосовували обчислювальну техніку в своїй діяльності, звернутися до них. І попит на розвинені зручні програми обробки даних примушував по- стачальників програмного забезпечення постачати все нові системи, які прийнято називати настільними (desktop) СКБД. Це був тупиковий ва- ріант, тому що подальший розвиток засвідчив, що перенести дані з нестан- дартних форматів у нові СКБД або дуже складно, або взагалі неможливо. Особливості другого етапу розвитку СКБД: • усі СКБД розраховувались на створення БД з монопольним досту- пом (комп’ютер персональний, не під’єднаний до мережі), тому база даних на ньому створювалася для роботи одного користувача. В деяких випадках 333 передбачалася послідовна робота декількох користувачів, наприклад, спо- чатку працював оператор, який вводив бухгалтерські документи, а потім бухгалтер, який визначав проводки, що відповідали введеним первинним документам; • більшість СКБД мали розвинений і зручний для користувача інтер- фейс, існував інтерактивний режим роботи з БД, як в рамках опису БД, так і в рамках проектування запитів. СКБД пропонували розвинений і зручний інструментарій для розроблення готових додатків без програмування. Інструментальне середовище складалось з готових елементів додатку у ви- гляді шаблонів екранних форм, звітів, етикеток (labels), графічних конст- рукторів запитів, які досить просто могли бути зібрані в єдиний комплекс; • у всіх настільних СКБД підтримувався тільки зовнішній рівень подання реляційної моделі, тобто тільки зовнішній, табличний вигляд структур даних; • за наявності високорівневих мов маніпулювання даними типу реляційної алгебри і SQL у настільних СКБД підтримувалися низько- рівневі мови маніпулювання даними на рівні окремих рядків таблиць; • у настільних СКБД були відсутні засоби підтримки посилальної і структурної цілісності бази даних. Ці функції повинні були виконувати додатки, проте обмеженість засобів розробки додатків іноді не дозволяла це зробити. В цьому разі ці функції повинні були виконуватися корис- тувачем, вимагаючи від нього додаткового контролю при введенні і зміні інформації, що зберігається в БД; • наявність монопольного режиму роботи фактично призвела до ви- родження функцій адміністрування БД і у зв’язку з цим – до відсутності інструментальних засобів адміністрування БД; • порівняно скромні вимоги до апаратного забезпечення з боку на- стільних СКБД. Цілком працездатні додатки, розроблені, наприклад, на Clipper, працювали на PC 286. Яскравими представниками цього сімейства є СКБД Dbase (Dbase III+, Dbase IV), FoxPro, Clipper, Paradox, які широко використовувалися до недавнього часу. Третій етап розвитку СКБД пов’язаний з появою розподілених баз даних.Добре відомо, що історія розвивається по спіралі, тому після процесу "персоналізації" почався зворотний процес – інтеграція. Збільшується кількість локальних мереж, все більше інформації циркулює між комп’ю- терами, гостро постає проблема узгодженості даних, що зберігаються і обробляються в різних місцях, але логічно пов’язаних, виникають завдання, пов’язані з паралельною обробкою транзакцій – послідовностей операцій над БД, переводять з одного несуперечливого стану в інший несупереч- ливий стан. Успішне розв’язання цих завдань приводить до появи розпо- ділених баз даних, що зберігають усі переваги настільних СКБД і в той же 334 час дозволяють організувати паралельну обробку інформації та підтримку цілісності БД. Особливості третього етапу розвитку СКБД: • практично всі СКБД забезпечують підтримку повної реляційної моделі, а саме: – структурної цілісності – допустимими є тільки дані, подані у вигляді відношень реляційної моделі; – мовної цілісності, тобто мов маніпулювання даними високого рівня (в основному SQL); – посилальної цілісності, контролю за дотриманням посилальної цілісності протягом усього часу функціонування системи і гарантій неможливості з боку СКБД порушити ці обмеження; • більшість сучасних СКБД розраховані на багатоплатформність архітектури, тобто вони можуть працювати на комп’ютерах з різною архі- тектурою і під різними операційними системами, при цьому для користу- вачів доступ до даних, що керуються СКБД на різних платформах, практично непомітний; • необхідність підтримки одночасної роботи багатьох користувачів з базою даних і можливість децентралізованого збереження даних вимагали розвитку засобів адміністрування БД з реалізацією загальної концепції засобів захисту даних; • потреба в нових реалізаціях зумовила створення серйозних теоретичних праць з оптимізації реалізацій розподілених БД і роботу з розподіленими транзакціями та запитами з впровадженням отриманих результатів у комерційні СКБД; • для того щоб не втратити клієнтів, які раніше працювали на на- стільних СКБД, практично всі сучасні СКБД мають засоби підключення клієнтських додатків, розроблених з використанням настільних СКБД, і за- соби експорту даних з форматів настільних СКБД другого етапу розвитку; • саме до цього етапу можна віднести розробку низка стандартів в рамках мов опису і маніпулювання даними, починаючи з SQL89, SQL92, SQL99 і технологій з обміну даними між різними СКБД, до яких можна віднести і протокол ODBC (Open DataBase Connectivity), запропонований фірмою Microsoft; • саме до цього етапу можна віднести початок робіт, пов’язаних з кон- цепцією об’єктно орієнтованих БД – ООБД. Представниками СКБД, що відносяться до третього етапу, можна вважати MS Access і всі сучасні сервери баз даних Oracle7.3, Oracle 8.4, MS SQL6.5, MS SQL7.0, System 10, System 11, Informix, DB2, SQL Base та інші сучасні сервери баз даних, яких зараз налічується декілька десятків. Четвертий етап розвитку СКБД характеризується появою нової технології доступу до даних – Інтернет. Основна відмінність цього підходу 335 від технології "клієнт – сервер" полягає в тому, що зникає потреба вико- ристання спеціалізованого клієнтського програмного забезпечення. Для роботи з видаленою базою даних використовується стандартний браузер Інтернету, наприклад Microsoft Internet Explorer або Netscape Navigator, і для кінцевого користувача процес звернення до даних відбувається анало- гічно переміщенню по мережі Інтернет. При цьому вбудований в заван- тажені користувачем HTML-сторінки код, написаний зазвичай на мові Java, Java-script, Perl та інших, відстежує всі дії користувача і транслює їх у низькорівневі SQL-запити до бази даних, виконуючи таким чином ту роботу, якій в технології "клієнт – сервер" займається клієнтська програма. Зручність даного підходу привела до того, що він почав використову- ватися не тільки для видаленого доступу до баз даних, але і для користува- чів локальної мережі підприємства. Прості завдання обробки даних, не пов’язані зі складними алгоритмами, що вимагають узгодженої зміни даних в багатьох взаємозв’язаних об’єктах, досить просто й ефективно можуть бути побудовані за даною архітектурою. В цьому випадку для підключення нового користувача до можливості використовувати дане зав- дання не потрібне встановлення додаткового клієнтського програмного забезпечення. Проте алгоритмічно складні завдання рекомендується реалі- зовувати в архітектурі "клієнт – сервер" з розробкою спеціального клієнт- ського програмного забезпечення. У кожного з вищеперерахованих підходів до роботи з даними є свої достоїнства і свої недоліки, які й визначають сферу застосування того або іншого методу, і в даний час всі підходи широко використовуються. 9.3. Структурні елементи бази даних Мета будь-якої інформаційної системи – обробка даних про об’єкти реального світу. Будь-яка прикладна програма є відображенням певної предметної сфери, що складається з реальних об’єктів (наприклад, авто- мобілі, люди, країни, земельні ділянки) та об’єктів абстрактних (на- приклад, інтервал часу). Такі об’єкти називають сутностями.Предметна сфера містить його формалізований опис у вигляді даних. Предметна сфера (ПС) – це частина реального світу, що роз- глядається в межах певного дослідження або певної діяльності. Кожен об’єкт ПС характеризується сукупністю властивостей. Ці властивості відображуються за допомогою елементарних одиниць інформа- ції – атрибутів. Наприклад, об’єкт Автомобіль може мати такі атрибути, як модель, рік виготовлення, потужність двигуна, тип коробки передач, а об’єкт Землевласник – прізвище, ім’я, рік народження, площа земельної ділянки, тип ґрунтів тощо. 336 Кожен атрибут має конкретне значення, наприклад, значення атри- бутів об’єкта Автомобіль можуть бути такими: модель – Nissan Note, рік виготовлення – 2014, потужність двигуна – 1,6 л, тип коробки передач – автоматична. Очевидно, що атрибути та їх значення пов’язані між собою. Крім того, сутності предметної сфери перебувають у певних відношеннях одна до одної, які називаються зв’язками. Серед розмаїття атрибутів можна виділити істотні і малозначущі. Визнання певної властивості істотною має відносний характер. Наприклад, атрибут Кадастровий номер ділянки для співробітника ДЗК є істотним, а для пересічного громадянина – малозначущим. Атрибут – це неподільний під час передавання та зберігання елемент інформаційного простору. З атрибутів будуються всі інші, більш складні, інформаційні конструкції. Атрибут відображає певну властивість деяких класів об’єктів. Значення або екземпляр атрибута – це інформація про дану властивість одного конкретного об’єкта. Клас об’єктів – це сукупність об’єктів, яка володіє однаковим набором властивостей. Основні ідеї сучасної інформаційної технології базуються на кон- цепції баз даних (БД). У загальному випадку база даних – це сукупність відомостей про конкретні об’єкти реального світу в певній предметній сфері. Бази даних – це, по суті, не що інше, як комп’ютеризована система збереження однотипних записів. Користувачами бази даних можуть бути різні прикладні програми, програмні комплекси, а також фахівці предметної сфери, які виступають в ролі споживачів чи джерел даних, що називаються кінцевими користу- вачами (рис. 9.7). Створюючи базу даних, користувач намагається упорядкувати інфор- мацію за різними ознаками і швидко здобути вибірку з довільним сполучен- ням ознак. Зробити це можливо тільки в тому разі, якщо дані структуровані. Прикладом неструктурованих даних можуть слугувати дані, записані в текстовому файлі. Легко переконатися в тому, що організувати пошук даних, які зберігаються в неструктурованому вигляді, дуже складно, а упорядкувати подібну інформацію взагалі неможливо. Для забезпечення можливості автоматизації пошуку необхідних даних потрібно їх попередньо систематизувати (структурувати), тобто розробити і виконати певні домовленості про способи подання даних. Структура даних – сукупність правил й обмежень, які відобра- жають зв’язки, що існують між окремими частинами даних. |