Подтвердить что ты не робот

Разложение с потерями

Почему декомпозиция с потерями называется lossy? Что именно мы теряем при разложении с потерями?

Существует отношение R. Разлагается на два соотношения R1 и R2.

если R = (R1 JOIN R2), то это разложение без разделения. Это хорошо.

если R является подмножеством (R1 JOIN R2), а затем с потерей объединения.

Вот разложение с потерями в соединении, после объединения R1 и R2 мы фактически получаем больше записей, сравнимых с R. Итак, что мы теряем.

4b9b3361

Ответ 1

Поскольку мы имеем дело с каким-то экземпляром, R, отношение содержит фиксированное количество записей. Он также неявно содержит информацию о том, какие записи не существуют. Если соединение R1 и R2 производит дополнительные записи, мы теряем информационную целостность.

Предположим, вы использовали следующее соотношение R = (SSN, Name, Address):

           R
SSN     Name      Address
1111    Joe       1 Pine
2222    Alice     2 Oak
3333    Alice     3 Pine

Пусть R1 = (SSN, Name) и R2 = (Name, Address).

     R1                     R2
SSN     Name     |     Name    Address
1111    Joe      |     Joe     1 Pine
2222    Alice    |     Alice   2 Oak
3333    Alice    |     Alice   3 Pine

Присоединение R1 и R2 приведет к следующей таблице:

       R1 join R2
SSN     Name      Address
1111    Joe       1 Pine
2222    Alice     2 Oak
2222    Alice     3 Pine
3333    Alice     2 Oak
3333    Alice     3 Pine

Информация, потерянная в этом примере, - это адрес для человека 2222 и 3333. В исходном отношении R человек 2222 живет на 2 дуба. В соединении R1 и R2 человек 2222 либо живет на 2 дуба, либо 3 сосны - у нас больше нет этой информации.

Таким образом, дополнительная информация может привести к разложению с потерями. Записи не были потеряны - мы потеряли информацию о том, какие записи были в исходном отношении.