Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Декомпозиція схем відносин






Декомпозицією схеми відношення R = (U, F) називається заміна її сукупністю ρ = {R1, R2,..., Rk), де Ri = (Ui), i = l, 2,..., k, такий, що U1 ∪ U2 ∪...∪ Uk = U. При цьому не вимагається, щоб Ui перетиналися. Ri будемо називати підсхемами відношення R.

З'єднання без втрат. Нехай задана схема відношення R = (U, F) та її декомпозиція ρ = (R1, R2,..., Rк). Кажуть, що ця декомпозиція володіє властивістю з'єднання без втрат відносно F, якщо кожне від носіння R для R, що задовольняє F, може бути представлено у вигляді

R= π R1 (R)│ > < │ π R2(R)│ > < │ …│ > < │ π Rk(R)

тобто R є природним з'єднанням його проекцій на всі Ri. Ясно, що властивість з'єднання без втрат дуже бажано, оскільки в цьому випадку може бути відновлено початкове відношення.

Розглянемо основні властивості відображення проекція-з'єднання. Якщо ρ = (R1, R2,..., Rk), позначимо через Mρ відображення, яке визначається співвідношенням

Mρ (R) = π R1 (R) │ > < │ π R2 (R)│ > < │ …│ > < │ π Rk(R)

Таким чином, умова з'єднання без втрат відносно F може бути виражена наступним чином: для всіх R, які задовольняють F, R = Mρ (R).

Для будь-якої декомпозиції виконуються наступні умови:

а) R ⊆ Mρ (R);

б) якщо S = Mρ (R), то π i (S) =Ri;

в) Mρ (Mρ (R)) = Mρ (R).

 

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

Для перевірки властивості з'єднання без втрат можна використовувати наступний алгоритм.

Нехай задано схему відношення R = ({А1, А2,..., An}, F) і декомпозиція ρ = (R1, R2,..., Rk), Ri = (Ui), i = 1, 2,..., k.

Будуємо таблицю з n стовпців і k рядків, стовпець j відповідає атрибуту Aj, а рядок i – схемі відношення Ri. На перетині рядка i та стовпця j помістимо символ Aj, якщо Aj ∈ Ui. B іншому випадку помістимо туди символ *.

Переглядаємо кожну з залежностей Х → Y. Розглядаючи залежність Х → Y, змінюємо рядки, які збігаються за всіма стовпцями, що відповідає атрибутам з X. При виявленні двох таких рядків ототожнюємо їх символи в стовпцях, відповідних атрибутів з Y. Якщо при цьому один з символів в одній з рядків дорівнює Aj, а символ іншого рядка в цьому ж стовпці дорівнює *, то замінюємо * на Aj. Повторюємо перегляд залежностей до тих пір, поки: або деяка рядок стане рівною А1, А2,..., Аn, або більше змін у таблиці провести не можна.

У першому випадку декомпозиція ρ володіє властивістю з'єднання без втрат. У другому – немає.

ПPИКЛАДИ

Нехай для схеми R = ({А1, А2, А3, А4, А5}, {А1 → А2; А2 → A3; А3, А4 → А5; А2 → А4}) отримана декомпозиція ρ = (Rl, R2, R3), де

R1 = ({А1, А2}), R2 = ({А2, А3, А4}), R3 = ({А3, А4, А5}). Потрібно перевірити, чи має вона властивістю з'єднання без втрат.

Побудуємо наступні таблиці

1-ша (початкова таблиця)

А1 А2 * * *
* А2 А3 А4 *
* * А3 А4 А5

 

2-га таблиця:

А1 А2 А3 А4 *
* А2 А3 А4 А5
* * А3 А4 А5

 

3-я таблиця:
А1 А2 А3 А4 А5
* А2 А3 А4 А5
* * А3 А4 А5

 

В останній таблиці перший

рядок являє собою всі Aj, отже, декомпозиція володіє властивістю з'єднання без втрат. Тепер нехай для схеми R = ({А1, А2, А3, А4, А5}, {A1 → A2; A2 → A3; A3, A5 → A4}) отримана декомпозиція ρ = (Rl, R2), де R1 = ({A1, A2}); R2 = ({A2, A3, A4, A5}). Побудуємо такі таблиці:

1 табл.

         
         

 

2 табл.

         
         

 

ДОП.ТАБЛ(стр.35)

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

Справедливе наступне твердження.

Якщо ρ = (R1(U1), R2(U2)) – декомпозиція R = (U, F), то ρ володіє властивістю з'єднання без втрат відносно F тоді і тільки тоді, коли ((U1 ∩ U2) → U1 \ U2) ∈ F+ або ((U1 ∩ U2) → U2 \ U1) ∈ F+.

Це твердження дає досить простий спосіб перевірки властивості з'єднання без втрат при декомпозиції на дві подсхемы.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.