Poiché abbiamo a che fare con qualche istanza, R, la relazione contiene un numero fisso di record. Contiene implicitamente anche informazioni su quali record non esistono. Se il join di R1 e R2 produce record extra, perdiamo l'integrità informativa.
Supponiamo che si stava utilizzando la seguente relazione R = (SSN, nome, indirizzo):
R
SSN Name Address
1111 Joe 1 Pine
2222 Alice 2 Oak
3333 Alice 3 Pine
Sia R1 = (SSN, Nome) e R2 = (nome, indirizzo).
R1 R2
SSN Name | Name Address
1111 Joe | Joe 1 Pine
2222 Alice | Alice 2 Oak
3333 Alice | Alice 3 Pine
L'unione di R1 e R2 produrrebbe la seguente tabella:
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
Le informazioni perso in questo esempio è l'indirizzo per persona 2222 e 3333. Nel rapporto originale, R, persona 2222 vive a 2 Oak. Nel join di R1 e R2, la persona 2222 vive a 2 Oak o 3 Pine - non abbiamo più queste informazioni.
Ecco come informazioni extra possono comportare una decomposizione con perdita di dati. I record non sono stati persi - quello che abbiamo perso era informazioni su su quali record erano nella relazione originale.
Grazie per la risposta – user1710986
stava solo indovinando se la decomposizione con perdita di dati comporta solo aumento di tuple dopo aver unito le due relazioni. È possibile unire due relazioni (con perdita di dati decomposti) in un numero inferiore di tuple? – Mahesha999
La definizione di una decomposizione senza perdita di dati non è legata al numero di record o tuple - i componenti con cui abbiamo a che fare qui sono una relazione e due o più relazioni decomposte. Ma per rispondere alla tua domanda, la decomposizione con perdita non comporta solo un aumento di record/tuple. Potrebbe anche causare meno record o lo stesso numero di record. – ithinkisam