Бази даних та інформаційні системи
База даних (англ. database) – сукупність даних, організованих відповідно до концепції, яка описує характеристику цих даних і взаємозв'язки між їх елементами; ця сукупність підтримує щонайменше одну з областей застосування (за стандартом ISO/IEC 2382:2015). В загальному випадку база даних містить схеми, таблиці, подання, збережені процедури та інші об'єкти. Дані у базі організовують відповідно до моделі організації даних. Таким чином, сучасна база даних, крім саме даних, містить їх опис та може містити засоби для їх обробки.
В загальному випадку базою даних можна вважати будь-який впорядкований набір даних. Наприклад, паперову картотеку з формулярами про працівників підприємства у відділі кадрів. Але дана стаття зосереджена на використанні баз даних в інформаційних системах. На даний час застосунки для роботи з базами даних є одними з найпоширеніших прикладних програм.
Зміст
Історія розвитку
- 1960-ті рр. розроблення перших БД. CODASYL — мережева модель даних та одночасно незалежне розроблення ієрархічної БД фірмою North American Rockwell, яка пізніше взята за основу IMS — власної розробки IBM.
- 1970-ті рр. наукове обґрунтування Едгаром Ф. Коддом основ реляційної моделі, котра на початку зацікавила лише наукові кола. Уперше цю модель було використано у БД Ingres (Берклі) та System R (IBM), що були лише дослідними прототипами, анонсованими протягом 1976 року.
- 1980-ті рр. поява перших комерційних версій реляційних БД Oracle та DB2. Реляційні БД починають успішно витісняти мережеві та ієрархічні. Дослідження децентралізованих (розподілених) систем БД, проте вони не відіграють особливої ролі на ринку БД.
- 1990-ті рр. увага науковців спрямовується на об'єктно-орієнтовані БД, які знайшли застосування в першу чергу в тих галузях, де використовуються комплексні дані: інженерні, мультимедійні БД.
- 2000-ні рр. головним нововведенням є підтримка та застосування XML у БД. Розробники комерційних БД, які панували на ринку у 1990-их рр., отримують все більшу конкуренцію з боку руху відкритого програмного забезпечення. Реакцією на це стає поява безкоштовних версій комерційних БД.
Системи керування базами даних (СКБД)
У сучасних інформаційних системах для забезпечення роботи з базами даних використовують системи керування базами даних (СКБД). Система керування базами даних — це система, заснована на програмних та технічних засобах, яка забезпечує визначення, створення, маніпулювання, контроль, керування та використання баз даних (за стандартом ISO/IEC 2382:2015). Застосунки для роботи з базою даних можуть бути частиною СКБД або автономними. Найпопулярнішими СКБД є MySQL, PostgreSQL, Microsoft SQL Server, Oracle, Sybase, Interbase, Firebird та IBM DB2. СКБД дозволяють ефективно працювати з базами даних, обсяг яких робить неможливим їх ручне опрацювання.
Через тісний зв'язок баз даних з СКБД під терміном «база даних» інколи необґрунтовано та неточно мають на увазі систему керування базами даних. Але варто розрізняти базу даних — сховище даних, та СКБД]] — засоби для роботи з базою даних. СКБД з інформаційної системи може бути видалена, але база даних продовжить існувати. І навпаки: СКБД може функціонувати без жодної бази даних.
В загальному базу даних неможливо просто перемістити з однієї СКБД до іншої. Але СКБД використовують стандарти (SQL, ODBC, JDBC), які уніфікують ряд операцій по роботі з даними і дозволяють різним застосункам працювати з базами даних різних СКБД. СКБД часто класифікують за моделлю організації даних. Найвживаніші системи керування базами даних використовують реляційну модель, у якій дані подають у виді таблиць. Для кінцевого користувача (та прикладних програм) робота з базою даних напряму неможлива. Всі маніпуляції над даними здійснюють через спеціальні запити, які надсилають до СКБД. Система керування базами даних опрацьовує їх і повертає результат. Безпосередньо з базою даних працює виключно СКБД.
Сучасні СКБД забезпечують функції щодо керування даними, які можна поділити на такі групи:
- Оголошення даних — створення, зміна та видалення визначень, які описують організацію даних.
- Модифікація даних — додавання даних, їх редагування та видалення.
- Отримання даних — надання даних за запитом застосунку у формі, яка дозволяє їх безпосереднє використання. Дані можуть надаватись або у формі, в якій вони зберігаються у базі даних, або в іншій формі (наприклад, через поєднання різних даних).
- Адміністрування даних — реєстрування та відслідковування дій користувачів, дотримання безпеки роботи з даними, забезпечення надійності та цілісності даних, моніторинг продуктивності, резервне копіювання та відновлення даних тощо.
Архітектура СКБД
Архітектура «файл-сервер»
Ця архітектура передбачає виділення однієї з машин мережі як головної (сервер). На такій машині зберігається спільна централізована БД. Усі інші машини мережі виконують функції робочих станцій, за допомогою яких підтримується доступ користувацької системи до бази даних. Файли бази даних відповідно до призначених для користувача запитів передаються на робочі станції, де в основному і проводиться обробка даних. При великій інтенсивності доступу до одних і тих же даних продуктивність інформаційної системи різко падає. Користувачі також можуть створювати на робочих станціях локальні БД, які використовуються ними монопольно.
Архітектура «клієнт-сервер»
У сучасних мережевих інформаційних системах для роботи із загальною базою даних використовують архітектуру «клієнт-сервер». При цьому в мережі розміщують сервер баз даних. Ним виступає комп'ютер (або комп'ютери), який містить бази даних, СКБД та пов'язане з ними програмне забезпечення, і налаштований для надання користувачам інформаційної системи доступу до бази даних. Клієнти, які працюють із даними (вони можуть бути розташовані на різних комп'ютерах мережі), надсилають відповідні запити серверу. Сервер їх отримує, опрацьовує, та надсилає відповідь клієнту. Сучасні СКБД (MySQL, PostgreSQL, Microsoft SQL Server та інші) працюють відповідно до цієї архітектури. Сервер баз даних, як правило, є достатньо потужною багатопроцесорною системою, яка використовує масиви дисків RAID для підвищення надійності зберігання даних. Використання дискових масивів RAID дозволяє відновити дані, навіть якщо один з дисків вийшов з ладу.
Реалізації СКБД
Комерційні СКБД
- Microsoft SQL Server
- Oracle
- DB2
- Interbase
- Informix
- Sybase
- Дінай
СКБД з відкритим кодом
- MySQL
- PostgreSQL
- Firebird
- SQLite
Сфери використання баз даних
Первинним призначенням бази даних є зберігання масивів даних. Але їх широко використовують і для збереження адміністративної інформації та спеціалізованих даних, наприклад, для інженерних даних чи для економічних моделей. Прикладами використання баз даних можуть бути:
- автоматизовані системи обліку ;
- реєстри та каталоги;
- геоінформаційні системи;
- лінгвістичні бази даних, тобто машинні словники різного типу і призначення;
- бази даних транспортних систем;
- системи керування вмістом Інтернет-сайтів, які зберігають у базах даних інформацію про web-сторінки сайту (прикладом можуть бути широко вживані системи керування вмістом Joomla! та WordPress).
Види баз даних
Бази даних класифікують за різними критеріями. За моделлю організації даних розрізняють такі бази даних:
- Ієрархічна. Ієрархічна база даних може бути представлена як дерево, що складається з об'єктів різних рівнів. Між об'єктами існують зв'язки типу «предок-нащадок». При цьому можлива ситуація, коли об'єкт не має нащадків або має їх декілька, тоді як у об'єкта-нащадка обов'язково тільки один предок.
- Мережна. Така база даних подібна до ієрархічної, за винятком того, що кожен об'єкт може мати більше одного предка.
- Реляційна. Реляційна база даних зберігає дані у вигляді таблиць. Найвживаніші СКБД використовують реляційну модель даних.
- Об'єктно-орієнтована. У базі даних цього виду дані оформляють у вигляді моделей об'єктів.
За розміщенням даних виділяють такі види баз:
- Локальна, або централізована. Така база даних підтримується на одному комп'ютері.
- Розподілена. Частини такої бази даних розміщують на різних комп'ютерах мережі.
Структуровані та неструктуровані БД
Структуровані БД використовують структури даних, тобто структурований опис типу фактів за допомогою схеми даних, більш відомої як модель даних. Модель даних описує об'єкти та взаємовідношення між ними. Існує декілька моделей (чи типів) баз даних, основні: ієрархічна, мережна та реляційна.
До неструктурованих БД належать повнотекстові бази даних, які містять неструктуровані тексти статей чи книг у формі, що дозволяє здійснювати швидкий пошук (наприклад, як ВікіЦДПУ).
Мови для роботи з базами даних
При роботі з базами даних використовують мови спеціального призначення:
- Мова визначення даних (Data definition language, DDL) — це мова, яка описує дані та структури даних, а також визначає взаємозв'язки між ними (за стандартом ISO/IEC 2382:2015).
- Мова маніпулювання даними (Data manipulation language, DML) — це мова, яку підтримує СКБД і яка забезпечує виконання операцій отримання, додавання, зміни та видалення даних (за стандартом ISO/IEC 2382:2015).
- Мова запитів (Query language) — це мова для користувачів, яка забезпечує отримання та оброблення даних у базі даних (за стандартом ISO/IEC 2382:2015)..
При роботі з реляційними базами даних використовують мову структурних запитів SQL (Structured Query Language), яка поєднує всі три функції (визначення даних, модифікація даних та формування вибірок). Мова SQL стандартизована ANSI та ISO: починаючи з 1986 року, регулярно виходять поновлені стандарти. Слід зауважити, що кожна сучасна СКБД (MySQL, PostgreSQL, Microsoft SQL Server та інші) підтримує свою власну видозміну SQL, так що SQL-запит для однієї СКБД може не працювати в середовищі іншої. Але головні принципи формування SQL-запитів та їх структура однакові та відповідають стандартам ANSI/ISO. При необхідності виконання якоїсь операції над даними клієнт формує лінгвістичну конструкцію мовою SQL, яку називають SQL-запитом, і надсилає її до СКБД. СКБД опрацьовує запит, і результат його виконання (наприклад, вибірку даних) повертає клієнту. Мова, якою оперує СКБД, також може містити засоби для
- конфігурування СКБД,
- модифікації, форматування даних та розрахунків,
- формування обмежень даних.
Див. також
- Система керування базами даних
- Реляційна алгебра
- Реляційна модель даних
- Нормалізація баз даних
- Метадані
- Структура даних
- Тип даних
- Семантична оптимізація запитів СУБД
Література
- База даних — Вікіпедія
- Організація баз даних: практичний курс : Навч. посіб. для студ. / А. Ю. Берко, О. М. Верес; Нац. ун-т "Львів. політехніка". - Л., 2003. - 149 c. - Бібліогр.: 8 назв.