Тема 1. 3. Функції систем керування базами даних 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема 1. 3. Функції систем керування базами даних



Системи керування базами даних виконують наступні функції:

I. Керування даними у зовнішній пам’яті. Функції управління даними у зовнішній пам’яті охоплюють створення необхідних структур зовнішньої пам’яті як для безпосереднього збереження даних, так і для службових цілей (наприклад, прискорення доступу до даних шляхом використання індексів), тобто підтримку логічних моделей даних, які в свою чергу визначають фізичну модель представлення даних; В деяких існуючих системах керування базами даних активно використовуються можливості файлових систем, хоча користувачі не повинні знати, чи використовує система керування базами даних файлову структуру чи ні. Існує цілий набір способів організації зовнішньої пам’яті баз даних. Конкретні методи організації зовнішньої пам’яті необхідно вибирати сумісно зі всіма іншими рішеннями. Основна функція керування даними – реалізація типових операцій обробки даних, а саме: збір, реєстрація і перенесення інформації на машинні носії; передача інформації в місця її зберігання і обробки; ввід інформації в ЕОМ, контроль вводу і її компонування в пам’яті комп’ютера; створення і ведення внутрішньомашинної інформаційної бази; обробка інформації на ЕОМ (нагромадження, сортування, корекція, вибір, арифметична і логічна обробка) для розв’язання функціональних задач системи (підсистеми) управління об’єктом.

 

II. Управління буферами оперативної пам’яті. Системи керування базами даних використовують бази даних значних розмірів, які перевищують доступні обсяги оперативної пам’яті. Якщо в цьому випадку при звертанні до будь-якого елемента даних проходить обмін із зовнішньою пам’яттю, тоді швидкість роботи системи визначається швидкістю обміну із зовнішньою пам’яттю. Єдиним способом реального збільшення цієї швидкості є буферизація даних в оперативній пам’яті. І навіть, якщо операційна система проводить загальносистемну буферизацію, цього недостатньо для цілей систем керування базами даних, яка в більшій мірі визначає корисність буферизації для тієї чи іншої частини бази даних. В розвинутих системах керування базами даних підтримується власний набір буферів оперативної пам’яті з конкретними правилами заміни буферів. При управлінні буферами необхідно розробляти і застосовувати узгоджені алгоритми буферизації, журналізації та синхронізації. Існує цілий напрям розвитку систем керування базами даних, орієнтований на постійну наявність всієї бази даних в оперативній пам’яті. Цей напрям ґрунтується на припущенні, що в майбутньому обсяги оперативної пам’яті зростуть, що і дозволить не турбуватися про буферизацію.

 

III. Управління транзакціями. Транзакція - це послідовність операцій над базами даних, що розглядаються системою керування базами даних як єдине ціле, при цьому зміни вносяться не відразу, а відкладаються до закриття транзакції. Якщо транзакція успішно виконується, тоді система керування базами даних фіксує зроблені нею зміни в базі даних, в іншому випадку жодна з цих змін не відображається на базі даних. Поняття транзакції необхідне для підтримки логічної цілісності бази даних (наприклад, необхідність об’єднання елементарних операцій над файлами). Підтримка транзакцій - необхідна умова навіть однокористувацьких систем керування базами даних. Але поняття транзакції набагато важливіше в багатокористувацьких системах керування базами даних. Та властивість, що кожна транзакція починається при цілісному стані бази даних і залишає цей стан цілісним після свого завершення, робить дуже зручним використання транзакції, як одиниці активності користувача по відношенню до бази даних. При відповідному механізмі управлінні транзакцій користувач може відчути себе єдиним користувачем системи керування базами даних. Операції створення та маніпулювання логічними даними (вибір, вставка, обновлення, знищення даних) супроводжуються одночасним відображенням цих операцій над фізичними даними; Крім цього, повинна забезпечується організація, управління (адміністрування) обчислювальним процесом (планування, облік, контроль, аналіз реалізації ходу обчислень) в локальних і глобальних обчислювальних мережах.

 

IV. Журналізація і відновлення баз даних після відмов програмного чи апаратного забезпечення (збоїв). Одна з основних вимог до систем керування управління базами даних полягає в надійному збереженні даних у зовнішній пам’яті. Під надійністю збереження розумітимемо, що система керування базами даних повинна мати змогу відновити останній узгоджений стан бази даних після апаратного чи програмного збою. Підтримка надійного збереження даних вимагає надлишковості при їх збереженні, при чому та частина, що використовується, повинна зберігатися особливо надійно. Найрозповсюдженіший метод підтримання такої на длишковості - це ведення журналу змін бази даних. В усіх випадках притримуються “випереджаючого” запису в журнал (протокол Write Ahead Log). Ця стратегія полягає в тому, що запис про зміну будь-якого об’єкта бази даних повинен попасти у зовнішню пам’ять журналу раніше, ніж він попаде у зовнішню пам’ять основної бази даних. Якщо в системі керування базами даних коректно підтримується протокол WAL, тоді з допомогою журналу можна вирішити всі проблеми відновлення бази даних після збою. Складні проблеми, які виникають у багатокористувацькому режимі з базами даних, називають ще тупиковими ситуаціями (Deadlock). Для відвернення втрат інформації розроблена спеціальна техніка профілактики тупикових ситуацій і відкату (Roll-Back) транзакцій при їх виконанні, тобто забезпечується цілісність та захист даних від некоректних і несанкціонованих дій користувачів та збереження при збоях в роботі обладнання

 

V. Підтримка мов баз даних дозволяє забезпечувати користувачів мовними засобами опису та маніпулювання даними. Для роботи з базами даних використовуються спеціальні мови баз даних. В перших системах керування базами даних підтримувалося декілька спеціалізованих по своїх функціях мов. Мовні засоби використовуються для виконання двох основних функцій:

· для опису представлення бази даних на керованих рівнях архітектури системи (мова опису диних або Sсhema Definision Language);

· для ініціювання виконання операцій маніпулювання даними (мова маніпулювання даними або - або Sсhema Manipulation Language).

 

В сучасних системах керування базами даних звичайно підтримується єдина інтегрована мова, що містить всі необхідні засоби для роботи з базами даних, починаючи від їх створення і закінчуючи базовим користувацьким інтерфейсом. Система обробки даних призначена для інформаційного обслуговування фахівців різних органів управління підприємства, які приймають управлінські рішення.

 

Система керування базами даних надає засоби для здійснення таких операцій.

Визначення даних (зовнішні, внутрішня і концептуальна схеми) та відобра­жень у певний формальний спосіб і реалізація цих визначень у вигляді відпо­відних об'єктів. СКБД має обробляти вказівки мови опису даних (МОД) для опису концептуальної схеми, підмови опису даних (ПМОД) для опису зовніш­ніх схем і мови опису збережених даних (МОЗД) для опису внутрішньої схеми.

Маніпулювання даними. СКБД має сприймати, інтерпретувати й обробляти запити користувачів на вибирання, оновлення і видалення наявних даних або на додавання нових даних до бази. Ці запити мають бути сформульовані мо­вою запитів (МЗ) або мовою маніпулювання даними (ММД).

У більшості наявних систем концептуальна схема насправді є простим об'єднанням усіх окремих зовнішніх схем, доповненим засобами гарантування безпеки даних і прави­лами забезпечення цілісності. Зовнішні схеми підтримуються за допомогою так званих віртуальних таблиць. Щодо внутрішнього рівня, то він, як правило, під­тримується різноманітними механізмами опису структур зберігання даних і ме­тодів доступу до них.

У сучасних СКБД зазвичай підтримується єдина інтегрована мова, що містить усі необхідні засоби для роботи з БД, починаючи від її створення, і забезпечує ба­зовий, призначений для користувача, інтерфейс баз даних. Стандартною мовою найпоширеніших на сьогодні реляційних СКБД є мова SQL (Structured Query Language - мова структурованих запитів).


Розділ 2. Моделі даних

Тема 2.1. Поняття про моделювання даних

Дані та їхня семантика

Слово «дані» походить від латинського «datum» — факт, проте дані не завжди від­повідають конкретним чи навіть реальним фактам. Іноді вони неточні або опису­ють те, чого насправді не існує. Даними ми вважатимемо опис будь-якого явища (чи ідеї), що викликає зацікавленість через певні потреби. З даними нерозривно по­в'язана їхня інтерпретація (або семантика), тобто той зміст, який їм приписується.

Дані описуються тією чи іншою мовою і фіксуються на певному носії (скажі­мо, папері). Зазвичай дані (факти) та їхня семантична інтерпретація фіксуються спільно. Проте в деяких випадках дані й інтерпретація розділяються. Так, у зве­деній статистичній таблиці зверху, в її шапці, міститься інформація стосовно того, чим є дані (заголовок таблиці, описова інформація, назви стовпців тощо), а ниж­че розташовуються власне рядки чисел.

Застосування комп'ютерів для введення й обробки даних сприяло ще більшо­му розділенню даних та їхньої інтерпретації. Оскільки комп'ютери оперують да­ними як такими, велика частина інтерпретуючої інформації взагалі явно не фік­сується. Програма одержує певні вхідні дані, обробляє їх і видає результат у вигля­ді сукупності вихідних даних.

З розвитком обчислювальної техніки з'явилася можливість фіксувати за допо­могою комп'ютерів семантику даних, тобто закладати інтерпретацію в програми, що оперують даними. Проте за умов спільного використання даних різноманіт­ними прикладними програмами цей підхід можна застосовувати лише частково. Інакше процес написання програм, які містять схожі, хоча й не ідентичні механіз­ми інтерпретації, стає неефективним. У подібній ситуації доцільно зв'язувати дані з механізмами інтерпретації, що має забезпечувати уніфікованість подання семан­тичної інформації. У результаті змінюється роль даних: їх уже не можна розгля­дати лише як сукупність бітів, вони отримують певне семантичне навантаження.

Засоби інтерпретації мають бути гнучкими, аби разом з незмінними парамет­рами даних відображувати й аспекти їхньої еволюції. Цього досягають двома способами. По-перше, можна відтворювати різні погляди на одні й ті самі дані. На­приклад, розглядати певну особу з точки зору кадрової системи як службовця, з погляду виробничих інтересів — як виконавця робіт, а з боку медичного обслу­говування — як пацієнта. По-друге, різні дані можна подавати одноманітно. Так, адміністратори, клерки, агенти, секретарі незалежно від роду своєї діяльності мо­жуть розглядатися в кадровій системі як службовці.

Моделювання даних

Існує багато типів моделей — фізичні, математичні, економічні тощо, які від­ображують різні аспекти реального світу. Модель даних відображує уявлення про реальний світ. Проте важливо, аби обсяг знань і семантика даних, відтворені в мо­делі, були адекватні способу використання даних. Вважатимемо, що модель даних — це сукупність структури даних, операцій над ними (операції маніпулювання да­ними) та обмежень цілісності. Іншими словами, модель визначає, в який спосіб відбувається об'єднання даних у структури різної складності, які існують обме­ження на значення даних і як здійснюється оперування цими даними.

Основою для будь-якої структури даних є відображення елементарної одини­ці даних у вигляді такої трійки: <об'єкт, властивість об'єкта, значення власти­вості Сукупність взаємопов'язаних між собою елементарних одиниць даних може відображуватися різноманітними способами, що приводить до формування різних структур, а відтак — різних моделей даних. Моделі даних поділяються на два класи: сильно та слабко типізовані.

У сильно типізованих моделях усі дані мають належати до певної категорії, або типу. Якщо дані не підпадають під жодну з категорій, їх потрібно типізувати штучно. Деякі моделі будуються у такий спосіб, що категорії визначаються напе­ред і не можуть змінюватися динамічно. У цьому випадку модельований світ начеб­то вміщується в гамівну сорочку. Наприклад, категорія «службовець» — строго фіксована, й усі її об'єкти повинні мати однакові властивості та структуру.

Сильно типізовані моделі мають значні переваги, бо дають змогу побудувати абстракції властивостей даних і дослідити їх у термінах категорій. Більшість мо­делей, що використовуються в автоматизованих системах, зокрема й базах даних, належать до сильно типізованих. (Це стосується й усіх моделей даних, що розгля­даються далі.)

Для слабко типізованих моделей належність даних до тієї чи іншої категорії не має жодного значення. Категорії використовуються настільки, наскільки це до­цільно в кожному конкретному випадку. Окремі дані можуть існувати як неза­лежно, так і у зв'язку з іншими. Інформація про категорії (якщо вони використо­вуються) розглядається як додаткова.

На відміну від сильно типізованих моделей, слабко типізовані забезпечують інтеграцію даних і категорій. Найкращі можливості такої інтеграції надаються численням предикатів, яке у багатьох моделях даних використовується для зоб­раження знань, що не підтримуються базовими засобами моделювання.

Відомі три класичні моделі баз даних: ієрархічна, мережна та реляційна.



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 154; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.97.248 (0.011 с.)