Operație comună de îmbinare

O operație generală de asociere (denumită și o conexiune de condiție) necesită prezența a două operanzi - relațiile conectate și cel de-al treilea operand - o condiție simplă. Să conectat relația A și B. Ca și în cazul limitei operare, compuși comp sau condiție este (a comp-op b) sau (un const comp-op), unde a și b - A nume de relatii si atribute B, const este o constantă definită literal și comp-op este o operație de comparație valabilă în acest context.







Apoi, prin definiție, rezultatul operației de comparație este relația obținută prin efectuarea unei operații de constrângere asupra condiției comp a produsului direct al relațiilor A și B.

Definiție 9. Fie relația A să conțină atributul X, relația B conține atributul Y, iar Θ este unul dintre operatorii de comparare (etc.). Apoi, conexiunea Θ a relației A în raport cu atributul X cu relația B prin atributul Y este relația

(A TIMES B) DACĂ XΘY

Acesta este un caz special al unei operațiuni generale de conectare. Uneori, pentru operațiunea Θ-conexiune se utilizează următoarea sintaxă mai scurtă: A [XΘY] B

Exemplul 8. Luați în considerare o companie care stochează date despre furnizori și piese furnizate. Furnizați furnizorilor și părților un anumit statut. Să afacerile companiei este organizată în așa fel încât furnizorii au dreptul de a livra numai acele elemente a căror stare nu este mai mare decât furnizorul (sensul statutului poate fi faptul că un furnizor bun cu statut de mare poate furniza mai multe tipuri de piese și furnizor sărac cu statut scăzut poate furniza doar o listă limitată de detalii, importanța căruia (statutul părții) nu este foarte mare.

Tabelul 15 Raportul "Ce furnizori furnizează ce părți"

Dacă reflectăm cu atenție la această definiție, este clar că, în general, utilizarea unei condiții de compus va reduce în mod semnificativ cardinalitatea relațiilor de produse intermediare operanzi directe numai în cazul în care conditie join are forma (un comp-op b), unde a și b - Numele atributelor diferitelor relații de operand. Prin urmare, în practică, se consideră de obicei că operațiunile reale ale conexiunii sunt operațiile care se bazează pe condiția legăturii dintre speciile reduse.

Deși funcționarea unei interpretări în interpretarea noastră nu este primitivă (deoarece este definită folosind produsul direct și proiecția), datorită importanței sale practice deosebite, ea este inclusă în setul de bază al algebrei relaționale. Rețineți, de asemenea, că, în aplicațiile practice, conexiunea nu este efectuată, de obicei, doar ca o limitare a produsului direct. Există algoritmi mai eficienți care garantează același rezultat.







Există un caz special important de conectare - un equi-join și o extensie simplă, dar importantă a operațiunii equi-join - o conexiune naturală.

O operație de asociere se numește operație equi-join dacă condiția join are forma (a = b), unde a și b sunt atributele diferitelor operandi de conexiune. Acest caz este important deoarece (a) se întâlnește adesea în practică și (b) există algoritmi eficienți de implementare pentru acesta.

Exemplul 9. Să fie relații, și stocare a informațiilor despre furnizori, piese si consumabile, respectiv (pentru comoditate vom introduce un nume scurt atribute):

Tabelul 19 Relația "Ce părți sunt furnizate prin care furnizorii"

Dezavantajul echidistante conexiune este că, în cazul în care conexiunea se bazează pe atribute cu nume identice (și de multe ori se întâmplă!), În ceea ce privește rezultatiruyuschem apare două atribute cu aceleași valori. În exemplul nostru, atributele PNUM1 și PNUM2 conțin date duplicate. Puteți să scăpați de acest defect luând o proiecție asupra tuturor atributelor, cu excepția unuia dintre duplicate. Acesta este modul în care funcționează conexiunea naturală.

Funcția de îmbinare naturală se aplică unei perechi de relații A și B care au un atribut comun (eventual compozit) c (adică un atribut cu același nume și definit pe același domeniu). Fie ab unind legătura dintre rubricile relațiilor A și B. Apoi legătura naturală A și B este rezultatul egalelor A și B pe A / c și BBC, proiectate pe ab. Dacă amintim definiția cheii externe a relației introduse la sfârșitul capitolului precedent, ar trebui să devină clar că scopul principal al funcționării unei conexiuni naturale este posibilitatea de a restabili o entitate complexă descompusă datorită cerinței primei forme normale. Funcționarea unei conexiuni naturale nu este inclusă direct în setul de operații algebrice relaționale, dar are o semnificație practică foarte importantă.

18. Limbaj de interogare structurat SQL. Operatorii din DDL-DataDefinitionLanguage includ toți operatorii utilizați pentru a defini schema bazei de date și obiecte de schemă.

Limbajul non-procedural SQL (Language Structured Query Language) este orientat spre operații cu date reprezentate ca seturi de tabele interconectate logic. Particularitatea propozițiilor acestei limbi este că ele sunt orientate într-o măsură mai mare asupra rezultatului final al prelucrării datelor decât asupra procedurii pentru această prelucrare. SQL se determină în cazul în care sunt stocate datele, care indexează și chiar și cea mai eficientă secvență de operații ar trebui să fie utilizate pentru a le obține: nu este necesar să se specifice aceste detalii în interogare a bazei de date.

Operatorii DDL (Data Definition Language) sunt operatorii pentru definirea obiectelor bazei de date

CREATE SCHEMA - creați o schemă de bază de date

DROP SHEMA - eliminați schema bazei de date

CREATE TABLE - Creați un tabel

ALTER TABLE - tabelul de schimbare

DROP TABLE - ștergeți tabelul

CREATE DOMAIN - creați un domeniu







Articole similare

Trimiteți-le prietenilor: