Історія розвитку баз даних.
Основні поняття та визначення систем баз даних.
Виникнення технологій баз даних припадає на початок 60-х років. Їх швидкому розвитку сприяли потреби в обробці інформації, досягнення в суміжних областях інформаційних технологій таких, як операційні системи, мови програмування, технічне забезпечення. Спочатку зароджувалися певні ідеї щодо управління ресурсами даних, формувалися основи методології побудови систем баз даних. Із самого початку було зрозуміло, що цей напрям має самостійне значення і буде відігравати одну з ключових ролей у побудові інформаційних систем різного призначення.
Інформаційні задачі на відміну від обчислювальних мають такі особливості:
− збереження даних складної структури;
− відносно прості алгоритми обробки;
− великі обсяги оброблюваної інформації.
Інформаційна система виконує функції збирання, зберігання, розповсюдження і обробки інформації. Під інформацією розуміють будь-які відомості про будь-яку подію, сутність, процес і т.ін., які є об'єктом певних операцій: передачі, перетворення, зберігання або використання. Дані можна визначити, як інформацію зафіксовану у певній формі, яка придатна для подальшої обробки, зберігання і передачі (рис. 1.1). Предметна область – область застосування конкретної бази даних.
Інформації відповідає інфологічне представлення, яке розглядає питання пов'язані зі змістом інформації, незалежно від представлення її в пам'яті комп'ютера. Даталогічне представлення розглядає питання представлення даних в пам'яті комп'ютера.
Функції управління інформацією в інформаційних системах виконують системи управління базами даних.
Рис. 1.1. Зв'язок між інформацією і даними
Спочатку для збереження даних застосовувалися файлові системи ( рис. 1.2). Для цих систем були характерні такі особливості:
− структура запису файлу даних була відома тільки прикладній програмі, яка з ним працювала, а система управління файлами її не знала; кожна програма, яка працювала з файлом даних, повинна була мати у себе структуру даних, яка відповідала цьому файлу ( така ситуація характеризувалась, як залежність програм від даних);
− система управління файлами повинна була забезпечити авторизацію доступу до файлів для різних користувачів, але були відсутні централізовані методи управління доступом до інформації;
− для організації паралельної роботи користувачів з даними необхідне узгоджене управління, а система управління файлами при цьому працювала надто повільно. Для подолання цих недоліків практично паралельно почалися роботи над ієрархічними і мережними базами даних (БД) і над відповідними системами управління цими БД − СУБД. В основі цих БД лежали відповідні моделі даних: ієрархічні і мережні (рис. 1.2).
Ці моделі належать до теоретико-графових моделей. До переваг цих БД можна віднести ефективне використання пам'яті комп'ютера, швидке виконання основних операцій над даними.
Недоліками цих БД є таке:
− труднощі при обробці інформації з достатньо складними зв'язками;
− складність розуміння змісту звичайним користувачем, залежність від фізичної реалізації.
На початку 70-х років були сформовані теоретичні основи сучасних технологій БД і остаточно сформувався самостійний напрям інформаційних технологій – наука о базах даних. Головною подією цього періоду стало виникнення реляційних баз даних. В основі реляційної моделі лежить поняття відношення. Реляційна модель є простою і зрозумілою, а її фізичне представлення добре реалізується на комп'ютері. До недоліків реляційних моделей можна віднести складність реалізації ієрархічних і мережних зв'язків.
У 70-х роках почали формуватися підходи в БД, які пов'язані з використанням апарата логіки в якості моделі даних. Ці роботи привели до створення дедуктивних БД. Розвиток цього напряму дозволяє створювати бази знань.
У 80-х роках реляційні БД набули домінуючого положення. Однак уже тоді існувало і постійно розширювалося коло застосувань, для яких ця технологія була неадекватною.
Це стосується мультимедійних застосувань, систем, які оперують просторовими даними і т.ін. В середині 80-х років успіхів досягло об'єктно-орієнтоване програмування. Під його впливом і в зв'язку з необхідністю реалізації нетрадиційних застосувань, вимоги яких погано узгоджуються з можливостями реляційних систем, почались роботи з практичної реалізації об'єктно-орієнтованих БД. Логічна структура об'єктно-орієнтованої БД зовні схожа на структуру ієрархічної БД, але вона доповнена об'єктно-орієнтованими механізмами. Об'єктно-орієнтовані БД у порівнянні з реляційними БД мають можливість відображати інформацію о складних взаємозв'язках об'єктів, визначати функції обробки окремих записів. До недоліків об'єктно-орієнтованих моделей належить висока понятійна складність, низька швидкість виконання запитів, незручність обробки даних.
Бажання розробників реляційних БД зберегти лідируючі позиції і підвищити ефективність реляційної моделі, привели до розробки об'єктно-реляційної моделі, на основі якої почали розроблятися об'єктно-реляційні БД. В цих моделях припускається застосування багатозначних полів – полів, які складаються з підзначень. Ці БД дозволяють забезпечити високу наглядність представлення інформації і підвищити ефективність її обробки. До недоліків об'єктно-реляційних моделей можна віднести складність рішення забезпечення цілісності і несуперечливості даних.
На початку 90-х років почало збільшуватися значення інформаційного забезпечення систем підтримки прийняття рішень. Це привело до необхідності створення багатомірних СУБД і на їх основі розробки інформаційних сховищ. Ці системи використовують історичну інформацію, яка представляється в агрегованому вигляді. На основі цієї інформації виконується аналітична обробка, прогнозування даних, а також інтелектуальний аналіз даних.
В цей час також велика увага приділялася розвитку розподілених систем. Успіхи в розробці комп'ютерних мереж стимулювали дослідження в технологіях розподілених БД, були розроблені архітектурні концепції клієнт – сервер.
Одним з найбільших досягнень 90-х років в області інформаційних технологій стало створення відкритої глобальної розподіленої неоднорідної гіпермедійної інформаційної системи, яка використовує комунікаційну мережу Internet. Ця система отримала назву WWW (Web). З самого початку виконувались спроби інтегрувати системи БД у Web. Одним з напрямів роботи є інтеграція структурованих даних БД і слабо структурованих даних Web, проводяться роботи зі створення БД на мові XML.
У даний час в багатьох комп'ютерних компаніях здійснюються роботи зі створення цифрових бібліотек − інформаційних систем, які призначені для зберігання, пошуку, обробки, аналізу і розповсюдження інформаційних ресурсів різної природи – структурованих і слабо структурованих даних, мультимедійної інформації, повнотекстових документів. Для створення таких систем використовуються Web-технології, розробляються методи інтеграції неоднорідних ресурсів, розпізнавання і пошуку інформаційних ресурсів.
Банк даних – це система спеціальним чином організованих даних ( баз даних), програмних, мовних, технічних, організаційно-методичних засобів призначених для підтримки інформаційної моделі предметної області з метою забезпечення
інформаційних потреб користувачів (рис. ).
База даних – пойменована сукупність взаємозв'язаних даних, які знаходяться під управлінням СУБД. В БД зберігаються дані, логічно пов'язані між собою. До головних властивостей БД належать такі:
− цілісність означає, що в будь-який момент часу відомості в БД повинні бути несуперечливі;
− безпека означає, що виконується захист даних від санкціонованого і несанкціонованого доступу;
− відновленість означає можливість відновлення БД після збоїв роботи системи.
Система управління базами даних (СУБД) – сукупність мовних і програмних засобів, які призначені для створення, ведення і сумісного використання БД багатьма користувачами. До головних функцій СУБД належать такі:
− управління даними у зовнішній пам'яті і буферами оперативної пам'яті;
− управління транзакціми і паралельним доступом;
− відновлення БД;
− підтримка мов БД;
− контроль доступу до даних;
− підтримка цілісності даних;
− підтримка незалежності даних;
− підтримка обміну даними.
Склад БД містить не тільки дані, що зберігаються, але і опис БД. Опис БД належить до метаінформації, тобто інформації про інформацію. Опис БД часто називають схемою.
Централізоване сховище метаінформації називається словником даних.
Словник даних (каталог даних) – використовується для централізованого накопичення і опису ресурсів даних. Словник даних відповідає за визначення всіх елементів даних:
− імена, типи і розміри елементів даних;
− імена зв'язків;
− обмеження даних по підтримці цілісності;
− схеми БД (зовнішня, концептуальна і внутрішня), а також відображення між ними;
− імена користувачів і їх права доступу до даних;
− статистична інформація.
Програмні засоби БД включають в свій склад ядро СУБД, транслятори, утіліти, прикладні програми.
Мовні засоби поділяються на мови опису даних (МОД) і мови маніпулювання даними ( ММД). МОД призначені для опису схеми БД або її частини. З її допомогою виконується опис типів даних, їх структур і зв'язків між собою. Відповідно до отриманого опису СУБД знаходить в програмі необхідні дані, перетворює їх і передає в прикладну програму. ММД виконує функції вибірки з БД даних за певними умовами, зміну даних, додавання даних, вилучення даних і т.ін. ММД розділяються:
· на процедурні;
· непроцедурні (декларативні).
При користуванні процедурними мовами треба вказати, які дії і над якими об'єктами необхідно виконати, щоб отримати результат. У непроцедурних мовах вказується, що треба отримати у відповідь, а не як цього досягти.
Процедурні мови|язики| можуть розрізнятися по основних інформаційних одиницях, якими вони маніпулюють. Це можуть бути:
· мови|язики|, орієнтовані на | обробку даних по записах;
· мови|язики|, орієнтовані на операції над безліччю записів.
Прикладами|зразками| непроцедурних мов|язиків| є мови|язики|, засновані на реляційному численні|обчисленні|. До них відносяться мова|язик| запитів SQL| і таблична мова|язик| QBE|.
За формою вистави розрізняють наступні мовні засоби:
· аналітичні;
· табличні;
· графічні.
В рамках|у рамках| однієї СУБД можуть використовуватися мови|язики| різних типів. У багатьох СУБД (dBase|, FoxPro| і ін.) для маніпулювання даними можуть використовуватися:
· таблична мова|язик| запитів типа|типу| QBE|;
· аналітична мова|язик| запитів SQL|;
· процедурна мова|язик| програмування (для dBase| і FoxPro| – мова|язик| xBase|).
Окрім|крім| згаданих мовних засобів ці системи включають генератори екранних форм, звітів і додатків|застосувань|, а також мова|язик| розгалуженої ієрархічної системи «меню», що дозволяє користувачеві вибрати потрібні дії.
Найбільш поширеною мовою|язиком| є SQL| (Structured| Query| Language|), що надає засоби|кошти| обробки запитів і функції по створенню|створінню|, оновленню і управлінню доступом. SQL| сполучає|з'єднує| в собі ЯОД і ЯМД. Він не є повноцінною мовою|язиком| програмування. Для доступу до БД з|із| прикладних програм SQL-выражения| вбудовуються в конструкції базової мови|язика|.
Адміністратор даних – людина, яка відповідає за управління даними (планування БД, розробку і супроводження стандартів, прикладних алгоритмів і ділових процедур), а також за концептуальне і логічне проектування БД.
Адміністратор БД – людина, яка відповідає за фізичну реалізацію БД ( фізичне проектування і втілення проекту), за забезпечення безпеки і цілісності даних, за супроводження операційної системи, а також за забезпечення максимальної продуктивності застосувань і користувачів.
Адміністратор даних і адміністратор БД виконують функції: управління структурою БД, управління паралельною обробкою, розподіл прав і обов'язків при обробці, забезпечення безпеки БД, відновлення БД, управління СУБД, підтримка репозиторія даних.
Адміністрування даними і БД передбачає управління інформаційними ресурсами, проектування БД, управління реалізацією застосувань, підтримку цілісності даних, захист даних, спостереження за поточною продуктивністю системи, а також реорганізацію БД при необхідності.
Організаційно-методичні засобами СБД є інструкції, методичні і регламентуючі матеріали для користувачів різних категорій. До них же відносяться методики проектування БД.
Переваги і недоліки застосування СУБД наведені в табл. 1.1.
-2-
Компонентами системи баз даних є БД, СУБД і прикладні програми, з якими працюють як розробники, так і користувачі. В СУБД входять такі компоненти (рис.): ядро СУБД, підсистема засобів проектування і підсистема засобів обробки. Ядро СУБД – містить сукупність базових механізмів СУБД, які використовуються при будь-яких варіантах конфігурації системи. Ядро СУБД виконує функцію посередника між підсистемами засобів проектування і обробки і даними. Сучасні БД у більшості представляють користувачу дані у вигляді таблиць. Ядро СУБД отримує запити від інших компонентів в термінах таблиць, стовпців, рядків і перетворює ці запити в команди операційної системи, які виконують запис і читання з фізичних носіїв інформації.
Крім того, ядро СУБД задіяне в управлінні транзакціями, блокуваннях, резервному копіюванні і відновленні. В ядро СУБД входять менеджери буферів, даних, транзакцій, журналів.
Менеджер буферів – призначений для рішення задач ефективної буферізації оперативної пам'яті. Менеджер даних – призначений для управління зовнішньою пам'яттю, забезпечення створення структур для даних, що зберігаються і допоміжних структур (індекси і т.ін.).
Менеджер транзакцій – підтримує механізми фіксації і відкату транзакцій, пов’язаний з менеджером буферів оперативної пам'яті і забезпечує зберігання всієї інформації, яка потрібна після збоїв системи.
Менеджер журналів – забезпечує реєстрацію відомостей про виконання транзакцій, про працюючих користувачів, про виконання застосування, про доступи до різних структур даних і т.ін.
Підсистема засобів проектування являє собою набір інструментів, які спрощують проектування і реалізацію баз даних і їх застосувань. Як правило, цей набір містить засоби для створення таблиць, форм, запитів й звітів. В СУБД є також мови програмування і інтерфейси до них.
Підсистема обробки здійснює обробку компонентів застосування, які створені за допомогою засобів проектування. Застосування БД складається з форм, запитів, звітів, меню і прикладних програм. Форми, запити і звіти можна створювати за допомогою засобів, що постачаються у комплекті з СУБД. Прикладні програми повинні бути написані або на вхідній мові СУБД, або на одній зі стандартних мов, а потім за допомогою
СУБД з'єднані з БД.
Архітектура бази даних.
Для організації роботи з БД необхідно забезпечити незалежність прикладних програм від даних. Це обумовлено тим, що при зміні системи, а також з метою забезпечення ефективного обслуговування користувачів необхідно виконувати роботи щодо зміни методів зберігання даних в БД, шляхів доступу до даних, змінювати структури і формати даних та зв'язки між ними. Якщо не застосовувати спеціальні підходи і при написанні застосувань вводити програмний опис методів доступу, засобів зберігання даних, формати даних, то при будь-якій зміні в БД для перелічених випадків буде необхідно корегувати текст програми користувача, що потребує значних витрат.
Незалежність застосувань від даних забезпечується засобами СУБД. Цей підхід базується на тому, що користувачі застосовуючи БД, не знають внутрішнє представлення даних.
На рис. 2.1 показана трирівнева модель архітектури СУБД, що була запропонована Комітетом планування стандартів і норм SPARC (Standarts Planning and Requirements Committee) Американського національного інституту стандартів ANSI (American National Standarts Institute).
Опис структури даних на будь-якому рівні називається схемою. Існує три різних типи схем БД, які визначаються згідно з рівнями абстракції архітектури СУБД. На самому верхньому рівні є декілька зовнішніх схем, які відповідають різним представленням даних. Цей рівень визначає точку зору на БД окремих застосувань. Кожне застосування бачить і обробляє тільки ті дані, які необхідні цьому застосуванню.
На концептуальному рівні опис БД називається концептуальною схемою. Тут БД представлена в найбільш загальному вигляді, який об'єднує дані, що використовуються всіма застосуваннями, які працюють з БД. Фактично концептуальний рівень відображає модель предметної області, для якої створювалася БД.
На внутрішньому рівні опис БД називається внутрішньою схемою. Тут БД представлена у вигляді безпосередньо даних, що розташовані в файлах, які відповідають фізичній організації БД.
Трьохрівнева архітектура СУБД дозволяє забезпечити незалежність від даних. Це означає, що зміни на нижніх рівнях не впливають на верхні рівні. Розрізняють логічну і фізичну незалежність при роботі з даними. Логічна незалежність від даних означає захищеність зовнішніх схем від змін, що вносяться в концептуальну схему. Зміни концептуальної схеми БД не викликають необхідності в корегуванні існуючих зовнішніх схем для користувачів, і відповідно не викликають змін в застосуваннях, що працюють з цими схемами. Фізична незалежність від даних означає захищеність концептуальної і зовнішніх схем від змін, що вносяться у внутрішню схему. До змін внутрішньої схеми належать використання різних файлових систем або структур даних, різних пристроїв зберігання, модифікація пошукових структур тощо.
Крім трьох названих рівнів абстрагування в БД існує ще один рівень, що передує їм. Цей рівень відображає інформацію про предметну область, а модель цього рівня називається інфологічною моделлю предметної області. Таким чином головними рівнями абстрагування в БД є рівні:
− інфологічний;
− зовнішній;
− концептуальний;
− внутрішній.
Перехід від одного рівня абстрагування до наступного і складає в загальному вигляді процес проектування БД.
Контрольні запитання
1. Дати визначення таких термінів: інформація, інформаційна система, дані, предметна область.
2. Дати визначення бази даних і СУБД.
3. Пояснити, чому база даних є моделлю. Яка існує різниця між реальністю і моделлю реальності?
4. Перелічити основні функції СУБД.
5. Перелічити переваги і недоліки СУБД.
6. Дати визначення словника даних.
7. Назвати основні компоненти системи бази даних і пояснити функцію кожної з них.
8. Перелічити основні етапи розвитку технологій баз даних.
9. Що таке банк даних?
10. Які складові частини містить банк даних?
11. Кого називають адміністратором бази даних?
12. Що таке ядро СУБД?
13. Які підсистеми входять в СУБД?
Дата добавления: 2015-01-13; просмотров: 10867;