Лекція №3 - Основи управління базами даних, НУДПСУ
« Назад Лекція №3 Основи управління базами даних План
3.1. Основні поняття баз даних3.1.1. Інформаційна модель предметної областіКожна прикладна задача обробки інформації пов’язана з тією чи іншою частиною реального світу, яку називають предметною областю. Предметна область зазвичай розглядається як деяка сукупність реальних об’єктів (сутностей), кожний з яких має певний набір властивостей. Для відображення предметної області будують інформаційну модель, яка містить описи інформаційних сутностей (об’єктів) та тих їх властивостей (атрибутів), що є значимими для вирішення задачі. Наприклад, для автоматизації обліку співробітників деякого відділу необхідно здійснювати аналіз таких даних, як вік співробітника, його заробітна плата, стаж роботи, посада і т.і. В цьому випадку інформаційним об’єктом є співробітник, а дані про співробітника представляються як властивості цього об’єкта. При цьому окремого співробітника розглядають як екземпляр інформаційного об’єкта „Співробітник”. У повній інформаційній моделі кожний екземпляр інформаційного об’єкта є унікальним, тобто набір його властивостей відрізняється принаймні одним значенням від усіх інших екземплярів цього об’єкта. Тому кожному екземпляру надають унікальний ідентифікатор, який дозволяє здійснювати посилання на нього. Наприклад, податковий ідентифікаційний код виступає однозначним ідентифікатором екземпляра об’єкта „платник податків”, табельний номер співробітника - однозначним ідентифікатором екземпляра об’єкта „співробітник фірми”, інвентарний номер обладнання - однозначним ідентифікатором екземпляра об’єкта „обладнання” і т.і. У складних предметних областях інформаційні об’єкти є взаємопов’язаними. Наприклад, співробітник фірми є платником податків, обладнання є власністю деякої фірми і т.і. Тому для комплексного аналізу предметної області необхідно мати засоби представлення та аналізу цих зв’язків. Загальний опис всіх інформаційних об’єктів та їх взаємозв’язків називається зовнішньою (інфологічною) моделлю предметної області. Створення інфологічної моделі предметної області є важливим етапом, який передує проектуванню довільної інформаційної системи [1, 2]. 3.1.2. Бази данихВся інформація про предметну область, яка специфікована у її інформаційній моделі, має бути збережена у пам’яті комп’ютера за допомогою деяких універсальних механізмів. Така сукупність даних, яка може бути динамічно поновлена у відповідності зі змінами стану предметної області, и отримала назву бази даних База даних – це сукупність даних, які організовані згідно деяких загальних правил опису, збереження та маніпулювання даними, які забезпечують незалежність даних від прикладних програм. Бази даних відрізняються від інших наборів даних такими властивостями:
Колективний характер використання даних в базі передбачає існування деякої особи або групи осіб (адміністраторів), на яких покладаються функції адміністрування даних, що зберігаються в базі, згідно потреб усіх користувачів цієї бази. Розрізняють централізовані та розподілені бази даних. Централізована база даних зберігається у пам’яті одного комп’ютера, який отримав назву сервера бази даних. Цей сервер, як правило, є вузлом комп’ютерної мережі (локальної чи глобальної) і тому стає можливим спільний доступ до цієї бази з боку користувачів, що працюють на інших комп’ютерах у мережі [3]. Але використання комп’ютерних мереж дозволило разом з розподіленим (у часі та просторі) доступом до бази, розподіляти по мережі також і самі дані. Розподілена база даних складається з декількох локальних частин, що зберігаються у різних вузлах мережі. В цьому випадку виникає проблема об’єднання (погодження) локальних баз даних в єдину розподілену базу даних так, щоб дані, що знаходяться в одному вузлі були погоджені з даними, що зберігаються в іншому вузлі, у тих випадках, коли вони відносяться до одного реального об’єкта. Ця проблема вирішується за допомогою механізму реплікації, коли періодично комп’ютери в мережі обмінюються даними, щоб привести їх до погодженого стану. 3.1.3. Системи управління базами данихСучасна технологія роботи з базами даних передбачає, що доступ користувачів та прикладних програм до бази даних здійснюється за допомогою спеціальних засобів, які називають системою управління базою даних (СУБД). Системою управління базою даних називається комплекс програм, що призначені для створення, обробки та управління даними в базі, забезпечення ефективного доступу до неї з боку всіх користувачів, а також для підтримки даних в актуальному стані. СУБД є складним програмним комплексом, який забезпечує виконання функцій, пов’язаних зі створенням та експлуатацією бази даних, а саме:
Таким чином, СУБД відокремлює логічну модель даних (тобто представлення про них з точки зору користувача) від фізичних способів їх збереження в пам’яті комп’ютера, що забезпечує незалежність методів використання даних від способів їх збереження [2, 3]. Під захистом даних в базі розуміють, перш за все, захист від несанкціонованого доступу та управління повноваженнями користувачів на доступ до тих чи інших частин бази даних. Під цілісністю (погодженістю) розуміють захист даних від некоректних оновлень, після яких дані стають суперечливими та не відображають реальний стан у предметній області. Часто некоректні оновлення даних виникають при одночасному доступі користувачів до одних і тих частин бази даних. 3.1.4. Моделі данихКористувачі бази даних працюють з її інформаційним та змістовним наповненням, їх не цікавлять подробиці фізичного збереження даних на магнітних носіях. Тому розрізняють три рівня абстракції для представлення даних, які зберігаються у базі даних:
Зовнішня модель фактично міститься в інформаційній моделі предметної області і має відображати предметну область в термінах, які зрозумілі користувачеві. Зазвичай, це інформація про факти, явища, події, предмети, про їх властивості та взаємозв’язки, що представлена природною мовою. Для автоматизованої обробки інформаційні об’єкти, сутності та атрибути зовнішньої моделі мають бути представлені у пам’яті комп’ютера. Внутрішнє фізичне представлення даних (фізична модель даних) буде незрозумілим для користувача. Тому використовують логічну модель даних - формальний опис предметної області спеціальної мовою СУБД, який допускає перетворення у внутрішнє фізичне представлення для подальшого збереження на магнітних носіях. Логічна (даталогічна) модель даних є проміжною ланкою (мостом) між зовнішньою моделлю та фізичною схемою збереження даних. Саме використання трьохрівневого представлення даних: зовнішня, логічна та фізична модель даних (див. рис.3.1), дозволяє відокремити внутрішнє представлення даних від зовнішнього, а значить забезпечити незалежність способів збереження даних від програм, що їх використовують [2, 3]. Протягом років становлення та розвитку інформаційних систем використовувались мережеві, ієрархічні та реляційні моделі даних на логічному (концептуальному) рівні [1,2,3]. У кожній з цих моделей використовуються той чи інший формальний апарат: у мереженій моделі – графи, у ієрархічній моделі – деревоподібні структури. Але більшість сучасних СУБД використовують реляційну модель даних, яку і буде розглянуто далі детальніше. Широке використання такого способу представлення даних пояснюється рядом переваг реляційної моделі даних, зокрема ефективність реалізації та простота використання. 3.1.3. Реляційна модель данихНазва цієї моделі походить від англійського слова «relation» (відношення). Відношення представляє собою сукупність векторів, які мають однакову кількість компонент (але різні значення). Якщо такі вектори розташувати послідовно один за одним, то вони утворюють таблицю, яка називається реляційною таблицею [4]. В реляційній моделі предметна область представляється в вигляді сукупності взаємопов’язаних відношень (таблиць), кожне з яких описує деякий клас однотипних об’єктів предметної області. В реляційній таблиці, стовпці називаються атрибутами (полями), оскільки вони характеризують одну із властивостей (аспектів) об’єктів. Список назв всіх стовпців (атрибутів) називається схемою відношення. Наприклад, відношення СТУДЕНТЫ може описуватись такою схемою: СТУДЕНТ = (Номер залікової книжки, Прізвище, Ім’я, По-батькові, Курс, Група, Дата народження). Кожний вектор (кортеж) даних у відношенні, що відповідає одному рядку таблиці, називається записом. Кожний запис (рядок) описує один екземпляр інформаційного об’єкту. Не кожна таблиця є реляційною таблицею. Реляційні таблиці задовольняють деяким умовам (аксіомам), зокрема
З першої умови випливає, що структура реляційної таблиці (схема відношення) однозначно характеризується назвами її стовпців та їх типом даних (число, текст). Із другої умови випливає, що для однозначної ідентифікації рядків таблиці можна використовувати деяку підмножину її атрибутів, яка називається ключем. Ключ – це мінімальний набір атрибутів, по значенням яких можна однозначно ідентифікувати окремий екземпляр об’єкту (рядок в таблиці). Наприклад, студента можна ідентифікувати за прізвищем, але якщо зустрічаються студенти з однаковим прізвищем, то до ключа слід додати як поле прізвище, так і поля Ім’я та По-батькові. Але може статись, що відомі студенти з однаковим прізвищем, ім’ям, по-батькові. Тоді ключ має містити ще і дату народження. Підмножина полів таблиці є ключем тоді і тільки тоді, коли виконуються такі умови:
Первинним або простим ключем (primary key) називається ключ, що складається з одного атрибуту (стовпця), а ключ, що складається з декількох атрибутів, називається складеним. Таким чином, прізвище, ім’я та по-батькові та дата народження студента може бути складеним ключем в таблиці СТУДЕНТ. У той же час, номер залікової книжки можна визначити як первинний ключ у цій таблиці, оскільки цей номер унікальний для кожного студента. У реляційній моделі даних між таблицями встановлюють зв’язки, які відображають взаємозв’язки між відповідними інформаційними об’єктами предметної області. Наприклад, між об’єктом СТУДЕНТ та ІСПИТ існує зв’язок, бо іспит складає конкретний студент. Між таблицями СТУДЕНТ та таблицею ІСПИТ = (Номер залікової книжки, Дисципліна, Оцінка) можна встановити зв’язок за допомогою атрибуту Номер залікової книжки, бо він зустрічається в обох таблицях. Але для першої таблиці СТУДЕНТ поле Номер залікової книжки є первинним ключем, а для другої таблиці не є ключем, бо один студент може складати багато іспитів. У другій таблиці атрибут, за яким встановлено зв’язок, називається зовнішнім ключем. Зв’язок „первинний ключ – зовнішній ключ” породжує зв’язок типу „один до багатьох” між таблицями. Дійсно, в цьому випадку одному рядку (екземпляру) першої таблиці відповідає декілька рядків (екземплярів) другої таблиці. Зокрема, номер залікової книжки дозволяє визначити оцінки за кожною із дисциплін (див. рис.3.2). Якщо зовнішній ключ є одночасно внутрішнім ключем, то зв’язок має тип „один до одного”. В цьому випадку між векторами обох таблиць встановлюється взаємо однозначна відповідність. Таким чином, реляційну базу даних можна визначити так. Реляційною базою даних називається набір взаємопов’язаних таблиць, зв’язки між якими реалізуються у вигляді посилань між однотипними атрибутами цих таблиць. Сукупність зв’язків між таблицями утворюють схему реляційної бази даних. З повагою ІЦ "KURSOVIKS"! |