Introducere în Algebra Relațională

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

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ă?

  • Operatori.
  • Expresii algebrice complexe.
  • Tipuri de date.
  • Variabile care reprezintă relații. (correct)

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?

<p>Să aibă mulțimi identice de atribute cu aceleași domenii de valori. (B)</p> Signup and view all the answers

Ce se întâmplă cu duplicatele în rezultatul operației de reuniune a două relații în algebra relațională clasică?

<p>Sunt eliminate, asigurând că rezultatul conține doar tupluri unice. (D)</p> Signup and view all the answers

Care este diferența principală între operațiile de reuniune și intersecție în algebra relațională?

<p>Reuniunea combină tupluri din ambele relații, intersecția returnează doar tuplurile comune. (A)</p> Signup and view all the answers

Cum este definită formal operația de diferență (T = R - S) în algebra relațională?

<p>T = { tupluri ti | ti ∈ R ∧ ti ∉ S } (C)</p> Signup and view all the answers

Ce reprezintă operația de proiecție în algebra relațională?

<p>Extragerea anumitor coloane (atribute) dintr-o relație. (D)</p> Signup and view all the answers

Care dintre următoarele afirmații este adevărată despre operatorul de selecție (σ) în algebra relațională?

<p>Extrage tuplurile care îndeplinesc o anumită condiție. (C)</p> Signup and view all the answers

Ce reprezintă produsul cartezian a două relații R și S?

<p>Toate combinațiile posibile de tupluri din R și S. (D)</p> Signup and view all the answers

Prin ce se deosebește o jonctiune naturală (natural join) de celelalte tipuri de join?

<p>Nu necesită o condiție de join explicită. (D)</p> Signup and view all the answers

Când este utilă jonctiunea externă (outer join)?

<p>Când se dorește includerea tuturor tuplurilor din cel puțin una dintre relații, chiar dacă nu există potriviri. (D)</p> Signup and view all the answers

Ce este un multiset în contextul bazelor de date?

<p>O colecție de elemente în care pot exista apariții multiple ale aceluiași element. (A)</p> Signup and view all the answers

Cum afectează utilizarea multiset-urilor operațiile de reuniune și intersecție?

<p>Duplicatele sunt păstrate în rezultatul final. (C)</p> Signup and view all the answers

Ce permite operatorul de redenumire (ρ) în algebra relațională extinsă?

<p>Redenumirea unei instanțe de relație. (C)</p> Signup and view all the answers

Care este scopul operatorului de eliminare a duplicatelor (δ) în algebra relațională extinsă?

<p>Asigurarea că rezultatul conține doar tupluri unice, transformând un multiset într-o relație. (B)</p> Signup and view all the answers

Ce rol are clauza GROUP BY din SQL în contextul operatorilor extinși ai algebrei relaționale?

<p>Implementează operatorul de grupare. (A)</p> Signup and view all the answers

În ce situație este utilizat operatorul de sortare (τ) în algebra relațională extinsă?

<p>Pentru a aranja tuplurile într-o anumită ordine. (B)</p> Signup and view all the answers

Care este principalul avantaj al utilizării proiecției extinse în algebra relațională?

<p>Permite calcule complexe pe atribute, creând atribute noi rezultate din expresii. (A)</p> Signup and view all the answers

Cum se poate determina dacă un join este equi-join?

<p>Verificând dacă condiția de <code>join</code> folosește doar egalități. (B)</p> Signup and view all the answers

Flashcards

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ă

Sunt variabile care reprezintă relații și constante care sunt relații finite.

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

Constă în faptul că fiecare operator acceptă instanțele unei relații (sau a două) în calitate de argumente și întoarce ca rezultat o altă instanță de relație.

Signup and view all the flashcards

Reuniunea relațiilor

Este reuniunea celor două relații, unde T conține tupluri din ambele relații.

Signup and view all the flashcards

Intersecția relațiilor

Intersecția relațiilor este T = R ∩ S, unde T conține doar tuplurile comune ambelor relații.

Signup and view all the flashcards

Selectia

Permite extragerea din R a acelor tupluri care îndeplinesc formula (clauza) F.

Signup and view all the flashcards

Atribute cartezian

Este suma atributelor relațiilor R și S.

Signup and view all the flashcards

Jonctiunea (Join)

Este operația compusă care implică efectuarea unui produs cartezian și a unei selecții.

Signup and view all the flashcards

Jonctiunea naturala

Se obține făcând join-ul celor două relații după condiția egalității coloanelor cu același nume și tip.

Signup and view all the flashcards

Jonctiunea externa

În rezultat apar și liniile care nu îndeplinesc o condiție de join (exemplu linii nu au specificată specializarea pe coloana Cod_spec)

Signup and view all the flashcards

Semi-jonctiunea

Proiectia jonctiunii naturale a celor doua relatii pe atributele din R.

Signup and view all the flashcards

Multiset

Este o multime in care se accepta aparitii multiple ale unor elemente

Signup and view all the flashcards

Operatorul de redenumire p

Operatorul de redenumire permette redenumirea relatiilor/multiseturilor/ cat si a atributelor.

Signup and view all the flashcards

Eliminare duplicate

Sterg liniile duplicate din multiset.

Signup and view all the flashcards

Grupare

Permite gruparea rezultatelor operatiilor dupa anumite criterii.

Signup and view all the flashcards

Sortare

Operatorul are ca efect sortarea (ordonarea) relatiei sau multisetului R in functie de atributele din lista.

Signup and view all the flashcards

Proiectia extinsa

Permite definirea de atribute noi, obținute prin calcule cu ajutorul unor expresii pe relații sau multiseturi.

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.

Quiz Team

Related Documents

More Like This

Exercice Algèbre Relationnelle
5 questions

Exercice Algèbre Relationnelle

CostEffectiveMetaphor8711 avatar
CostEffectiveMetaphor8711
Relational Algebra and Calculus Quiz
47 questions
Use Quizgecko on...
Browser
Browser