Служби підтримки цілісності даних 


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



ЗНАЕТЕ ЛИ ВЫ?

Служби підтримки цілісності даних



СКБД повинна мати інструменти контролю за тим, щоб даніі їх зміни відповідали заданим правилам.

Цілісність бази даних означає коректність і несуперечність збережених даних. Вона може розглядатися як ще один тип захисту бази даних. Крім того, дане питання зв'язане з забезпеченням безпеки, тому воно має більш широкий зміст, оскільки цілісність зв'язана з якістюсамих даних. Цілісність звичайно виражається у видіобмежень чи правил збереження несуперечності даних, що не повинні порушуватися в базі. Наприклад, можна вказати, що співробітник не може відповідати одночасно більшніж за десять об'єктів нерухомості. У цьому випадку при спробі закріпити черговий об'єкт нерухомості за деяким співробітником, СКБД повинна перевірити, чи не перевищений встановлений ліміт, і у випадку виявлення подібного перевищення заборонити закріплення нового об'єкта за даним співробітником.

Розумно було б припустити, що крім перерахованих вищевосьми сервісів, СКБД повинна підтримувати ще два сервіси.

Служби підтримки незалежності від даних

СКБД повинна мати інструменти підтримки незалежності програм від фактичної структури бази даних. Поняття незалежності від даних уже розглядалося в розділі 2.1.5, "Незалежність від даних". Звичайно вона досягається за рахунок реалізації механізму підтримки чи представлень підсхем. Фізична незалежність від даних досягається досить просто, тому що звичайно мається кілька типів припустимих змін фізичних характеристик бази даних, що ніяк не впливають на представлення. Однак домогтися повної логічної незалежності від даних складніше. Як правило, система легко адаптується до додавання нового об'єкта, чи атрибута зв'язку, але не доїх видалення. У деяких системах узагалі забороняється вносити будь-як зміни у вже існуючі компоненти логічної схеми.

Допоміжні служби

СКБД повинна надавати деякий набір різних допоміжних служб. Допоміжні утиліти звичайно призначені для надання допомоги АБД в ефективному адмініструванні бази даних. Одні утиліти працюють на зовнішньому рівні, а тому вони, у принципі, можуть бути створені самими АБД, тоді як інші функціонують на внутрішньому рівні системи і тому повинні бути надані самим розроблювачем СКБД. Нижче приводяться деякі приклади подібних утиліт.

· Утиліти імпортування, призначені для завантаження бази данихізплоских файлів, а також утиліти експортування, що служать для вивантаження бази даних у плоскі файли.

· Засобу моніторингу, призначені для відстеження характеристик функціонування і використання бази даних.

· Програми статистичного аналізу, що дозволяють оцінити продуктивність чи ступінь використання бази даних.

· Інструменти реорганізації індексів, призначені для перебудови індексів і обробки випадківїх переповнення.

· Інструменти зборки сміття і перерозподілу пам'яті для фізичного усунення вилучених записів із запам'ятовуючих пристроїв, об'єднання звільненого простору і перерозподілу пам'яті в разі потреби.

Компоненти СКБД

СКБД є дуже складним видом програмного забезпечення, призначеного для надання перерахованих у попередньому розділі сервісів. Компонентну структуру СКБД практично неможливо узагальнити, оскільки вона дуже сильно розрізняється в різних системах. Однак при вивченні систем баз даних корисно уявляти собі її узагальнену структуру у виді набору декількох компонентів і визначених зв'язків між ними. У цьому розділі ми розглянемо одну з можливих архітектур СКБД.

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

 
 

Основні програмні компоненти середовища СКБД представлені на мал.2.6. На цій схемі також показано, як СКБД взаємодіє з іншими програмними компонентами, наприклад з такими, як користувальницькі запити і методи доступу (тобто методи керування файлами, використовувані при збереженні і витягу записів з даними).

На мал. 2.6 показані наступні програмні компоненти середовища СКБД.

· Процесор запитів. Це основний компонент СКБД, що перетворить запити в послідовність низькорівневих інструкцій для контролера бази даних.

· Контролер бази. даних. Цей компонент взаємодіє з запущеними користувачами прикладними програмами і запитами. Контролер бази даних приймає запити і перевіряє зовнішні і концептуальні схеми для визначення тих концептуальних записів, що необхідні для задоволення вимог запиту. Потім контролер бази даних викликає контролер файлів для виконання запиту, що надійшов. Компоненти контролера бази даних показані на мал. 2.7.

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

· Препроцесор мови DML. Цей модуль перетворить впроваджені в прикладні програми DML оператори у виклик стандартних функцій базової мови. Для генерації відповідного коду препроцесор мови DML повинний взаємодіяти з процесором запитів.

· Компілятор мови DDL. Компілятор мови DDL перетворить DDL команди в набір таблиць, що містять мета-дані. Потім ці таблиці зберігаються у системному каталозі, а керуюча інформація - у заголовках файлів з даними.

· Контролер словника. Контролер словника керує доступом до системного каталогу і забезпечує роботу зним. Системний каталог доступний більшості компонентів СКБД.


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

Контроль прав доступу. Цей модуль перевіряє наявність у даного користувача повноважень для виконання викликаної операції.

Процесор команд. Після перевірки повноважень користувача для виконання викликаної операції керування передається процесору команд.

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

Оптимізатор запитів. Цей модуль визначає оптимальну стратегію виконання запиту.

Контролер транзакцій. Цей модуль здійснює необхідну обробку операцій, що надходять у процесі виконання транзакцій.

Планувальник. Цей модуль відповідає за безконфліктне виконання рівнобіжних операцій з базою даних. Він керує відносним порядком виконання операцій, викликаних в окремих транзакціях.

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

Контролер буферів. Цей модуль відповідає за перенесення даних між оперативною пам'яттю і вторинним запам'ятовуючим пристроєм - наприклад, твердим диском чи магнітною стрічкою. Контролер відновлення і контролер буферів іноді (у сукупності) називають контролером даних.

Для втілення бази даних на фізичному рівні крім перерахованих вище модулів потрібні деякі інші структури даних. Доних відносяться файли даних і індексів, а також системний каталог. Групою DAFTG (Database Architecture Framework Task Group) була почата спроба стандартизації СКБД, і в 1986 році нею була запропонована деяка еталонна модель. Призначення еталонної моделі полягає у визначенні концептуальних рамок для поділу спроб стандартизації, що починаються, на більш керовані частини і указівки взаємозв'язківміж ними на дуже широкому рівні.



Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 383; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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