Podcast
Questions and Answers
Care dintre următoarele NU este o clasă de operații în algebra relațională?
Care dintre următoarele NU este o clasă de operații în algebra relațională?
- Operații care asociază tuplurile a două relații.
- Operații care modifică tipul de date al atributelor. (correct)
- Operații specifice teoriei mulțimilor aplicate relațiilor.
- Operații care atribuie nume noi atributelor unei relații.
Ce reprezintă operanzii atomici în algebra relațională?
Ce reprezintă operanzii atomici în algebra relațională?
- Operatori.
- Expresii algebrice complexe.
- Tipuri de date.
- Variabile care reprezintă relații. (correct)
Care este caracteristica fundamentală a operatorilor în algebra relațională?
Care este caracteristica fundamentală a operatorilor în algebra relațională?
- Returnează întotdeauna un scalar.
- Acceptă instanțe ale relațiilor ca argumente și returnează o altă instanță de relație. (correct)
- Acceptă doar constante ca argumente.
- Modifică schema relațiilor de intrare.
Ce condiție trebuie să îndeplinească două relații R și S pentru a putea aplica operația de reuniune?
Ce condiție trebuie să îndeplinească două relații R și S pentru a putea aplica operația de reuniune?
Ce se întâmplă cu duplicatele în rezultatul operației de reuniune a două relații în algebra relațională clasică?
Ce se întâmplă cu duplicatele în rezultatul operației de reuniune a două relații în algebra relațională clasică?
Care este diferența principală între operațiile de reuniune și intersecție în algebra relațională?
Care este diferența principală între operațiile de reuniune și intersecție în algebra relațională?
Cum este definită formal operația de diferență (T = R - S) în algebra relațională?
Cum este definită formal operația de diferență (T = R - S) în algebra relațională?
Ce reprezintă operația de proiecție în algebra relațională?
Ce reprezintă operația de proiecție în algebra relațională?
Care dintre următoarele afirmații este adevărată despre operatorul de selecție (σ) în algebra relațională?
Care dintre următoarele afirmații este adevărată despre operatorul de selecție (σ) în algebra relațională?
Ce reprezintă produsul cartezian a două relații R și S?
Ce reprezintă produsul cartezian a două relații R și S?
Prin ce se deosebește o jonctiune naturală (natural join) de celelalte tipuri de join?
Prin ce se deosebește o jonctiune naturală (natural join) de celelalte tipuri de join?
Când este utilă jonctiunea externă (outer join)?
Când este utilă jonctiunea externă (outer join)?
Ce este un multiset în contextul bazelor de date?
Ce este un multiset în contextul bazelor de date?
Cum afectează utilizarea multiset-urilor operațiile de reuniune și intersecție?
Cum afectează utilizarea multiset-urilor operațiile de reuniune și intersecție?
Ce permite operatorul de redenumire (ρ) în algebra relațională extinsă?
Ce permite operatorul de redenumire (ρ) în algebra relațională extinsă?
Care este scopul operatorului de eliminare a duplicatelor (δ) în algebra relațională extinsă?
Care este scopul operatorului de eliminare a duplicatelor (δ) în algebra relațională extinsă?
Ce rol are clauza GROUP BY
din SQL în contextul operatorilor extinși ai algebrei relaționale?
Ce rol are clauza GROUP BY
din SQL în contextul operatorilor extinși ai algebrei relaționale?
În ce situație este utilizat operatorul de sortare (τ) în algebra relațională extinsă?
În ce situație este utilizat operatorul de sortare (τ) în algebra relațională extinsă?
Care este principalul avantaj al utilizării proiecției extinse în algebra relațională?
Care este principalul avantaj al utilizării proiecției extinse în algebra relațională?
Cum se poate determina dacă un join este equi-join
?
Cum se poate determina dacă un join este equi-join
?
Flashcards
Algebra relațională
Algebra relațională
Este un limbaj formal de interogare a modelului relațional; oferă mijloace puternice de a construi relații noi din alte relații date.
Operanzi în algebra relațională
Operanzi în algebra relațională
Sunt variabile care reprezintă relații și constante care sunt relații finite.
Proprietatea fundamentală a operatorilor
Proprietatea fundamentală a operatorilor
Acceptă instanțe ale unei relații (sau două) ca argumente și returnează o altă instanță de relație.
Fraze de interogare
Fraze de interogare
Signup and view all the flashcards
Reuniunea relațiilor
Reuniunea relațiilor
Signup and view all the flashcards
Intersecția relațiilor
Intersecția relațiilor
Signup and view all the flashcards
Selectia
Selectia
Signup and view all the flashcards
Atribute cartezian
Atribute cartezian
Signup and view all the flashcards
Jonctiunea (Join)
Jonctiunea (Join)
Signup and view all the flashcards
Jonctiunea naturala
Jonctiunea naturala
Signup and view all the flashcards
Jonctiunea externa
Jonctiunea externa
Signup and view all the flashcards
Semi-jonctiunea
Semi-jonctiunea
Signup and view all the flashcards
Multiset
Multiset
Signup and view all the flashcards
Operatorul de redenumire p
Operatorul de redenumire p
Signup and view all the flashcards
Eliminare duplicate
Eliminare duplicate
Signup and view all the flashcards
Grupare
Grupare
Signup and view all the flashcards
Sortare
Sortare
Signup and view all the flashcards
Proiectia extinsa
Proiectia extinsa
Signup and view all the flashcards
Study Notes
- Cursul 2 se axează pe introducerea în algebra relațională, acoperind elemente de bază, operații pe mulțimi, operatori multiset, operatori extinși și bibliografie.
Elemente de Algebră Relațională
- Algebra relațională este un limbaj formal de interogare pentru modelul relațional, oferind mijloace puternice de a construi relații noi din datele existente.
- Când relațiile inițiale sunt date stocate, algebra relațională generează răspunsuri la interogări.
- Expresiile algebrice sunt construite prin aplicarea operatorilor pe operanzi atomici sau alte expresii algebrice.
- În algebra relațională, operanzii sunt variabile ce reprezintă relații și constante, care sunt relații finite.
- În algebra relațională "clasică", operanzii și rezultatele expresiilor sunt mulțimi.
- Operațiile algebrei relaționale sunt grupate în patru clase: operații specifice teoriei mulțimilor, operații de eliminare a unor părți ale unei relații, operații de asociere a tuplurilor și operații de atribuire de nume noi atributelor relației.
- Fiecare operator acceptă instanțe ale unei relații și returnează o altă instanță de relație.
- Operatorii pot fi compuși pentru a forma interogări complexe.
- O frază de interogare corespunde unei expresii algebrice relaționale, definită recursiv ca o relație și un operator aplicat unei expresii, sau ca un operator binar aplicat la două expresii.
- O relație r, cu instanța ei R, este o mulțime de tupluri, notată R = {tupluri ti, unde ti ∈ r}.
Operații pe Mulțimi Aplicate Relațiilor
- Reuniunea (R ∪ S) combină tuplurile din două relații R și S, unde T = {ti : ti ∈ r sau ti ∈ s, ∀ti ∈ t}, cu condiția ca R și S să aibă atribute identice și domenii de valori.
- Nota: rezultatul reuniunii nu conține duplicate.
- Intersecția (R ∩ S) identifică tuplurile comune ambelor relații : T = {ti : ti ∈ r și ti ∈ s, ∀ti ∈ t}, fără duplicate în rezultat.
- Diferența (R - S) returnează tuplurile prezente în R, dar nu și în S: T = {ti | ti ∈ r și ti ∉ s, ∀ti ∈ t}, sau invers pentru S - R.
- Important: R - S ≠ S - R și R ∩ S = R - (R - S).
- Proiecția (π A1, A2,..., Ak(R)) selectează atributele specificate (A1, A2,..., Ak) din relația R.
- Proiecția poate fi definită formal ca π i1, i2,..., ik = {ti | ti = (a1, a2,..., ak), unde ∃ tj ∈ R, astfel încât aj = bj pentru j = 1...k}. Simbolurile a1, a2,... reprezintă atribute din R.
- Selecția (σF(R)) extrage tuplurile din R care îndeplinesc formula (clauza) F, iar schema relatiei obtinuta este identica cu schema relatiei R.
- Operanzii din clauza F sunt constante sau atribute din schema relatiei R, iar operatorii sunt aritmetici sau logici.
Operații pe Mulțimi Aplicate Relațiilor: Produsul Cartezian și Joncțiunea
- Produsul cartezian (R × S) combină fiecare tuplu din R cu fiecare tuplu din S, unde T = {tij | ti = (ri1ri2...riksj1sj2...sjp), ri ∈ R, sj ∈ S}.
- Tuplurile din T reprezintă toate combinațiile posibile.
- Numărul de atribute al produsului cartezian este suma atributelor lui R și S, iar numărul de tupluri este produsul numerelor de tupluri ale relațiilor R și S.
- Joncțiunea (R⋈F S) este o operație compusă care implică produsul cartezian și selecția, obținându-se din produsul cartezian al relațiilor R și S, urmat de o selecție după o condiție F.
- Joncțiunea naturală (R⋈S) realizează joncțiunea după condiția ca "coloanele cu același nume și tip să aibă valori egale", eliminând atributele duplicat prin proiecție.
- Join-ul natural nu tine cont de semnificația coloanelor.
- În SQL, joncțiunea naturală se specifică prin sintaxa NATURAL JOIN în clauza WHERE.
- Joncțiunea externă returnează toate liniile, inclusiv cele care nu îndeplinesc condiția de joncțiune, folosind valoarea nulă pentru atributele fără corespondent.
- Există trei tipuri: stânga (R⟕ S), dreapta (R ⟖ S) și completă (R ⟗ S).
- Joncțiunea externă conține întotdeauna tuplurile din rezultatul joncțiunii generale sub aceeași condiție.
Operații pe Mulțimi Aplicate Relațiilor: Semijoncțiunea
- Semijoncțiunea (R⋉S) este proiecția joncțiunii naturale a două relații pe atributele primei relații: R⋉S = πR(R⋈S).
- O formulă echivalentă este R⋉S = RR⋈S(S).
- Semijoncțiunea lui R în raport cu S include tuplurile din R care participă la joncțiunea naturală cu S.
- Semijoncțiunea nu este simetrică: R⋉S ≠ S⋊R.
- Diferența dintre joncțiunea convențională și semijoncțiune este că semijoncțiunea returnează cel mult o linie din prima tabelă, chiar dacă găsește mai multe linii corespondente în a doua tabelă.
- În limbajul SQL, semijoncțiunea se folosește împreună cu operatorii EXIST și IN.
Operatori pe Multiseturi
- Un multiset acceptă apariții multiple ale elementelor, contrar mulțimilor convenționale care nu conțin duplicate.
- În bazele de date, tabelele sau rezultatele interogărilor pot avea linii duplicat, transformându-le în multiseturi.
- Primele SGBD tratau relațiile ca multiseturi pentru eficiență.
- Dacă utilizatorul nu cere explicit eliminarea duplicatelor, relațiile pot conține duplicate.
- Reuniunea multiseturilor nu elimină duplicatele.
- Intersecția multiseturilor menține duplicatele.
Operatori pe Multiseturi: Proiecția și Observații Generale
- Proiecția în multiseturi funcționează similar cu relațiile, dar nu elimină liniile duplicate.
- Diferenta, produsul cartezian, selectia, joinul, joinul natural și joinul extern sunt calculate similar, dar multiset-urile rezultat pot sa contina linii duplicat.
- Operațiile pot genera linii duplicat doar dacă operanzii le conțin deja.
Operatori Extinși ai Algebrei Relaționale
- Limbajele de interogare moderne includ operații suplimentare, cum ar fi redenumirea, pentru a îmbunătăți funcționalitatea.
- Redenumirea permite redenumirea relațiilor și/sau atributelor.
- Operatorul de redenumire (ρ) redenumirea relatiilor/multiseturilor/cat si a atributelor.
- O relație R(A1, A2,..., An) poate fi redenumită în S(B1, B2,..., Bn), păstrând conținutul, dar schimbând numele atributelor, S = ρR(A1, A2,..., An).
- În SQL, redenumirea se realizează prin definirea aliasurilor de coloană/tabelă în cererile SELECT.
Operatori Extinși ai Algebrei Relaționale: Constructorul și Eliminarea Duplicatelor
- Constructorul permite redenumirea atributelor în rezultatul unei expresii relationale sau multiseturi, de exemplu putem redenumi într-un rezultat un atribut prin constructia.
- În SQL, Constructorul se foloseste pentru aliasul de coloană într-o cerere SELECT.
- Eliminarea duplicatelor se aplică doar multiset-urilor, iar rezultatul este un multiset fără duplicate.
- Notatia operatorului este δ(R).
- Optiunea DISTINCT din SQL are efect de eliminare a duplicatelor, redând o relație (fără duplicate).
Operatori Extinși ai Algebrei Relaționale: Gruparea și Sortarea
- Gruparea grupează rezultatele operațiilor după anumite criterii.
- Sintaxa operatorului de grupare este urmatoarea: Y atribute&functii (R).
- atribute sunt criterii de grupare si apar in rezultatul returnat de operator;
- functii sunt functii de grup ( MIN, MAX, SUM, AVG, COUNT) care se calculeaza la nivelul fiecarui grup si de asemenea apar in rezultatul operatorului.
- În SQL operatorul se aplica prin funcții de grup impreuna cu clauza GROUP BY.
- Sortarea ordonează relația sau multisetul în funcție de atributele specificate.
- În mod normal, datele nu sunt neaparat ordonate.
- În SQL operatorul se aplica atunci cand se fac interogari pentru intocmirea de liste ordonate dupa anumite atribute.
- sortarea se face folosind clauza ORDER BY dintr-o cerere SELECT.
Operatori Extinși ai Algebrei Relaționale: Proiecția Extinsă
- Proiecția extinsă permite definirea de atribute noi, obținute prin calcule pe relații sau multiseturi.
- La proiecția extinsă Sintaxa este urmatoarea: π expresie_1, expresie_2, ... expresie_n (R).
- Duplicatele se elimina sau nu, in functie de rezultatul dorit (relatie sau multiset).
- În SQL, acești operatori sunt implementați în cererea SELECT, folosind operatori sau funcții aplicate pe atributele (coloanele) deja definite.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.