Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Operatorii asamblisti

baze de date



+ Font mai mare | - Font mai mic



Operatorii asamblisti

Trei dintre operatorii asamblisti reuniune ("È"), intersectie (" ") si diferenta (-) pot opera numai cu doua relatii unicompatibile.



Ce intelegem prin relatii unicompatibile?   

Fie R1 (A1, A2, ..., An) si R2 (B1, B2,..., Bm) doua relatii. Spunem despre R1 si R2 ca sunt unicompatibile daca:

n=m

i I (1, 2, .., n), Ai si Bi sunt de acelasi tip sintactic.

Relatiile R1 si R2 din figura 3.1. sunt unicompatibile deoarece:

1. ambele au acelasi numar de atribute;

2. atributele C1, C2, C3 din R1 (R1.C1, R1.C2, R1.C3) corespund sintactic atributelor C3, C4 si C5 (R2.C3, R2.C4, R2.C5).

R1 R2

C1

C2

C3

C3

C4

C5

AAA

BBB

AAB

BAA

ABA

BBA

BBB

AAA

ABB

ABB

Figura 3.1. Relatiile R1 si R2 unicompatibile

1. Reuniunea

Reuniunea a doua relatii R1 si R2, notata R3 R1 È R2, este definita astfel:

R1 È R2 = .

Continutul tabelei-reuniune R3 este prezentat in figura Primele cinci tupluri din aceasta tabela sunt preluate din R1, iar ultimele trei din R2. R3 contine opt tupluri deoarece doua din tupluri sunt comune tabelelor R1 si R2. Algebra relationala elimina automat duplicatele (tuplurile identice), in felul acesta asigurandu-se restrictia de unicitate dupa fiecare operatie.

Reuniunea este comutativa. Singura problema neclara ar fi legata de numele atributelor in relatia rezultat, insa se poate institui regula conform careia numele atributelor relatiei-reuniune sa fie numele atributelor primei relatii participante la operatie.

R3

C1

C2

C3

AAA

AAB

ABA

BBB

ABB

BAA

BBA

AAA

Figura Reuniunea relatiilor R1 si R2

2. Intersectia

Intersectia a doua relatii R1 si R2, notata R4 R1 R2, este definita astfel:

R1 R2 = .

Continutul tabelei-intersectie este prezentat in figura 3.3. Deoarece doar doua tupluri sunt absolut identice si in R1 si in R2, tabela rezultat va fi alcatuita doar din doua linii.

Ca si reuniunea, intersectia este comutativa, iar numele atributelor relatiei intersectie sunt extrase din prima relatia participanta la operatie.

R4

C1

C2

C3

BBB

ABB

Figura 3.3. Intersectia relatiilor R1 si R2

3. Diferenta

Diferenta a doua relatii R1 si R2, notata R5 R1 - R2, este definita astfel:

R1 - R2 = .

Continutul tabelei-diferenta (figura 3.4.) contine doar tuplurile din R1 care nu se regasesc in R2. Asadar, din rezultat sunt eliminate ultimele doua tupluri din R1, deoarece valorile acestora se regasesc si in R2 (primul si ultimul tuplu din R2).

Spre deosebire de reuniune si intersectie, diferenta nu este comutativa. Atributele relatiei-diferenta sunt cele ale primei relatii, iar tuplurile care sunt extrase din relatia-descazut nu se regasesc in relatia scazator. Pe langa asta, nu exista restrictii privind cardinalitatea (numarul tuplurilor) celor doua relatii in sensul ca nu este obligatoriu ca relatia descazut sa contina mai multe tupluri decat cea scazator.

R5

C1

C2

C3

AAA

AAB

ABA

Figura 3.4. Diferenta relatiilor R1 si R2

4. Produsul cartezian

Produsul cartezian dintre doua relatii R1 si R2, notat R6 R1 A R2, este ansamblul tuturor tuplurilor obtinute prin concatenarea fiecarei liniile din tabela R1 cu toate liniile din tabela R2. Este definit astfel:

R1 A R2 =

Spre deosebire de celelalte trei operatiuni precedente, produsul cartezian nu face apel la notiunea de relatii unicompatibile, iar relatia rezultat cumuleaza atributele celor doua relatii argument.

In figura 3.5. este prezentat rezultatul produsului cartezian al tabelelor R1 si R2.

R6

C1

C2

R1.C3

R2.C3

C4

C5

AAA

AAA

AAA

AAA

AAA

BBB

BAA

BBA

AAA

ABB

AAB

AAB

AAB

AAB

AAB

BBB

BAA

BBA

AAA

ABB

ABA

ABA

ABA

ABA

ABA

BBB

BAA

BBA

AAA

ABB

BBB

BBB

BBB

BBB

BBB

BBB

BAA

BBA

AAA

ABB

ABB

ABB

ABB

ABB

ABB

BBB

BAA

BBA

AAA

ABB

Figura 3.5. Produsul cartezian al relatiilor R1 si R2

Tabela-rezultat R6 are o structura noua cu sase atribute (trei preluate din R1 si trei din R2). Deoarece exista un atribut cu nume comun C3, pentru a deosebi cele doua aparitii, acestea sunt prefixate, in antetul tabelei, cu numele relatiei din care provine atributul respectiv (R1.C3 si R2. C3).

Prima linie din R6 este obtinuta prin unirea primului tuplu din R1 cu primul tuplu din R2, a doua din primul tuplu din R1 cu al doilea din R2 s.a.m.d. Cum R1 are 5 tupluri si R2 tot 5, tabela-rezultat a produsului cartezian va avea 5 * 5 = 25 tupluri.

Nu prea exista situatii care sa reclame folosirea directa si exclusiva a produsului cartezian. Cel mai important merit al acestuia in algebra relationala este ca permite alipirea a doua relatii, fundamentand astfel operatorul cheie care este jonctiunea.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 923
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved