Если декомпозиция БД не сохраняет зависимостей, можно ли с уверенностью заключить, что она также с потерями без дополнительных доказательств? - PullRequest
0 голосов
/ 20 ноября 2018

Если декомпозиция базы данных не сохраняет зависимостей, можно ли с уверенностью заключить, что декомпозиция также с потерями без дополнительных доказательств?

Чтобы уточнить - когда я использую декомпозицию в своем вопросе, я имею в видуакт разрушения отношения на меньшие отношения при попытке нормализовать отношение.Например, разложение отношения 1NF на серию отношений 2NF.

Как указано в этом сообщении Quora , декомпозиция должна быть "без потерь" и "сохранять зависимости".Я понимаю, что декомпозиция, которая сохраняет зависимости, не может быть без потерь и наоборот;однако существуют ли ситуации, когда декомпозиция, в которой не сохраняет зависимости, равна , а не с потерями?

Более формальное определение декомпозиции базы данных можно изложить в " Системы баз данных: Полная книга"(см. Выдержку ниже)

enter image description here

1 Ответ

0 голосов
/ 21 ноября 2018

Рассмотрим схему (ABC) с FD {{A} -> {B};{B} -> {C}}.

Из-за этих FD ключом-кандидатом будет {A}.

Рассмотрим разложение на схемы (AB) и (AC).

Поскольку ключ [схемы (ABC)] является {A}, эта декомпозиция без потерь, в [обычном] смысле, что для любого действительного значения отношения r1, появляющегося для схемы (ABC), мы можем принятьсоответствующие значения отношений r2 / r3, которые появятся для схем (AB) (AC), естественным образом присоединятся к ним и будут гарантированы, что мы вернемся к исходному r1.

Теперь [сделайте себе одолжение и сделайте несколькоподумать,] подумать, является ли это разложение также сохраняющим зависимость, и каковы его последствия.

...