Bazele de date relaționale
În comparație cu modelul de mai sus un model de baze de date relaționale necesită un nivel mult mai ridicat de complexitate. Este o încercare de a scuti de programator de la sarcinile de rutină de gestionare a datelor, atât de caracteristic modelelor ierarhice și de rețea.
În baza de date a modelului relațional este un tabele depozit de centrale care oferă acces simultan securizat la date de la mai mulți utilizatori. Într-un rând de tabel de câmpuri conțin date legate direct de înregistrare, iar unele - o referire la înregistrările în alte tabele. Astfel, legătura dintre înregistrările sunt o caracteristică esențială a modelului relațional.
Fiecare intrare de masă are aceeași structură. De exemplu, într-un tabel care conține descrieri de mașini, toate înregistrările vor fi același set de câmpuri: producător, model, an, kilometraj, etc. Aceste tabele sunt ușor de a reprezenta grafic.
Modelul relațional se realizează prin informații și independența structurală. Intrările nu sunt legate, astfel că o schimbare într-una dintre ele a atins ceilalți, ci o schimbare în structura bazei de date nu duce neapărat la recompilați aplicațiile care lucrează cu ea.
În baze de date relaționale, limbajul SQL este utilizat, care permite să formuleze interogări arbitrare, ad-hoc. Această limbă a patra generație, astfel încât orice utilizator poate învăța rapid cum să facă cereri. În plus, există multe aplicații care permit interogări pentru a construi circuite logice grafic. Toate acestea se datorează unor cerințe mai stricte pentru performanța calculatoarelor. Din fericire, putere de calcul moderne sunt mai mult decât adecvate.
Baze de date relationale sunt afectate de diferențele în punerea în aplicare a limbajului SQL, deși nu este o problemă a modelului relațional. Fiecare RDBMS pune în aplicare unele subset al standardului SQL, plus un set de comenzi unice, ceea ce face dificil pentru programatori care încearcă să se mute dintr-o bază de date la alta. Trebuie să facă o alegere dificilă între portabilitate maximă și performanțe maxime. În primul caz, este necesar să adere la un set minim comun de comenzi care sunt acceptate în fiecare SGBD. În al doilea caz, programatorul pur si simplu sa concentrat pe lucrul în această bază de date special. profitând de comenzi unice și funcții.
MySQL - o bază de date relațională. iar acest curs este dedicată studiului modelului relațional. Dar teoria bazelor de date nu se opune în continuare. Există tehnologii noi care se extind modelul relațional.
Baze de date orientate obiect
baze de date orientate-obiect (OODB) permite programatorilor care lucreaza cu limbaje de generația a treia, să interpreteze toate informațiile lor ca natura obiectelor care sunt stocate în memorie. Interfața opțională oferă un strat de abstractizare pentru a intercepta interogările care accesul la acele părți ale bazei de date, care sunt depozitate permanent pe disc. Modificările aduse obiectelor transferate în mod optim din memorie pe disc.
OODB avantaj este codul simplificat. Aplicațiile sunt în măsură să interpreteze datele în contextul limbajului de programare în care au fost scrise. Baza de date relațională returnează valorile tuturor câmpurilor într-un format de tabel, iar apoi acestea sunt date la tipurile de date locale. In OODB, acest pas a eliminat. Metodele de manipulare a datelor rămân întotdeauna aceleași, indiferent dacă datele de pe disc sau în memorie.
Datele din OODB pot lua forma de orice structură care poate fi exprimată în limbajul de programare folosit. Relațiile dintre entități pot fi, de asemenea, în mod arbitrar complexe. OODB controlează obiectele tampon cache, obiecte între stocare pe disc și tampon în mișcare după cum este necesar.
Utilizarea OODB rezolvat două probleme. În primul rând, structurile de informații complexe, exprimate în ele mai bine decât bazele de date relaționale, și în al doilea rând, eliminând necesitatea de a traduce datele din formatul pe care este susținută de SGBD. De exemplu, într-o dimensiune bază de date relațională de numere întregi poate fi de 11 cifre, iar în limbajul de programare - 16. Programatorul va trebui să țină seama de această situație.
baze de date orientate pe obiect efectua multe funcții suplimentare. Se amortizează, în cazul în care relația dintre foarte complex. În acest caz, performanța OODB este mai mare decât cea a bazei de date relaționale. În cazul în care datele sunt mai puțin complexe, mai multe caracteristici sunt redundante. Modelul de date obiect suportă interogări ad-hoc, dar limba de pregătirea lor nu este neapărat SQL. Vederea logică a datelor pot să nu reflecte modelul relațional, astfel încât aplicația SQL va fi lipsită de sens. Adesea este mai convenabil să se ocupe de obiecte în memorie, urmați tipurile adecvate de căutări.
Marele dezavantaj al bazelor de date orientate-obiect este relația lor strânsă cu limbajul de programare. Datele stocate într-o bază de date relațională. poate avea acces la orice aplicație, în timp ce, de exemplu, Java-obiect plasat într-un OODB va fi de interes numai pentru aplicații scrise în Java.
Baze de date obiect-relaționale
Sistem de management de baze de date relaționale-obiect combină caracteristicile modelelor relaționale și obiect. Aspectul lor se explică prin faptul că bazele de date relaționale funcționează bine cu built-in tipurile de date și mult mai rău - cu personalizate, non-standard. Atunci când există un important nou tip de date trebuie să fie includă sprijinul în SGBD. fie pentru a forța programator pentru a gestiona datele în aplicație.
Nu toate informațiile sunt interpretare semnificative sub forma unor lanțuri de simboluri sau numere. Imaginați-vă o bază de date de muzică. Un cântec codificat sub forma unui fișier audio, puteți pune în câmpul de text mare, dar în acest caz va fi o căutare de text?
Restructurarea bazei de date pentru a include în sprijinul ei pentru un nou tip de date - nu cel mai bun cale de ieșire. În schimb, sistemul de management al bazelor de date relaționale-obiect vă permite să încărcați codul proiectat să se ocupe de baze de date „non-standard“. Astfel, baza de date menține structura de masă, ci o metodă de prelucrare a anumitor tabele câmpuri determinate din exterior, adică, programator.