При нормализации БД выполняются декомпозиции (разбиения путем проецирования) отношения, находящегося в предыдущей нормальной форме, на два или более отношений, удовлетворяющих требованиям следующей нормальной формы. Считаются правильными такие декомпозиции отношения, которые обратимы, т. е. имеется возможность собрать исходное отношение из декомпозированных отношений без потери информации. Такие декомпозиции называются декомпозициями без потерь.
Теорема Хита: Если есть отношение R у которого есть атрибуты A, B, C, связанные зависимостью A -> B, то декомпозиция на r1(A, B) и r2(A,C) будет обратимой: R(A, B, C) = r1(A, B) join r2(A,C).
Например, вы с друзьями посидели в пабе. Имеет место отношение Pub (man, beer, payment).
Каждый из вас пьет один определенный сорт пива. Это зависимость man -> beer.
Значит, по теореме Хита мы можем разделить данные на 2 отношения:
Этих данных достаточно, чтобы однозначно и правильно воссоздать оригинальное отношение Pub (man, beer, payment), используя natural join:
Теорема Хита: Если есть отношение R у которого есть атрибуты A, B, C, связанные зависимостью A -> B, то декомпозиция на r1(A, B) и r2(A,C) будет обратимой: R(A, B, C) = r1(A, B) join r2(A,C).
Например, вы с друзьями посидели в пабе. Имеет место отношение Pub (man, beer, payment).
man | beer | payment |
Darth | Leffe Blonde | 5$ |
Yoda | Heineken | 10$ |
Jabba the Hutt | Amstel Light | 8$ |
Каждый из вас пьет один определенный сорт пива. Это зависимость man -> beer.
Значит, по теореме Хита мы можем разделить данные на 2 отношения:
- man -> beer == beer_man (man, beer)
man | beer |
Darth | Leffe Blonde |
Yoda | Heineken |
Jabba the Hutt | Amstel Light |
- man -> payment == pay_man (man, payment)
man | payment |
Darth | 5$ |
Yoda | 10$ |
Jabba the Hutt | 8$ |
Этих данных достаточно, чтобы однозначно и правильно воссоздать оригинальное отношение Pub (man, beer, payment), используя natural join:
- beer_man JOIN pay_man = pub
P.S. На всякий случай напоминаю, что при natural join, о котором идет речь в теореме, все пары атрибутов из двух отношений, имеющих общее имя, приравниваются, а одна из пар равных атрибутов удаляется путем проекции.
Комментариев нет:
Отправить комментарий