Основні поняття БД
Активна діяльність щодо пошуку прийнятних способів узагальнення обсягу інформації, що безперервно зростає, призвела до створення на початку 60-х років спеціальних програмних комплексів, які стали називатися "Системи управління базами даних" (СУБД).
Основна особливість СУБД – це наявність процедур для введення і зберігання не тільки самих даних, але й описів їх структури. Файли, забезпечені описом даних, що зберігаються в них, і СУБД, що знаходяться під управлінням, стали називати банки даних, а потім "Бази даних" (БД).
Поняття "база даних" означає сукупність даних, призначених для спільного використання. Розрізняють документальну БД (сукупність текстових документів вільних форматів) і фактографічну БД (сукупність відомостей, що зберігаються в інформаційній системі і організованих відповідно до вимог будь-якого фіксованого набору форматів). Дані, що зберігаються в документальних і фактографічних БД, заносяться в ці сховища, модифікуються і використовуються за допомогою СУБД.
СУБД відноситься до набору засобів програмного забезпечення, створених для роботи з фактографічними даними, структура яких набагато складніша, ніж структура неформатованих текстових документів. Проте існують СУБД, які можуть працювати з різними типами БД (у цих випадках зазвичай домовляються, що до складу СУБД включений текстовий редактор). Існують СУБД, створені спеціально для зберігання і пошуку текстових документів, а також СУБД для зберігання графічних об'єктів (карт, креслень).
Ключовими поняттями БД і СУБД є фізичне і логічне подання даних, незалежність даних, моделі даних.
Фізичні дані, або фізичне подання даних, це дані, які зберігаються в пам'яті комп'ютера на фізичних носіях (магнітних дисках, оптичних дисках і т. ін.).
Дані можуть зберігатися і безпосередньо в оперативній пам'яті, якщо їх небагато або якщо вони повинні використовуватися терміново. Великі обсяги даних зберігаються у вторинній швидкодіючій пам'яті, на пристроях, що запам'ятовують, з прямим доступом, перш за все на дисках. Послідовний доступ до даних магнітних стрічок не забезпечує необхідної швидкості роботи з БД, тому БД на магнітних стрічках застаріли, але їх продовжують використовувати для зберігання архіву БД і дублювання дискової БД. Коли інженери говорять про фізичне подання даних, йдеться про номери дисків, сектори й доріжки дисків, про номери блоків і байтів. Це серйозно ускладнювало б роботу кінцевого користувача БД - економіста, менеджера. Головна перевага СУБД в тому і полягає, що користувач звільняється від розуміння фізичного подання даних і управляє даними на рівні логічного подання.
Логічне подання відповідає фізичному, але оперує звичними для користувача назвами документів, таблиць, стовпців (полів, елементів, атрибутів). На логічному рівні наочно відображаються взаємозв'язки між даними і задаються відношення "суть - зв'язок".
Поняття незалежності даних означає, що сучасні СУБД забезпечують користувачу незалежність від організації фізичних даних.
У традиційних файлових системах немає незалежності даних, що призводить до жорсткості системи і викликає труднощі при внесенні змін у прикладні програми при додаванні нових даних або зміні структури файлу.
Логічно подати дані можна по-різному, у зв'язку з цим велике значення має поняття моделі даних.
Модель даних - це спосіб визначення логічного подання фізичних даних, що зберігаються для певних цілей. Моделлю даних називається також формалізований опис структури одиниць інформації і операцій над ними в інформаційній системі з метою подання основних категорій реального світу - об'єктів, їх зв'язків і властивостей.
У британському тлумачному словнику з обчислювальних систем модель даних (data model) визначається так: "Термін, використаний в різних випадках у зв'язку із зберіганням даних на фізичному або логічному рівні, частіш на першому. Зазвичай йдеться про формально певну структуру, яка використовується для подання даних".
Наведені вище визначення доповнюють один одного. Важливо розуміти, що модель даних - це не самі дані, а дані про дані (метадані), які характеризують принцип організації одиниць інформації і допустимі операції над ними.
Відомі різні типи моделей даних, з яких найбільш поширені реляційна, мережева та ієрархічна. Проте з теоретичної точки зору дві останні моделі є окремими випадками загального реляційного подання. Основою багатьох високопродуктивних СУБД стала реляційна модель даних (суть трьох моделей зображена на рис. 5.1 на прикладі організації взаємопов’язаної порції даних:
СЛУЖБОВЕЦЬ, НАЧАЛЬНИК, ТЕЛЕФОН.
Рис 5.1.Суть трьох моделей даних
В основі реляційного подання даних є проста таблиця, тому далі ми можемо говорити про таблиці і реляційну модель.
Модель даних має три компоненти;
§ структуру даних користувача,
§ допустимі операції з метою визначення нових БД;
§ обмеження для контролю цілісності даних з метою охорони БД і її захисту від некоректного оновлення і обігу.
Наприклад, реляційна модель даних не допускає в таблиці існування двох однакових записів (кортежів). Т. б. обмеження вимагає, щоб кожен кортеж (ланцюг взаємопов'язаних полів) був унікальним примірником. Якщо ж користувач уведе в таблицю два однакові кортежі, то СУБД знайде їх і, принаймні, сповістить користувача про це, а також автоматично запитає, який з примірників необхідно видалити. У СУБД заборона викликана необхідністю коректного пошуку й операцій, пов'язаних з модифікацією даних. Якщо СУБД дозволяє користувачу мати дублікати рядків, то її називають псевдореляційною, підкреслюючи тим самим, що користувачу надається обмежене коло операцій з даними.
До основних термінів БД входить також поняття схеми бази даних. У зарубіжних публікаціях частіше використовують термін "схема", але застосовують також і термін "модель БД". Є небезпека переплутати модель даних з моделлю бази даних, тому краще використовувати термін "схема БД". Модель даних задає для СУБД єдиний принцип опису структури будь-якої одиниці даних, а модель (схема) бази даних дає узагальнене подання структури всіх необхідних одиниць. За допомогою схеми зміст логічної БД робиться більш досяжним і зручним для сприйняття його людиною. Проте неможливо обійтися одним поняттям схеми БД, коли є декілька користувачів, і у кожного з них - свої потреби в даних і своє уявлення про частину використовуваних загальних даних, що зберігаються, наприклад, на сервері.
Схема бази даних відображає співвідношення частин і цілого, тобто уявлень користувачів БД про "власну частину" з глобальним, концептуальним подання БД всієї інформаційної системи.
Це відображено на рис. 5.2.
Наприклад, якщо дані про наявність товарів на складі, що зберігаються в таблиці з ім'ям "С", необхідні трьом користувачам (завідувачу складом, адміністратору магазину і керівнику підприємства), то в узагальненій схемі, так званій концептуальній схемі, файл наявності товарів присутній лише один раз із вказівками про обмеження на допуск до файлу: всі три користувачі мають право читати дані і лише один з них (завідувач складу) має право модифікувати записи у файлі. Концептуальна і зовнішні схеми БД є найважливішими інструментами для адміністратора БД, який адмініструє права кожного користувача БД в інформаційній системі (ІС).
Коло даних окремого користувача, тобто таблиць, з якими він має право працювати, утворює зовнішню схему БД. В ІС існує єдина концептуальна схема і декілька зовнішніх схем БД. Характерним є те, що концептуальна схема не є простим поєднанням зовнішніх схем. Розраховані на велику кількість користувачів дані (ситуація з таблицею "С" на рис. 6.2.2) в концептуальній моделі відображаються одноразово з додатковими обмеженнями на допуск до даних (повноваженнями). Крім того, в концептуальній схемі відображаються логічні взаємозв'язки (відносини) між елементами даних на рівні полів (елементів даних).
Рис 5.2. Ієрархія схем і рівнів баз даних в інформаційних системах
У вітчизняній і зарубіжній літературі, що стосується даних, існує багато синонімів основних понять. Інформаційні об'єкти (товари, склади і т. ін.) називають суттю; властивості об'єктів називають реквізитами, полями, елементами, атрибутами суті; зовнішні схеми називають операційними схемами і даталогічними моделями, а концептуальну схему - концептуальною моделлю або інфологічною моделлю. Поняття логічного і фізичного подання, зовнішньої і концептуальної схем відносять до сфери опису архітектури СУБД, також як і поняття внутрішньої схеми, яка забезпечує відповідність логічної структури зовнішньої моделі і фізичного подання даних на носіях.