Реферат на тему:

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

План

1. Функції СУБД.

1.1. Основні функції СУБД.

1.2. Типова організація сучасної СУБД.

1.3. Принципи організації даних, що лежать в основі і сучасних СУБД.

2. Реляційна модель.

2.1. Загальна характеристика.

3. Сучасні технології СУБД.

Функції СУБД

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

— забезпечувати одержання загальних і/або деталізованих звітів за
підсумками роботи;

— дозволяти легко визначати тенденції зміни найважливіших показників;

— забезпечувати одержання оперативної інформації без істотних затримок;

— виконувати точний і повний аналіз даних.

Структурована інформація в комп’ютерних системах міститься в базах
даних. Ми розглянемо системи, що керують базами даних.

Якщо прикладна інформаційна система спирається на певну систему
керування даними, що має ці властивості, то така система керування
даними є системою управління базами даних (СУБД).

Основні функції СУБД

Безпосереднє управління даними в зовнішній пам’яті

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

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

Управління транзакциями

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

Журналізація

Однією з основних вимог до СУБД є надійність зберігання даних у
зовнішній пам’яті. Під надійністю зберігання мається на увазі те, що
СУБД повинна бути в змозі відновити останній погоджений стан БД після
будь-якого апаратного або програмного збою. Зазвичай розглядаються два
можливі види апаратних збоїв: так звані м’які збої, які можна трактувати
як раптову зупинку роботи комп’ютера (наприклад, аварійне вимикання
живлення), і тверді збої, що характеризуються втратою інформації на
носіях зовнішньої пам’яті. Підтримка надійності зберігання даних у БД
вимагає надмірності зберігання даних, причому та частина даних, що
використовується для відновлення, повинна зберігатися особливо надійно.
Найбільш розповсюдженим методом підтримки такої надлишкової інформації є
ведення журналу змін БД. Журнал — це особлива частина БД, недоступна
користувачам СУБД і підтримувана з особливою старанністю (іноді
підтримуються дві копії журналу, розташовані на різних фізичних дисках),
у яку надходять записи про всі зміни основної частини БД. В усіх
випадках дотримують стратегії «випереджувального» запису в журнал (так
званого протоколу Write Ahead Log — WAL). Найпростіша ситуація
відновлення — індивідуальне відкочування транзакції.

Підтримка мов БД

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

Типова організація сучасної СУБД

Логічно в сучасній реляційній СУБД можна виділити внутрішню частину —
ядро СУБД (часто його називають Data Base Engine), компілятор мови БД
(зазвичай SQL), підсистему підтримки часу виконання, набір утиліт. У
деяких системах ці частини виділяються явно, в інших — ні, але логічно
такий розподіл можна провести у всіх СУБД.

Ядро СУБД відповідає за управління даними в зовнішній пам’яті,
управління буферами оперативної пам’яті, управління транзакціями й
журналізацію.

Відповідно, можна виділити такі компоненти ядра (принаймні, логічно,
хоча в і деяких системах ці компоненти виділяються явно), як менеджер
даних, менеджер буферів, менеджер транзакцій і менеджер журналу. Ядро
СУБД має власний інтерфейс, який недоступний користувачам прямо і
використовується у програмах, зроблених компілятором SQL (або в
підсистемі підтримки виконання таких програм) і утилітах БД. Ядро СУБД є
основною резидентною частиною СУБД. При використанні архітектури
«клієнт-сервер» ядро є основною складовою серверної частини системи.

Основною функцією компілятора мови БД є компіляція операторів мови БД ]
у якусь виконувану програму.

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

Принципи організації даних, що лежать в основі сучасних СУБД

— Сучасні СУБД є об’єктно-орієнтованими і реляційними. Основною одиницею
є об’єкт зі своїми властивостями і зв’язки між об’єктами. СУБД
використовують кілька моделей даних: ієрархічну, мережну (з 1960-х
років) і реляційну (з 1970-х). Основне розходження цих моделей полягає у
представленні взаємозв’язків між об’єктами.

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

Мережна модель даних будується за принципом «головний і підлеглий тип
одночасно», тобто будь-який тип даних одночасно може породжувати кілька
підлеглих типів (бути власником набору) і бути підлеглим для декількох
головних (бути членом набору).

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

Реляційна модель

У реляційній моделі використовуються такі поняття.

? Об’єкт (суть) — елемент якої-небудь системи, інформація про який
зберігається; Об’єкт може бути як реальним (наприклад, людина), так і
абстрактним (наприклад, подія — надходження людини до стаціонару).

? Атрибут — інформаційне відображення властивостей об’єкта. Кожен об’єкт
характеризується набором атрибутів.

? Таблиця — упорядкована структура, що складається з кінцевого набору
однотипних записів.

? Первинний ключ — атрибут (або група атрибутів), що дозволяє однозначно
визначити кожен рядок у таблиці.

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

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

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

? Схема відношення, схема бази даних. Схема відношення — це іменована
множина пар {ім’я атрибута, ім’я домену (або типу, якщо поняття домену
не підтримується)}. Ступінь або «арність» схеми відношення — потужність
цієї множини. Схема БД (у структурному розумінні) — це набір іменованих
схем відношень.

? Кортеж, відношення. Кортеж, що відповідає цій схемі відношення, — це
множина пар (ім’я атрибута, значення), яка містить одне входження
кожної; імені атрибута, що належить схемі відношення. «Значення» є
припустимим значенням домену цього атрибута (або типу даних, якщо
поняття домену не підтримується). У такий спосіб, ступінь або «арність»
кортежу, тобто кількість елементів у ньому, збігається з «арністю»
відповідної схеми відношення. Тобто кортеж — це набір іменованих значень
заданого типу. Відношення — це множина кортежів, що відповідають одній
схемі відношення. Іноді, щоб не плутатися, кажуть «відношення-схема» і
«відношення-екземпляр», іноді схему відношення називають заголовком
відношення, а відношення як набір кортежів — тілом відношення.

Загальна характеристика

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

У структурній частині моделі фіксується, що єдиною структурою, даних,
яка використовується в реляційних БД, є нормалізоване відношення.

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

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

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

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

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

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

Сучасні технології СУБД

Технологія «Клієнт-сервер» — технологія, що розділяє СУБД-додатки на дві
частини: клієнтську (інтерактивний графічний інтерфейс, розташований на
комп’ютері користувача) і сервер, що здійснює управління даними,
розподіл інформації, адміністрування й безпеку (він знаходиться на
виділеному комп’ютері). Взаємодія «клієнт-сервер» здійснюється в такий
спосіб: клієнтська частина додатка формує запит до сервера баз даних, на
якому виконуються всі команди, а результат виконання запиту
відправляється клієнтові для перегляду й використання. Ця технологія
застосовується, коли великі розміри баз даних і обчислювальної мережі, і
необхідна висока продуктивність при обробці даних, що зберігаються не на
комп’ютері користувача (у великій установі зазвичай має місце саме така
ситуація). Якщо технологія «клієнт-сервер» не застосовується, то для
обробки навіть декількох записів весь файл копіюється на комп’ютер
користувача, а тільки потім обробляється. При цьому різко зростає
завантаження мережі, і знижується продуктивність праці багатьох
співробітників.

RAD (Rapid Application Development — швидка розробка додатків) — підхід
до розробки додатків, що передбачає широке використання готових
компонентів і/або додатків і пакетів (у тому числі від різних
виробників).

ODBC (Open Database Connectivity — відкритий доступ до баз даних) —
технологія, що дозволяє використовувати бази даних, створені іншим
додатком за допомогою SQL.

SQL (Structured Query Language — мова структурованих запитів) —
універсальна мова, призначена для створення й виконання запитів, обробки
даних як у власній базі даних додатків, так і з базами даних, створених
іншими додатками, що підтримують SQL. Також SQL застосовується для
управління реляційними базами даних.

Похожие записи