Documente Academic
Documente Profesional
Documente Cultură
Operații unare:
1. SELECT:
- Selectează dintr-un tabel pe baza unei condiții;
- Are formatul:
S<condiție>(<Nume_Tabel/Nume_Relație>)
2. PROJECT:
- Selectează coloane dintr-un tabel;
- Are formatul:
P<listă_atribute>(<Nume_Tabel/Nume_Relație>)
Operații binare:
1. Operații din teoria mulțimilor:
a. Reuniune:
- Trebuie să fie compatibilă: Cele 2 relații trebuie să aibă același tip
de n-upluri;
- Face o mulțime cu mai multe înregistrări întoarse din alte relații;
b. Intersecție;
c. Diferența;
d. Produs cartezian:
- Rezultă o relație Q(A1, A2, ..., An, B1, B2, ..., Bm)
2. Operații JOIN:
a. JOIN:
- Similar cu produsul cartezian, doar că se păstrează elementele ce
satisfac condiția;
- Formă:
Tabel_1 ⋈ col_1=col_2 Tabel_2
b. NATURAL JOIN:
- Echivalent cu INNER JOIN din SQL;
- Are forma:
Tabel_1 * col_1=col_2 Tabel_2
- Dacă col_1 și col_2 au același nume, se poate speciica doar acela:
Tabel_1 * col Tabel_2
- Dacă nu se specifică nicio coloană la condiție se consideră
implicit toate perechile de coloanele cu același nume;
c. JOIN ADITIONAL DREPT/STÂNG:
- Echivalent cu LEFT/RIGHT JOIN din SQL;
- Forma - stânga:
Tabel_1 ]⋈ col_1=col_2 Tabel_2
- Forma – dreapta:
Tabel_1 ⋈[ col_1=col_2 Tabel_2
Funcții agregat:
* Rezultatul este o relație cu un singur n-uplu.
Formă: F<funcții pe aici>(<Nume_Tabel/Nume_Relație>)
Funcții de grup:
* Se aplică mai multe funcții pe grupuri de înregistrări.
Formă: <grupul atributelor>F<funcții pe aici>(<Nume_Tabel/Nume_Relație>)
R1 = SP_Loc=’Bucuresti’(Proiecte)
R2 = R1 ⋈D_Coord=D_nr Departament
R3 = R2 ⋈SSN=M_SSN Angajat
REZ = PNume, Prenume, Adr, Data_N, D_nr, P_nr (R3)
3) Sa se gaseasca numele angajatilor care lucreaza la toate proiectele
controlate de departamentul cu numarul 5:
R1 = SD_Nr=5 (Departament)
R2 = R1 ⋈D_Nr=D_Coord Proiect
R3 = R2 ⋈SSN=P_Nr AngajatiProiecte
R4 = R3 ⋈SSN=SSN Angajat
REZ = PNume, Prenume (R4)
R1 = PSSN (Angajat)
R2 = PA_SSN (Intretinut)
R3 = R1 - R2
REZ = PNume, Prenume (R3 * Angajat)