Algebra relațională în baze de date: operații, exemple

Cuprins:

Algebra relațională în baze de date: operații, exemple
Algebra relațională în baze de date: operații, exemple
Anonim

În general, sistemele de baze de date sunt echipate cu un limbaj de interogare care îi poate ajuta pe utilizatori să interogheze instanțe. Există două astfel de tipuri - algebră relațională și calcul relațional. Primul este un limbaj de interogare procedural care ia instanțe de relație ca intrare și scoate exemple de relații ca ieșire. Utilizează calcul unar sau binar pentru aceasta. Algebra relațională este efectuată recursiv, iar rezultatele intermediare sunt tratate ca relații.

Algebra relațională
Algebra relațională

Produs cartezian (Χ)

Combină informații din două relații diferite într-una singură.

Notație – r Χ s, unde r și s sunt rapoarte și rezultatul lor va fi definit ca

r Χ s={qt | q ∈ r și t ∈ s}.

Concluzie. Stabilește o relație care arată toate cărțile și articolele scrise cu tutorialul.

Redenumirea operației (ρ).

Relația algebrei relaționale este rezultatele, dar fără nici un nume. Operația de redenumire vă permite să modificați valoarea de ieșire, notată cu litera greacă mică ρ.

Desemnare – ρ x (E), unde rezultatul expresiei E este stocat cu numelex.

Operații suplimentare:

  • set intersecție;
  • atribuire;
  • conexiune naturală.

Calcul relațional

Acesta este un limbaj de interogare non-procedural, ceea ce înseamnă că vă spune ce să faceți, dar nu explică cum să îl implementați. Calculul relațional există în două forme:

  • calcul de corelație al unui tuplu;
  • filtrarea intervalelor de variabile.

Notație - T/State: returnează toate tuplurile T care îndeplinesc o condiție. Rezultat. Returnează tupluri cu un nume. TRC poate fi cuantificat. Puteți utiliza cuantificatori existențiali (∃) și universali (∀). Concluzie. Interogarea de mai sus va da același rezultat ca și cea anterioară.

Calcul relațional de domeniu DRC

Variabila de filtru folosește domeniul de atribut în loc de valori întregi tuple (după cum se face în TRC menționat mai sus).

Notație – {a 1, a 2, a 3, …, a | P (un 1, un 2, un 3, …, un)}, unde a1, a2 sunt atribute și P denotă formule construite cu valori interne.

Concluzie. Setează articolul, pagina și subiectul din relația TutorialsPoint, unde subiectul este baza de date.

La fel ca TRC, DRC poate fi scris și folosind cuantificatori existențiali și universali. DRC include, de asemenea, operatori de algebră relațională. Puterea expresiei de calcul, calcul și corelare a relațiilor dintre puncte este echivalentă.

relaționalemodel de date algebră relațională
relaționalemodel de date algebră relațională

Variații și scheme ale calculului și algebrei relaționale

Modelul ER, atunci când este conceptualizat în diagrame, oferă o bună imagine de ansamblu asupra relațiilor esențiale care sunt mai ușor de înțeles. Reprezentările schematice pot fi mapate la o schemă relațională, adică pot fi create împreună. Nu este posibil să importați toate constrângerile ER într-un model relațional, dar poate fi generată o structură aproximativă. Există mai multe procese și algoritmi disponibili pentru conversia diagramelor în acest sistem. Unele dintre ele sunt automatizate, în timp ce altele sunt create manual. Diagramele ER constau în principal din următoarele criterii:

  • entitate și atributele acesteia;
  • link, care este o asociere între valorile de mai sus.

Compararea obiectelor și a relațiilor are loc în moduri și scheme diferite. De exemplu, o entitate este un obiect din lumea reală cu anumite atribute. Procesul de potrivire, algoritmul este următorul:

  • creează un tabel pentru fiecare obiect;
  • atribute ar trebui să devină câmpuri de tabel cu tipurile de date corespunzătoare;
  • declară o cheie primară.

O relație este o asociere între entități. Procesul de compilare este următorul:

  • creează un tabel pentru relații;
  • adăugați cheile primare ale tuturor entităților participante ca câmpuri de tabel cu tipuri de date adecvate;
  • dacă relația are vreun atribut, setați fiecare atribut ca câmp de tabel;
  • combină cheia principală care formează totulrestul pentru obiectele participante;
  • specificați toate constrângerile cheii externe.

Afișarea seturilor slabe și a obiectelor ierarhice are loc conform unui anumit sistem. În primul rând, este necesar să înțelegem fundamentele și definițiile esențiale ale acestor valori. Un set de caracteristici slabe este unul care nu are nicio cheie primară asociată. Procesul de afișare este următorul:

  • creează un tabel pentru un set slab de obiecte;
  • adăugați toate atributele la schemă ca câmp;
  • specificați cheia primară pentru identificare;
  • setează toate constrângerile cheii externe.

Afișarea obiectelor ierarhice bazată pe specializarea sau generalizarea limbajului algebrei relaționale are loc sub formă de entități secvențiale. Algoritmul este următorul:

  • creează tabele pentru toate obiectele de nivel inferior;
  • adăugați cheile primare;
  • la un nivel scăzut implementează toate celel alte atribute ale obiectelor de nivel inferior;
  • declară cheile primare ale tabelului;
  • setează constrângeri de cheie străină.
Operații de algebră relațională
Operații de algebră relațională

Opțiuni existente pentru descrierea, stocarea, modificarea informațiilor

SQL este un limbaj de programare pentru baze de date relaționale. Este dezvoltat pe baza calculului de algebră și corelație de tupluri. SQL vine ca un pachet cu toate distribuțiile majore DBMS. Conține atât date, cât și limbaje pentru manipularea acestora. Folosind proprietățile de definire a datelor SQL de algebră relațională, puteți proiecta și modifica schema bazei de date,în timp ce proprietățile de gestionare și ajustare, precum și modificările datelor, vă permit să stocați și să preluați informațiile instalate în sistem. Utilizează următorul set de comenzi pentru a defini structura și sistemul:

  • creează noi baze de date, tabele și vizualizări dintr-un SGBD.
  • lansează comenzi.
  • modifică schema bazei de date.
  • această comandă adaugă un atribut unui obiect șir.

SQL este echipat cu un limbaj de manipulare a datelor (DML). Modifică instanța bazei de date prin inserarea, actualizarea și ștergerea informațiilor. DML este responsabil pentru modificarea tuturor datelor. SQL conține următorul set de comenzi în secțiunea DML:

  1. SELECT este una dintre comenzile de bază de interogare. Este analog cu operația de proiecție a algebrei relaționale. Selectează atributele pe baza condiției descrise în clauza WHERE.
  2. FROM - Această secțiune ia un nume ca argument din care trebuie selectate/proiectate atributele. În cazul în care sunt date mai multe nume, acest articol corespunde produsului cartezian.
  3. UNDE - Această secțiune specifică predicatul sau condițiile care trebuie îndeplinite pentru a califica atributul proiectat.

Există și comenzi:

  • inserare;
  • schimbarea valorilor;
  • ștergere.
Algebra relațională în baze de date
Algebra relațională în baze de date

Crearea de interogări de algebră relațională

La construirea unei căutări, sarcina este de a găsi o structură de operațiuni care să conducă la rezultatul corect. Operațiile de bază ale algebrei relaționale sunt simpleoperații cu una sau două relații ca operanzi. Efectele combinate ale secvenței determină rezultatul final. Deoarece sistemul de algebre relaționale din bazele de date este destul de simplu, multe rezultate intermediare pot fi obținute înainte de a ajunge la rezultatul final, acestea sunt, de asemenea, folosite ca operanzi care produc date noi primite.

Pentru majoritatea operatorilor, ordinea interogărilor și execuția lor nu contează, ceea ce înseamnă că aceeași ieșire poate fi obținută prin modelarea și combinarea datelor intermediare în moduri diferite. În practică, căutările în baze de date sunt destul de ușoare. Sistemul de efectuare a operațiunilor și a rezultatelor intermediare este determinat de optimizatorul de interogări. Când formați întrebări, cerințe, trebuie să

mai întâi să alegeți ce relații sunt necesare pentru a obține un răspuns, apoi să specificați operațiunile și rezultatele intermediare. Structura unei interogări de algebră relațională într-o bază de date de rezultate poate fi reprezentată sub formă de diagramă. Optimizatorii de cerințe încearcă să organizeze execuția cât mai eficient posibil. În practică, aceasta înseamnă de obicei că încearcă să minimizeze rezultatele intermediare cât mai repede posibil. Exemple comune de algebră relațională vă vor ajuta în acest sens.

Exemplu 1.

Necesită informații: informații despre vehiculele din anul model 1996 în care au fost găsite deficiențe în timpul inspecției pentru 1999.

În primul rând, sunt afișate informații despre mașini pentru a înțelege valorile tuturor atributelor relației. Informațiile despre inspecții sunt stocate în tabelul „Inspecție” și, dacă sunt detectatedefecte, acestea sunt înregistrate în tabelul „Probleme”. Astfel, aceste trei tabele sunt necesare pentru a obține informațiile necesare.

Doar mașinile din 1996 sunt interesante. Gama de modele a vehiculului este reprezentată ca valoare a atributului setat în rândul tabelului cu informații despre vehicul. Primul rezultat intermediar este format din tupluri reprezentând variantele din 1996.

Deci sunt necesare numai rândurile care acoperă această perioadă. Trebuie să utilizați o selecție pentru a le extrage. Acum sunt mașini și inspecții care au fost necesare. Șirurile sunt apoi concatenate folosind operația de concatenare. Acestea trebuie să fie alăturate printr-un număr de registru comun, deoarece este singura coloană comună, se folosește o îmbinare naturală.

Pentru a afla dacă au existat probleme în timpul verificărilor, trebuie să asociați liniile cu probleme cu verificarea. După conectarea rândurilor de control la mașini, puteți conecta acest rezultat la tabelul de erori. Afilierea trebuie să se bazeze pe numărul comun de înregistrare și pe data verificată. Acestea sunt singurele coloane comune din tabele, așa că este folosită o îmbinare naturală.

Algebra relațională este un limbaj
Algebra relațională este un limbaj

Opțiuni de calcul fără rezultate intermediare

Exemplu 2.

Informații obligatorii: Numele șoferului pentru vehiculele din anul model 1995 sau mai vechi care nu au fost testate pentru anul 2000. Numele se află în tabelul „Driver”. Organismele de aplicare a legii sunt descrise în tabelul „Inspecție și mașini într-o cantină”. Asa deAstfel, aceste trei tabele sunt necesare. În primul rând, trebuie să aflați mașinile care nu au fost inspectate pentru anul 2000. Nu este posibil să se rezolve această problemă folosind doar inspecțiile enumerate în tabel, deoarece conține date despre acele inspecții care au fost efectuate și nu despre cele care nu au fost implementate. Această problemă este rezolvată prin căutarea unor mașini complementare care sunt verificate înainte de anul 2000. De fapt, sunt necesare doar numerele lor de înregistrare.

Există și alte exemple, în afară de cele de mai sus, care arată cum să schimbi sau să găsești informații. Variantele de interogare pot fi optimizate folosind operații speciale. De fapt, pentru a face căutarea și găsirea datelor cât mai ușoară și simplă posibil, există un model de calcul relațional.

Unde informațiile sunt securizate și protejate

Modelul de date relaționale al algebrei relaționale este stocat în formate de fișiere care conțin înregistrări. La nivel fizic, informațiile reale sunt fixate într-un format electromagnetic pe un dispozitiv. Aceste dispozitive de stocare pot fi împărțite în trei categorii:

  1. Primar. Această categorie include memoria care este direct accesibilă procesorului. Registrele, memoria rapidă (cache) și memoria principală (RAM) sunt direct accesibile centralei, deoarece toate se află pe placa de bază sau pe chipset. Această stocare este de obicei foarte mică, ultra-rapidă și instabilă. Este necesară o sursă de alimentare constantă pentru a menține starea. Dacă eșuează, toate datele sale se pierd.
  2. Secundar. Folosit pentru a stoca informații pentru viitorutilizare sau backup. Include dispozitive de memorie care nu fac parte din chipsetul procesorului sau din placa de bază, cum ar fi discuri magnetice, discuri optice (DVD-uri, CD-uri etc.), hard disk-uri, unități flash și benzi magnetice.
  3. Tertiar. Folosit pentru a stoca cantități uriașe de date. Deoarece astfel de dispozitive de stocare sunt externe sistemului informatic, ele sunt cele mai lente din punct de vedere al vitezei. Aceste gadget-uri de stocare sunt utilizate în principal pentru a face copii de rezervă ale întregului sistem. Discurile optice și benzile magnetice sunt utilizate pe scară largă ca stocare terțiară.

Operațiile speciale de algebră relațională sunt importante pentru eficiența interogărilor.

Structură de stocare

Sistemul informatic are o ierarhie de memorie bine definită. CPU are acces direct la sistemul principal, precum și la registrele încorporate. Timpul de acces la memoria principală este evident mai mic decât viteza procesorului. Pentru a minimiza această discrepanță, se introduce un cache. Memoria cache oferă cei mai rapidi timpi de acces și conține datele care sunt accesate cel mai frecvent de procesor.

Memoria cu cel mai rapid acces este cea mai scumpă. Dispozitivele de stocare mari oferă o viteză mică și sunt mai ieftine, dar pot stoca cantități uriașe de date în comparație cu un registru sau cache de procesor.

Discurile magnetice și hard disk-urile sunt cele mai comune dispozitive de stocare secundare în sistemele informatice de astăzi. Se numesc magneticebaza metalica. Aceste discuri sunt plasate vertical pe ax. Capul de citire/scriere se deplasează între ele și este folosit pentru a magnetiza sau îndepărta un astfel de loc de dedesubt. Poate fi recunoscut ca 0 (zero) sau 1 (unu).

Discurile hard sunt formatate într-o ordine bine definită pentru stocarea eficientă a datelor. Are multe cercuri concentrice numite căi. Fiecare piesă este împărțită în sectoare, stocând de obicei 512 octeți de date.

algebră relațională SQL
algebră relațională SQL

Operațiuni cu fișiere

Operațiile pe sistemul de limbaj algebră relațională și baza de date a acestuia pot fi clasificate în linii mari în două categorii:

  • actualizare;
  • căutare.

Prima categorie modifică valorile datelor prin inserarea, ștergerea sau actualizarea. Pe de altă parte, operațiunile de căutare nu editează informații, ci le extrag după filtrarea condiționată opțională. În ambele tipuri de operațiuni, selecția joacă un rol semnificativ. Pe lângă crearea și ștergerea unui fișier, pot fi mai multe operațiuni care pot fi efectuate asupra acestora:

  1. Open - există în unul dintre cele două moduri de citire sau scriere. În primul caz, sistemul de operare nu permite nimănui să schimbe datele. Cu alte cuvinte, datele sunt doar citite. Fișierele deschise în modul de citire pot fi partajate între mai multe obiecte. Modul de scriere vă permite să schimbați datele. Fișierele pot fi citite, dar nu pot fi partajate.
  2. Închidere este cea mai importantă operațiune din punct de vedere al sistemului de operare, deoarece elimină toate blocajele(dacă se află în modul partajat), salvează datele (dacă sunt modificate) pe medii secundare și eliberează toate tampoanele și dispozitivele de gestionare asociate fișierului.
  3. Indexarea este o metodă de structură a informațiilor pentru extragerea eficientă a înregistrărilor din fișierele unui sistem pe baza unor atribute în care sistemul a fost implementat. Definit pe baza atributelor.

Indexarea poate fi de următorul tip:

  1. Primar este definit în fișierul de date comandat. Fișierul de informații este organizat în câmpul cheie.
  2. Index secundar generat dintr-un câmp care este o cheie candidată și are o valoare unică în fiecare înregistrare sau nu o cheie cu valori duplicate.
  3. Clusteringul este definit într-un fișier de date ordonat, într-un câmp fără cheie.
algebră relațională calcul relațional
algebră relațională calcul relațional

Un sistem de gestionare a bazelor de date sau DBMS se referă la o tehnologie pentru stocarea și preluarea informațiilor despre utilizator cu eficiență maximă, împreună cu măsurile de securitate adecvate. O examinare mai atentă a acestei probleme duce la concluzia că algebra relațională este un limbaj al operatorilor care iau relații ca argumente și le returnează ca rezultat.

Recomandat: