Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
m_Rdb_готовый.docx
Скачиваний:
21
Добавлен:
17.03.2016
Размер:
702.25 Кб
Скачать

Властивості відношень

Тепер дамо теоретико-множинний опис поняття відношення.

DEF. N-арним відношенням R називають підмножину декартової похідної D_1 X D_2 XX D_N множин D_1, D_2, …, D_N (N>=1), необов’язково різних.Вихідні множини D_1, D_2, …, D_N називаються доменами.

Коротко обговоримо витікаючі з цього визначення фундаментальні властивості відношень.

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

Рис. 6

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

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

  • Відсутність впорядкованості кортежів також є наслідком визначення відношення-екземпляра як множина кортежів. Відсутність вимоги до підтримки порядку на множині кортежів відношення дає додаткову гнучкість СУБД при зберіганні баз даних в зовнішній пам'яті і при виконанні запитів до бази даних.

  • Відсутність впорядкованості атрибутів. Для посилання на значення атрибуту в кортежі відношення завжди використовується ім'я атрибуту.

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

DEF. Відношення знаходиться в першій нормальній формі (1НФ), якщо всі його атрибути атомарні.

Відношення, що знаходиться в 1НФ, також називають універсальним або нормалізованим відношенням. Приклад ненормалізованного відношення наведено в табл. 1.

Таблиця 1

Кафедра

Тел.

Особистий номер

Прізвище

Посада

Оклад

Назва предмета

К-сть годин

МО ЕОМ

4-89

201

Фролов

доцент

380 руб.

СПО БКС

36 72

202

Костін

доцент

380 руб.

Алгебра

48

ПМ

4-88

301

Бойко

професор

520 руб.

Алгебра

48

Фізики

4-12

401

Глазов

асистент

270 руб.

Фізика

Оптика

52 30

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

Реляційна модель даних: три складові

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

Термін «модель даних» був введений в ужиток стосовно до реляційних систем і найбільш ефективно використовується саме в цьому контексті, хоча можна говорити про ієрархічної, мережевої, і навіть концептуальної моделях даних.

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

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

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

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

Перша - вимога цілісності сутностей: будь-яке відношення має володіти первинним ключем.

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

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

Обмеження цілісності сутності і по посиланнях повинні підтримуватися СУБД.

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

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

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

Тут існують три підходи, кожен з яких підтримує цілісність по посиланням.

1. Забороняється проводити видалення кортежу з основного відношення, якщо на нього існують посилання.

2. При видаленні кортежу, на який є посилання, у всіх кортежах підлеглого відношення, що посилаються, значення зовнішнього ключа автоматично стає невизначеним.

3. Каскадне видалення полягає в тому, що при видаленні кортежу з основного відношення, автоматично видаляються всі кортежі, що посилаються, з підлеглого відношення.

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

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