Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LECTIONS_BDBZ.doc
Скачиваний:
20
Добавлен:
16.12.2018
Размер:
1.63 Mб
Скачать

Функціональна залежність

Функціональна залежність описує зв’язок між атрибутами і їх відношеннями. Якщо у відношенні R, яке містить атрибути А та В, атрибут В функціонально залежить від атрибуту А (позначається як АВ), то кожному значенню атрибута А відповідає лише одне значення атрибута В. Ліву та праву частини функціональної залежності АВ називають відповідно детермінантом (атрибут А) і залежною частиною (атрибут В).

Функціональна залежність – це змістовна, семантична властивість атрибутів відношення. Семантика відношення, тобто його зміст, вказує як саме його атрибути зв’язані між собою, а також визначає функціональні залежності (ФЗ) між атрибутами у вигляді обмежень, накладених на деякі атрибути даного відношення. В цьому означенні атрибути А і В можуть складатися із одного або кількох атрибутів.

Розглянемо відношення R з атрибутами А та В, причому атрибути В функціонально залежать від атрибутів А.

Якщо нам відомо значення атрибутів А, то переглядаючи відношення R з такою функціональною залежністю, у будь-який момент часу у всіх рядках цього відношення, які містять вказане значення атрибутів А, ми знайдемо одне і те ж саме значення атрибутів В. Таким чином, якщо два кортежі мають одне і те ж саме значення атрибутів А, то вони обов’язково мають одне і те ж саме значення атрибутів В. Проте для заданого значення атрибутів В може існувати кілька різних значень атрибутів А. Слід чітко розрізняти: 1) значення відношення в певний момент часу; 2) набір всіх можливих значень, які відношення може приймати в різні моменти часу.

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

Вираз АВ називається функціональною залежністю, тому що він визначає “функцію”, яка в якості “параметрів” приймає список значень по одному значенню на кожний із атрибутів А і повертає строго визначене значення або не повертає ніяких значень взагалі для атрибутів В. Ця “функція” не відноситься до звичайних математичних функцій, так як не передбачає якихось обчислень в традиційному значенні цього слова. Тут процес обчислень полягає у перегляді відношення і пошуку в ньому необхідних даних. Тобто розшукується кортеж, який містить для атрибутів А задані значення, а потім із нього зчитується вміст атрибутів В.

Лекція №11. Мова реляційного числення QBE. Мова SQL.

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

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

  • Мова маніпулювання даними – сукупність конструкцій, які забезпечують виконання основних операцій по роботі з даними: введення, модификацію, вибірку за запитами.

Найбільше розповсюдження отримали мови QBE – мова маніпулювання даними та SQL, яка поєднує властивості мов обох типів.

Таблична мова запитів QBE (скорочення від Query-by-example або Запитів за зразком), разом з мовою SQL, використовується для створення різних запитів до реляційних БД. Мова QBE є наочнішою і простішою для розуміння в порівнянні з SQL, хоча і більш обмеженою в можливостях.

Вищезгадані функції СУБД в свою чергу використовують наступні низькорівневі функії:

  • Керування даними у зовнішній пам’яті. Якість реалізацї цієї функції найбільш сильно впливає на роботу ІС з великими БД та складними запитами;

  • Керування буферами оперативної пам’яті. Буфери – це області оперативної пам’яті, призначені для прискорення об”єму між зовнішньою та оперативною пам’яттю. В буферах тимчасово зберігаються фрагменти БД, дані з яких планується використати при зверненні до СУБД або планується записати в базу після обробки;

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

Транзакція має три основних властивості:

  1. Атомарність (виконуються всі операції, що входять до транзакції, або жодна

  2. Серіалізуємість (відсутність взаємного впливу виконуваних одночасно транзакцій)

  3. Довговічність (навіть крах системи не призводить до втрати результатів завершеної транзакції. Приклад транзакції – перевод грошей з одного рахунку на інший в банківській системі.

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

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

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

Лекція №12. Вибірка даних. Оператор SELECT. Використання умов відбору.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]