2012-10-01 16 views
11

Perché una decomposizione con perdita si chiama perdita? Che cosa esattamente perdiamo in una decomposizione in perdita?decomposizione con perdite

C'è una relazione R. È scomposta in due relazioni R1 e R2.

se R = (R1 JOIN R2) quindi è una scomposizione dell'unione senza perdita. Va bene.

se R è un sottoinsieme di (R1 JOIN R2) quindi una decomposizione con join lossy.

Ecco la scomposizione di join lossy, dopo l'unione di R1 e R2 stiamo ottenendo in realtà più record rispetto a R. Quindi cosa stiamo perdendo. ?

risposta

28

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.

+0

Grazie per la risposta – user1710986

+0

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

+0

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