Інформатика:системи управління базами даних
Матеріал з USIC Wiki
Загальні концепції СУБД; три моделі даних: реляційна, ієрархічна, мережева. Вимоги до СУБД.
БД(База даних) - набір логічно взаємопов'язаних даних та їх описів, що використовується спільно, та призначений для задоволення інформаційних потреб користувачів.
СУБД(Система управління базами даних) - це програмне забезпечення, за допомогою якого користувачі можуть визначати, створювати та підтримувати БД, а також здійснювати контрольований доступ до неї.
Основні характеристики СУБД
- Контроль за надлишковістю даних
- Непротирічність даних
- Підтримка цілісності бази даних (коректність та непротирічність)
- Цілісність описується за допомогою обмежень
- Незалежність прикладних програм від даних
- Спільне використання даних
- Підвищений рівень безпеки
Можливості СУБД
- Дозволяється створювати БД (здійснюється за допомогою мови визначення даних DDL (Data Definition Language))
- Дозволяється додавання, оновлення, видалення та читання інформації з БД (за допомогою мови маніпулювання даними DML, яку часто називають мовою запитів)
- Можна надавати контрольований доступ до БД за допомогою:
- Системи забезпечення захисту, яка запобігає несанкціонованому доступу до БД;
- Системи керування паралельною роботою прикладних програм, яка контролює процеси спільного доступу до БД;
- Система відновлення - дозволяє відновлювати БД до попереднього непротирічного стану, що був порушений в результаті збою апаратного або програмного забезпечення
Транзакція - це набір дій, що виконуються окремим користувачем або прикладною програмою з метою доступу або зміни вмісту БД.
Основні компоненти середовища СКБД
- апаратне забезпечення
- програмне забезпечення
- дані
- процедури - інструкції та правила, які повинні враховуватись при проектуванні та використанні БД
- користувачі
- адміністратори даних(керування даними,проектування БД, розробка алгоритмів, процедур) та БД (фізичне проектування, відповідальність за безпеку та цілісність даних)
- розробники БД
- прикладні програмісти
- кінцеві користувачі
Архітектура СУБД
Існує трирівнева система організації СУБД ANSI-SPARC, при якій існує незалежний рівень для ізоляції програми від особливостей представлення даних на нижчому рівні.
Рівні:
- Зовнішній - представлення БД з точки зору користувача.
- Концептуальний - узагальнене представлення БД, описує які дані зберігаються в БД і зв'язки між ними. Підтримує зовнішні представлення, підтримується внутрішнім рівнем.
- Внутрішній - фізичне представлення БД в комп'ютері.
Логічна незалежність - повна захищеність зовнішніх моделей від змін, що вносяться в концептуальну модель.
Фізична незалежність - захищеність концептуальної моделі від змін, які вносяться у внутрішню модель.
Мова SQL та її диалекти.
Проектування реляційних баз даних: аномалії реляційної моделі, функціональні залежності, нормальні форми та декомпозиція.
Захист баз даних: цілісність, безпечність, адміністрування.
СУБД в мережах: головні концепції, транзакції, дедлоки, паралельний доступ.
Нормальні форми баз даних.
Реляційне числення та поняття реляційної повноти.
Реляційне числення та поняття реляційної повноти. Розширено:
РЧ – аналог числення предикатів 1-го порядку, запити, які зводяться до формул числення предикатів. Ця мн-на запитів є повною (немає такого, якого не можна було б виразити). Теза Кодда: Реляційне числення є реляційно повним (б-я запит, який може бути представлений у формі числення предикатів 1-го порядку є виконуваним.). на сьогоднішній день контр прикладу не існує. Всі вирази можна представити за доп. РЧ. Реляційна алгебра – найбільш низькорівнева мова; метамова – на її основі побудовані інші мови програмування; є спільним знаменником для всіх типів СУБД. Елементи основної мн-ни – реляції(відсутня індексація (порядок полів у таблиці)).
Теоретичні основи реляційної моделі баз даних були закладені Е.Коддом на початку 70-х років [1] і спочатку дійсно мали чисто теоретичний характер. На відміну від поширених на той час систем з ієрархічними чи мережаними типами структур даних реляційний підхід запропонував гранично спрощені структури даних – реляції чи таблиці, але значно употужнив мови маніпулювання даними та мови запитів.
Реляційна алгебра базується на класичній теорії множин, вона є процедурною мовою.
Реляційне числення спирається на апарат числення предикатів.
Мова називається реляційно повною, якщо вона дозволяє отримати будь-яке відношення яке можна вивести за допомогою реляційного числення.
Мови називаються логічно еквівалентними якщо для кожного виразу мови А існує еквівалентний вираз мови В.
Реляційна алгебра та реляційне числення є логічно еквівалентними. Це доводить алгоритм редукції Кодда.
В реляційному численні використовують 2 класи мов:
- 1. числення доменів (числення предикатів, ОДЗ змінних – домени) – QBE, FQL.
- 2. числення кортежів (класичне числення предикатів 1-ого порядку, ОДЗ – кортежі у відношеннях баз даних) – ALPHA.
Основні операціїї реляційної алгебри.
Теоретичні основи реляційної моделі баз даних були закладені Е.Коддом на початку 70-х років і спочатку дійсно мали чисто теоретичний характер. На відміну від поширених на той час систем з ієрархічними чи мережаними типами структур даних реляційний підхід запропонував гранично спрощені структури даних – реляції чи таблиці, але значно употужнив мови маніпулювання даними та мови запитів. Сигнатура реляційної алгебри складається з 8-ми операцій.
Теоретико-множинні операції
,
,\ – частково визначені (визначені тільки для сумісних реляцій з однаковою структурою).
Реляції R1(A1, … , An) і R2(B1, … , Bk) називаються сумісними, якщо: 1. у них однакова кількість атрибутів, тобто k = n; 2. кожному атрибуту першої реляції можна поставити у взаємно однозначну відповідність атрибут другої реляції, тобто існує таке бієктивне відображення
S:{1, … , k}
{1, … , k}, що
N(Ai) = N(BS(i)), i = 1поділити k.
- 1-Об’єднання.
R1
R2: в результуючу реляцію попадають всі кортежі першої і другої реляції без дублів.
- 2-Перетин.
R1
R2: в результуючу реляцію попадають кортежі, присутні і в першій, і в другій реляції.
- 3-Різниця.
R1\R2: в результуючу реляцію попадають кортежі з R1, яких немає в R2.
- 4-Декартів добуток:R1
R2 – визначається для будь-яких реляцій. Ця операція може різко збільшити об’єм результату.
- 5-Проекція. R[n] - повертає набір значень n-того атрибуту для всіх кортежів у реляції.
- 6-Операція θ - з’єднання (θ - join).
- 7-Операція θ - обмеження.
В літературі іноді цю операцію називають селекцією або фільтрацією. Ця операція задається над однією реляцією з двома списками атрибутів; використовується також поняття q - порівнюваності.
- 8-Операція ділення.

