Acasă | Despre noi | feedback-ul
Deși teoria setului de algebră relațională se bazează pe teoria clasică a mulțimilor, operațiile corespunzătoare ale algebrei relaționale au anumite trăsături.
Să începem cu operațiunea de asociere (tot ceea ce se va spune despre asociație este transferat la operațiunile de intersecție și luând diferența). Semnificația operațiunii sindicale în algebra relațională în ansamblul său rămâne a fi setată-teoretică. Dar dacă în teoria seturilor operația de îmbinare este semnificativă pentru oricare două seturi de operand, atunci în cazul algebrelor relaționale rezultatul operației sindicale este relația. Dacă permitem în algebra relațională posibilitatea unei unități set-teoretice a două relații arbitrare (cu scheme diferite), atunci, bineînțeles, rezultatul operației va fi un set, dar o multitudine de tupluri diferite, adică nu relație. Dacă pornim de la cerința ca algebra relațională să fie închisă față de conceptul unei relații, atunci o astfel de operațiune de unire nu are sens.
Toate aceste considerente conduc la apariția noțiunii de compatibilitate a asociației. două relații sunt compatibile în sindicat numai dacă au aceleași anteturi. Mai exact, aceasta înseamnă că anteturile ambelor relații conțin același set de nume de atribute și aceleași atribute sunt definite pe același domeniu.
Dacă două relații sunt compatibile prin uniune, atunci funcționarea obișnuită de combinare, trecere și diferențiere este rezultatul operației cu un antet corect definit care se potrivește cu antetul fiecărei relații de operand. Reamintim că dacă cele două relații sunt "aproape" compatibile cu uniunea, adică sunt compatibile în toate, cu excepția numelor de atribute, apoi înainte de operarea unui tip de conexiune, aceste relații pot fi pe deplin compatibile prin fuzionarea prin aplicarea unei operații de redenumire.
Observăm că includerea în compoziția operațiilor algebrei relaționale a celor trei operații de unire, intersecție și luare a diferenței este evident redundantă, deoarece se știe că oricare dintre aceste operații este exprimată prin celelalte două. Cu toate acestea, Codd a decis în timp util să includă toate cele trei operații bazate pe nevoile intuitive ale potențialului utilizator al sistemului de baze de date relaționale, departe de matematică.
Alte probleme se referă la funcționarea preluării produsului direct al două relații. În teoria seturilor, poate fi obținut un produs direct pentru oricare două seturi, iar elementele setului rezultat sunt perechi compuse din elemente ale primului și celui de-al doilea set. Deoarece relațiile sunt seturi, este posibil să se obțină un produs direct pentru orice două relații. Dar rezultatul nu este o atitudine! Elementele rezultatului nu vor fi tupluri, ci perechi de tupluri.
Prin urmare, algebra relațională folosește o formă specializată a operării de a lua un produs direct - un produs direct extins al relațiilor. Când luăm un produs direct extins de două relații, elementul relației care rezultă este o tuplă care este concatenarea (sau fuzionarea) unei tuple a primei relații și a unei tuple a celei de-a doua relații.
Dar acum se pune a doua întrebare - cum să obțineți antetul corect al relației-rezultat? Evident, problema poate fi numirea atributelor relației rezultate dacă relațiile operand au aceleași atribute.
Aceste considerente conduc la apariția noțiunii de compatibilitate pentru luarea unui produs direct extins. Două relații sunt compatibile cu luarea unui produs direct dacă și numai dacă seturile de nume de atribut ale acestor relații nu se intersectează. Orice două relații pot fi compatibile cu luarea unui produs direct prin aplicarea unei operațiuni de redenumire la una dintre aceste relații.
Trebuie remarcat faptul că funcționarea unei activități directe nu este prea semnificativă în practică. Mai întâi, puterea rezultatului său este foarte mare chiar și cu puterile admise ale operanzilor și, în al doilea rând, rezultatul operației nu este mai informativ decât operanzii luați împreună. Așa cum vom vedea un pic mai târziu, punctul principal de includere a funcționării produsului direct extins în compoziția algebrei relaționale este că pe baza sa se determină o operație de îmbinare cu adevărat utilă.
În ceea ce privește operațiile teoretice stabilite ale algebrelor relaționale, trebuie notat că toate cele patru operații sunt asociative. Deci, dacă denotăm prin OP oricare dintre cele patru operații, atunci (A OP B) OP C = A (B OP C) și, prin urmare, fără introducerea ambiguității, putem scrie A OP B OP C (A, B și C sunt rapoartele , având proprietățile necesare pentru executarea corectă a operației corespunzătoare). Toate operațiile, cu excepția faptului că au o diferență, sunt comutative, adică A OP B = B OP A.