Sisteme de gestionare a bazelor de date. mijloace de implementare a meniurilor, formulare de ecran pentru introducerea/ieșirea datelor și generarea de rapoarte. Tipuri de modele de baze de date

Tipuri de modele de baze de date

SGBD-urile folosesc modele de date diferite. Cele mai vechi sisteme pot fi împărțite în baze de date ierarhice și de rețea - acestea sunt modele pre-relaționale.

Model ierarhic

ÎN model ierarhic elementele sunt organizate în structuri interconectate prin relații ierarhice sau arborescente. Un element părinte poate avea mai multe elemente copil. Dar un element copil nu poate avea decât un strămoș.

« Sistem de management al informației» ( Sistemul de management al informației) de la IMB este un exemplu de SGBD ierarhic.

Modelul ierarhic organizează datele sub forma unui arbore cu o ierarhie de segmente părinte și copil. Acest model implică posibilitatea existenței unor ( predominant filiale) elemente. Datele de aici sunt stocate într-o serie de înregistrări cu câmpuri de valoare atașate. Modelul colectează împreună toate instanțele unei anumite înregistrări ca „tipuri de înregistrări” - acestea sunt echivalente cu tabelele din modelul relațional, iar înregistrările individuale sunt coloanele unui tabel. Pentru a crea relații între tipurile de înregistrări, modelul ierarhic folosește relații precum " părinte-copil» tip 1:N. Acest lucru se realizează prin utilizarea unei structuri arborescente - este „împrumutat” din matematică, ca și teoria mulțimilor utilizată în modelul relațional.

Sisteme de baze de date ierarhice

Să luăm ca exemplu model de date ierarhice o organizație care stochează informații despre angajatul său: numele, numărul angajatului, departamentul și salariul. Organizația poate stoca, de asemenea, informații despre copiii săi, numele și datele de naștere ale acestora.

Datele despre angajat și copiii săi formează o structură ierarhică, în care informațiile despre angajat sunt elementul părinte, iar informațiile despre copii sunt elementul copil. Dacă un angajat are trei copii, atunci trei copii vor fi asociați elementului părinte. Într-o bază de date ierarhică relația " părinte-copil„Este o relație unu-la-mulți. Adică, un element copil nu poate avea mai mult de un strămoș.

Bazele de date ierarhice au fost populare de la sfârșitul anilor 1960, când IBM și-a introdus sistemul de management al informațiilor DBMS. Diagrama ierarhică constă din tipuri de înregistrări și „ părinte-copil»:

  • O înregistrare este o colecție de valori de câmp.
  • Înregistrările de același tip sunt grupate în tipuri de înregistrări.
  • O relație părinte-copil este o relație 1:N între două tipuri de înregistrări.
  • O schemă de bază de date ierarhică constă din mai multe scheme ierarhice.

Model de rețea

În modelul de date de rețea un element părinte poate avea mai mulți copii și un element copil poate avea mai mulți strămoși. Înregistrările din acest model sunt legate prin liste cu pointeri. IDMS(" Sistem integrat de management al datelor") de la companie Computer Associates International Inc.- un exemplu de SGBD de rețea.

Modelul ierarhic structurează datele sub forma unui arbore de înregistrări, unde există un element părinte și mai mulți copii. Modelul de rețea permite ca mai mulți strămoși și descendenți să formeze o structură de rețea.

Modelul de rețea vă permite să modelați mai natural relațiile dintre elemente. Deși acest model a fost utilizat pe scară largă în practică, nu a devenit niciodată dominant din două motive principale. În primul rând, IBM a decis să nu abandoneze modelul ierarhic în extensii la produsele sale precum IMS și DL/I. În al doilea rând, după ceva timp a fost înlocuit cu modelul relațional, care oferea o interfață declarativă de nivel superior.

Popularitatea modelului de rețea a coincis cu popularitatea modelului ierarhic. Unele date sunt mult mai naturale de modelat cu mai mulți strămoși pentru un singur copil. Modelul de rețea a făcut posibilă modelarea relațiilor multi-la-mulți. Standardele sale au fost definite oficial în 1971 la Conferința privind limbajele sistemelor de procesare a datelor ( CODASYL).

Element principal model de date de rețea- un set care constă dintr-un tip de înregistrare proprietar, un nume de set și un tip de înregistrare membru. O înregistrare subordonată („înregistrare membru”) își poate îndeplini rolul în mai mult de un set. În consecință, conceptul de părinți multipli este susținut.

O înregistrare de nivel superior („înregistrarea proprietarului”) poate fi, de asemenea, „membru” sau „proprietar” în alte seturi. Modelul de date este o rețea simplă, conexiuni, tipuri de intersecție a înregistrărilor ( în IDMS se numesc înregistrări de joncțiune, adică „înregistrări încrucișate). Și, de asemenea, seturi care le pot combina. Astfel, rețeaua completă este reprezentată de mai multe mulțimi pe perechi.

În fiecare dintre ele, un tip de înregistrare este „proprietarul” ( „săgeata” de legătură se îndepărtează de ea), iar unul sau mai multe tipuri de înregistrare sunt „membri” ( o săgeată indică spre ei). De obicei, într-un set există un raport de 1:M, dar este permis și un raport de 1:1. Modelul de date al rețelei CODASYL se bazează pe teoria mulțimilor matematice.

Baze de date de rețea cunoscute:

  • TurboIMAGE;
  • IDMS;
  • RDM încorporat;
  • Server RDM.

Model relațional

Într-un model relațional, spre deosebire de un model ierarhic sau de rețea, nu există relații fizice. Toate informațiile sunt stocate în formular tabele (relații) format din rânduri și coloane. Și datele a două tabele sunt conectate prin coloane comune, și nu prin legături fizice sau pointeri. Există operatori speciali pentru manipularea serii de date.

Spre deosebire de celelalte două tipuri de SGBD, în modelele de date relaţionale nu este nevoie să se uite prin toate indicatorii, ceea ce facilitează executarea de interogări pentru a prelua informații în comparație cu SGBD-urile de rețea și ierarhice. Acesta este unul dintre principalele motive pentru care modelul relațional s-a dovedit a fi mai convenabil. SGBD relaționale comune: Oracle, Sybase, DB2, Ingres, Informix și MS-SQL Server.

« În modelul relațional, atât obiectele, cât și relațiile lor sunt reprezentate doar prin tabele și nimic mai mult.».

RDBMS este un sistem de management al bazelor de date relaționale bazat pe modelul relațional al lui E. F. Codd. Vă permite să definiți aspectele structurale ale datelor, procesarea relațiilor și integritatea. Într-o astfel de bază de date, conținutul informațional și relațiile din cadrul acestuia sunt prezentate sub formă de tabele - seturi de înregistrări cu câmpuri comune.

Tabelele relaționale au următoarele proprietăți:

  • Toate valorile sunt atomice.
  • Fiecare rând este unic.
  • Ordinea coloanelor nu este importantă.
  • Ordinea rândurilor nu este importantă.
  • Fiecare coloană are propriul nume unic.

Unele câmpuri pot fi definite ca câmpuri cheie. Aceasta înseamnă că indexarea va fi utilizată pentru a accelera căutarea unor valori specifice. Când câmpurile din două tabele diferite primesc date din același set, puteți utiliza operatorul JOIN pentru a selecta înregistrările aferente din cele două tabele prin potrivirea valorilor câmpului.

Adesea, câmpurile vor avea același nume în ambele tabele. De exemplu, tabelul „Comenzi” poate conține perechi de „ID client” și „cod produs”. Și în tabelul „Produs” pot exista perechi de „cod produs” și „preț”. Prin urmare, pentru a calcula o chitanță pentru un anumit cumpărător, este necesar să rezumați prețul tuturor bunurilor achiziționate de acesta, folosind JOIN în câmpurile „cod produs” din aceste două tabele. Aceste acțiuni pot fi extinse la combinarea mai multor câmpuri în mai multe tabele.

Deoarece relațiile de aici sunt determinate doar de timpul de căutare, bazele de date relaționale sunt clasificate ca sisteme dinamice.

Comparația a trei modele

Primul model de date, ierarhic, are o structură arborescentă (“ părinte-copil"), și acceptă doar relațiile unu-la-unu sau unu-la-mulți. Acest model permite achiziționarea rapidă a datelor, dar îi lipsește flexibilitatea. Uneori rolul elementului ( părinte sau copil) este neclară și nu se potrivește modelului ierarhic.

Al doilea, model de date de rețea, are o structură mai flexibilă decât una ierarhică și susține relațiile" multi la multi" Dar devine rapid prea complex și incomod de gestionat.

Al treilea model – relațional – este mai flexibil decât ierarhic și mai ușor de gestionat decât în ​​rețea. Modelul relațional este cel mai des folosit astăzi.

Un obiect din modelul relațional este definit ca o poziție a informațiilor stocate într-o bază de date. Un obiect poate fi tangibil sau intangibil. Un exemplu de entitate corporală ar fi un angajat al unei organizații, iar un exemplu de entitate necorporală ar fi un cont de client. Obiectele sunt definite prin atribute - afișarea informațiilor despre proprietățile obiectului. Aceste atribute sunt cunoscute și sub numele de coloane, iar un grup de coloane este cunoscut și ca rând. O serie poate fi definită și ca o instanță a unui obiect.

Obiectele sunt conectate prin relații, ale căror principale tipuri pot fi definite după cum urmează:

"Unu la unu"

În acest tip de relație, un obiect este conectat la altul. De exemplu, Manager -> Departament.

Fiecare manager poate avea un singur departament și invers.

„Unul la mulți”

În modelele de date, relația dintre un obiect și mai multe. De exemplu, Angajat -> Departament.

Fiecare angajat poate fi doar într-un departament, dar un departament poate avea mai mult de un angajat.

„Mulți la mulți”

La un moment dat, un obiect poate fi asociat cu oricare altul. De exemplu, Angajat -> Proiect.

Un angajat poate participa la mai multe proiecte, iar fiecare proiect poate implica mai mulți angajați.

În modelul relațional, obiectele și relațiile lor sunt reprezentate printr-o matrice sau tabel bidimensional.

Fiecare tabel reprezintă un obiect.

Fiecare tabel este format din rânduri și coloane.

Relațiile dintre obiecte sunt reprezentate prin coloane.

Fiecare coloană reprezintă un atribut al unui obiect.

Valorile coloanelor sunt selectate din regiune sau din setul tuturor valorilor posibile.

Coloanele care sunt folosite pentru a lega obiecte sunt numite coloane cheie. Există două tipuri de chei - primară și străină.

Cele primare sunt folosite pentru a defini fără ambiguitate un obiect. O cheie străină este cheia primară a unui obiect care există ca atribut într-un alt tabel.

Avantajele modelului de date relaționale:

  1. Ușurință în utilizare.
  2. Flexibilitate.
  3. Independenta datelor.
  4. Siguranță.
  5. Ușurință în aplicare practică.
  6. Fuziunea datelor.
  7. Integritatea datelor.

Defecte:

  1. Redundanță de date.
  2. Performanta slaba.

Alte modele de baze de date (OODBMS)

Recent, pe piața SGBD-urilor au apărut produse cu modele de date orientate pe obiecte și pe obiecte, precum Gem Stone și Versant DBMS. De asemenea, se efectuează cercetări în domeniul modelelor de date multidimensionale și logice.

Caracteristicile sistemelor de management al bazelor de date orientate pe obiecte (OODBMS):

  • Prin integrarea capabilităților bazei de date cu un limbaj de programare orientat pe obiecte, rezultatul este un SGBD orientat pe obiecte.
  • Un OODBMS reprezintă datele ca obiecte în unul sau mai multe limbaje de programare.
  • Un astfel de sistem trebuie să îndeplinească două criterii: trebuie să fie un SGBD și trebuie să fie orientat pe obiecte. Adică, ar trebui, pe cât posibil, să corespundă limbajelor moderne de programare orientate pe obiecte. Primul criteriu implică: stocarea pe termen lung a datelor, gestionarea stocării secundare, acces paralel la date, capacitatea de recuperare și suport pentru interogări ad-hoc. Al doilea criteriu implică: obiecte complexe, identitatea obiectului, încapsulare, tipuri sau clase, mecanism de moștenire, suprascrie în combinație cu legarea dinamică, extensibilitate și completitudine computațională.
  • OODBMS-urile oferă capacitatea de a modela datele ca obiecte.

Precum și suport pentru clasele de obiecte și moștenirea proprietăților și metodelor claselor pe subclase și obiectele acestora.

Miezul oricărei baze de date este modelul de date. Model de date - un set de structuri de date și operațiuni de prelucrare .

Un SGBD se bazează pe utilizarea unui model ierarhic, de rețea sau relațional, a unei combinații a acestor modele sau a unui subset al acestora.

Model ierarhic de date.

Conceptele de bază ale unei structuri ierarhice includ: nivel, element, conexiune. Nod este o colecție de atribute de date care descriu un obiect. Într-o diagramă arborescentă ierarhică, nodurile sunt reprezentate ca vârfuri în grafic. Fiecare nod de la un nivel inferior este conectat doar la un singur nod de la un nivel superior. Un arbore ierarhic are un singur vârf (rădăcina arborelui), care nu este subordonat niciunui alt vârf și este situat la nivelul superior (primul) (vezi Fig. 5).

Orez. 5. Model ierarhic de date

Fiecare înregistrare de bază de date are o singură cale (ierarhică) de la înregistrarea rădăcină. De exemplu, pentru înregistrarea C4 calea trece prin înregistrările A și B3.

Un exemplu de structură ierarhică. Fiecare student învață într-o anumită (doar o singură) grupă, care aparține unei anumite (doar o singură) facultate (vezi Fig. 6).

Orez. 6. Exemplu de organizare ierarhică a datelor

Model de date de rețea

Într-o structură de rețea, fiecare element poate fi conectat la orice alt element (vezi Figura 7).

Orez. 7. Model de date de rețea

Un exemplu de structură de rețea. O bază de date care conține informații despre studenții care participă la proiecte de cercetare (SRW). Este posibil ca un student să participe la mai multe proiecte de cercetare, precum și ca mai mulți studenți să participe la dezvoltarea unui proiect de cercetare (vezi Fig. 8).

Orez. 8. Exemplu de organizare a datelor în rețea

Model de date relaționale

Aceste modele se caracterizează printr-o structură de date simplă, o prezentare ușor de utilizat și capacitatea de a utiliza aparatul formal al algebrei relaționale.

Modelul relațional se concentrează pe organizarea datelor sub formă de tabele bidimensionale. Fiecare tabel relațional (relație) este o matrice bidimensională și are următoarele proprietăți:

· fiecare element de tabel este un element de date;

· toate coloanele din tabel sunt omogene, i.e. toate elementele dintr-o coloană au același tip (numeric, caracter etc.) și lungime;

Fiecare coloană are un nume unic;

· nu există rânduri identice în tabel;

· ordinea rândurilor și coloanelor poate fi arbitrară.

Exemplu. Un tabel relațional poate fi folosit pentru a prezenta informații despre studenții care studiază la o universitate.

Se apelează un câmp a cărui valoare identifică în mod unic înregistrarea corespunzătoare cu o cheie simplă(câmp cheie). Dacă înregistrările sunt definite în mod unic de valorile mai multor câmpuri, atunci un astfel de tabel de bază de date are cheie compusă.

Pentru a lega două tabele relaționale, trebuie să includeți cheia primului tabel ca parte a cheii celui de-al doilea tabel (cheile pot coincide); în caz contrar, trebuie să intrați în structura primului tabel cheie externă- cheia celui de-al doilea tabel.

Aceleași date pot fi grupate în tabele în moduri diferite. Gruparea atributelor în tabele ar trebui să fie rațională, adică minimizarea dublării datelor și simplificarea procedurii de prelucrare a acestora.

Normalizarea relațiilor - un aparat formal de restricții privind formarea de relații (tabele), care elimină dublarea, asigură consistența celor stocate în baza de date și reduce costurile cu forța de muncă pentru menținerea (introducerea, ajustarea) bazei de date.

Există cinci forme normale de relații. Aceste formulare sunt menite să reducă redundanța informațiilor de la prima la a cincea formă normală. Prin urmare, fiecare formă normală ulterioară trebuie să satisfacă cerințele formei anterioare și unele condiții suplimentare. În proiectarea practică a bazelor de date, formele a patra și a cincea nu sunt, de regulă, utilizate.

Să luăm în considerare procedura de normalizare folosind exemplul de proiectare a unei baze de date cu mai multe tabele. Vânzări care contine urmatoarele informatii:

· Informații despre cumpărători.

· Data comenzii si cantitatea de bunuri comandate.

· Data finalizării comenzii și cantitatea de mărfuri vândute.

· Caracteristicile produsului vândut (nume, cost, marcă).

Tabelul 2. Structura tabelului Vânzări

Masa Vânzări poate fi considerată ca o bază de date cu un singur tabel. Problema principală este că conține o cantitate semnificativă de informații repetitive. Această structură de date provoacă următoarele probleme care apar atunci când lucrați cu baza de date:

· Trebuie să petreceți o cantitate semnificativă de timp introducând date repetitive. De exemplu, pentru toate comenzile plasate de același cumpărător, va trebui să introduceți de fiecare dată aceleași informații despre cumpărător.

· Când adresa sau numărul de telefon al unui client se schimbă, toate înregistrările care conțin informații despre comenzile clientului respectiv trebuie ajustate.

· Prezența informațiilor duplicate va duce la o creștere nejustificată a dimensiunii bazei de date. Ca urmare, viteza de execuție a interogării va scădea. În plus, datele duplicate risipesc spațiul pe disc al computerului.

· Orice situație de urgență va necesita timp semnificativ pentru a obține informațiile necesare.

Orice bază de date reflectă informații despre un anumit domeniu. În funcție de nivelul de abstractizare la care este reprezentat un domeniu de problemă, există diferite niveluri de modele de date. Un model de date informaționale este o modalitate de a descrie informațiile conținute într-un domeniu. În cele ce urmează, vor fi luate în considerare modele de date structurate. Pentru aceste modele, există patru niveluri principale de modele: infologic (conceptual), datalogic sau logic, fizic și nivelul modelelor externe.

La primul nivel, descrierea domeniului subiectului este construită astfel încât să fie cât mai generală posibil, să nu depindă de caracteristicile SGBD selectate ulterior, iar informațiile sunt accesibile unei categorii largi de utilizatori: de la clienți la sistem. programatori care vor proiecta o bază de date pe baza acestui model. Pentru a face acest lucru, informațiile inițiale despre domeniul subiectului sunt analizate și prezentate într-o formă formalizată. Această descriere oficială a domeniului subiectului ar trebui să reflecte specificul acesteia și să fie utilizată în etapele următoare de proiectare a structurii bazei de date în contextul caracteristicilor SGBD-ului specific selectat. O astfel de descriere formalizată a domeniului subiectului se numește model infologic sau conceptual.

Apoi se construiește un model în ceea ce privește DBMS-ul specific selectat pentru proiectarea bazei de date. Acest nivel se numește model datalogic (logic). Descrierea structurii datalogice a bazei de date în limba SGBD selectat se numește schema acesteia.

Următorul nivel este modelul de date fizice. În cadrul acestui model se determină metode de plasare fizică a datelor într-un mediu de stocare și se dezvoltă o așa-numită schemă de stocare a datelor. Deoarece diferite SGBD-uri au capacități și caracteristici diferite ale organizării fizice a datelor, modelarea fizică se realizează numai după dezvoltarea unui model datalogic.

O serie de SGBD-uri moderne au capacitatea de a descrie structura bazei de date din punctul de vedere al unui anumit utilizator. Această descriere se numește model extern. Pentru fiecare tip de utilizator, modelarea externă vă permite să dezvoltați o subschemă a bazei de date bazată pe nevoile diferitelor categorii de utilizatori. Această abordare este convenabilă din punctul de vedere al facilitării muncii utilizatorilor cu baza de date, deoarece utilizatorul poate, fără a ști despre întreaga structură a bazei de date, să lucreze numai cu acea parte a acesteia care este direct legată de el. În plus, mecanismul de creare a subschemelor servește ca mijloc suplimentar de protecție a informațiilor stocate în baza de date.

Astfel, dacă SGBD-ul acceptă capacitatea de a crea subscheme, atunci arhitectura bazei de date devine pe trei niveluri: nivel de schemă de stocare, nivel de schemă și nivel de subschemă.

Să luăm acum în considerare principalele tipuri de modele de date.

Modelul de baze de date ierarhice este unul dintre primele modele de baze de date. Acest lucru se datorează în primul rând faptului că tocmai acest model reflectă cel mai natural conexiuni multiple între obiectele lumii reale, atunci când un obiect acționează ca părinte, cu care sunt asociate un număr mare de obiecte subordonate.

Principiul modelului ierarhic al bazei de date este că toate conexiunile dintre date sunt descrise prin construirea unui grafic ordonat (arborele). Un arbore este ordonat conform unei ierarhii de seturi de elemente numite noduri. Toate nodurile sunt conectate între ele prin ramuri. În acest caz, pentru a descrie schema unei baze de date ierarhice, conceptul de „arbore” este utilizat ca tip de date specific. Acest tip de date este compus și poate include subtipuri sau subarbori. O bază de date este o colecție de arbori, fiecare dintre care în limbajul modelului ierarhic se numește bază de date fizică. Fiecare arbore constă dintr-un singur tip rădăcină (principal, părinte) și un set ordonat asociat de tipuri subordonate (copil). Un tip rădăcină este unul care are subtipuri și fără tipuri de părinte. Tipurile de copii care au același tip de părinte se numesc gemeni. Fiecare dintre tipurile subordonate pentru un anumit tip de rădăcină poate fi un tip de „înregistrare” simplu sau compus.

Există trei tipuri de arbori - arbori echilibrați, dezechilibrati și binari. Într-un arbore echilibrat, fiecare nod are același număr de ramuri. Această organizare a datelor este cea mai simplă din punct de vedere fizic, dar adesea structura logică a datelor necesită un număr variabil de ramuri la fiecare nod, ceea ce corespunde unui arbore dezechilibrat. Arborii binari permit cel mult două ramuri pe nod.

Astfel, un model de bază de date ierarhică poate fi interpretat ca o colecție ordonată de instanțe arborescente, fiecare dintre acestea conținând instanțe de înregistrare. Conținutul real al bazei de date este stocat în câmpurile înregistrărilor. Un câmp de înregistrare este definit ca fiind cea mai mică unitate de date indivizibilă.

Când construiți un model de bază de date ierarhică, trebuie să vă amintiți întotdeauna să susțineți integritatea relațiilor, adică prin aceasta:

  • - există întotdeauna cel puțin un tip părinte, care poate avea un număr arbitrar de tipuri de copii;
  • - tipurile copil nu pot exista fără prezența unui tip părinte, iar pentru fiecare tip subordonat din baza de date există un singur nivel rădăcină;
  • - tipul rădăcină nu are neapărat tipuri subordonate.

Trebuie remarcat faptul că unele notații pot folosi o terminologie diferită. Astfel, în notația American Database Association DBTG (Data Base Task Group), termenul „înregistrare” corespunde termenului „segment”, iar o înregistrare este întregul set de înregistrări care aparțin unei instanțe a „arborescului” tip.

Principalul avantaj al modelului de baze de date ierarhice este viteza relativ mare de procesare a informațiilor la accesarea datelor. Dezavantajele includ greutatea sa în prezența unor conexiuni logice complexe între date.

Modelul bazei de date de rețea este, într-un sens, o generalizare a modelului ierarhic. Principala diferență dintre un model de rețea și unul ierarhic este că într-un model de rețea, un tip subordonat poate avea un număr arbitrar de tipuri părinte. Principalele concepte ale modelului de rețea sunt set, agregat, înregistrare și element de date. În acest caz, un element de date ar trebui să însemne același lucru ca într-un model ierarhic - unitatea minimă de date. Există două tipuri de agregate de date: un agregat vectorial și un agregat de grup repetat. Un agregat de tip vector corespunde unui set de elemente de date. Un agregat de tip grup repetitiv corespunde unei colecții de vectori de date. O înregistrare este o colecție de agregate de date. Fiecare înregistrare are un tip specific și constă dintr-o colecție de instanțe de înregistrare. Un set este un grafic care conectează două tipuri de înregistrări. Astfel, setul reflectă relația ierarhică dintre cele două tipuri de înregistrări. Tipul de înregistrare părinte dintr-un anumit set este numit proprietarul setului, iar tipul de înregistrare secundară este numit membru al aceluiași set. Pentru oricare două tipuri de înregistrări, poate fi specificat orice număr de seturi care le conectează. În acest caz, se poate defini un număr diferit de seturi între cele două tipuri de înregistrări. Cu toate acestea, același tip de înregistrare nu poate fi atât proprietar, cât și membru al unui set.

Un avantaj incontestabil al modelului de date de rețea este posibilitatea de afișare mai flexibilă a conexiunilor multiple între obiecte. Unul dintre cele mai semnificative dezavantaje este complexitatea ridicată a schemei de construcție a bazei de date, care este agravată de slăbirea controlului asupra integrității conexiunilor din cauza numărului lor mare.

Modelul de date relaționale se bazează pe conceptul de relație, care este un tabel bidimensional care conține multe rânduri (tupluri) și coloane (câmpuri sau atribute). Tabelul corespunde unui obiect specific din domeniul subiectului, câmpurile sale descriu proprietatea acestui obiect, iar rândurile sale descriu cazuri specifice ale obiectului. Fiecare relație trebuie să conțină întotdeauna un atribut sau un set de atribute care identifică în mod unic singurul tuplu al acestei relații - cheia primară. Pentru a reflecta relația dintre obiecte, tabelele sunt legate în conformitate cu anumite reguli folosind așa-numitele chei străine, care vor fi discutate în detaliu în secțiunile următoare.

Principalul avantaj al modelului relațional este simplitatea și închiderea logică a acestuia, dar dezavantajul este complexitatea sistemului de descriere a diferitelor relații între tabele.

Dezvoltarea modelului relațional a condus la apariția așa-numitului model de date post-relațional, a cărui principală diferență este admisibilitatea câmpurilor cu mai multe valori (câmpuri ale căror valori constau din multe subvalori). Câmpurile cu mai multe valori pot fi interpretate ca tabele independente încorporate în tabelul sursă. În plus, modelul post-relațional acceptă mai multe câmpuri asociate care formează împreună o asociere: în fiecare rând, prima valoare a unei coloane de asociere corespunde primelor valori ale tuturor celorlalte coloane de asociere.

Principalul avantaj al modelului post-relațional este că vă permite să stocați datele mai eficient, iar numărul de tabele din acest model este vizibil mai mic în comparație cu cel relațional. Dezavantajul este că este dificil să se mențină consistența logică a datelor.

Teoria modelelor de date multidimensionale s-a dezvoltat activ recent. Conceptul de model multidimensional înseamnă multidimensionalitatea reprezentării logice a structurii informației. Principalele concepte ale unui model multidimensional sunt dimensiunea și celula.

O dimensiune este un set de date de același tip care formează fața unui cub n-dimensional. O celulă este un câmp a cărui valoare este determinată de întregul set de măsurători. Valoarea celulei poate fi o variabilă sau o formulă.

Pentru a lucra cu modele de date multidimensionale, sunt utilizate SGBD-uri multidimensionale speciale, care se bazează pe conceptele de agregabilitate, istoricitate și predictibilitate. Agregabilitatea datelor se referă la diferite niveluri de generalizare a informațiilor. Istoricitatea datelor înseamnă un nivel ridicat de staticitate atât a datelor în sine, cât și a conexiunilor dintre acestea, precum și ordonarea în timp a datelor în timpul procesului de prelucrare și prezentare a acestora către utilizatori. Asigurarea predictibilității se realizează prin utilizarea funcțiilor speciale de prognoză.

SGBD-urile multidimensionale folosesc două scheme de organizare a datelor - policubică și hipercubică. În modelul policubic, cuburile n-dimensionale pot avea atât dimensiuni diferite, cât și dimensiuni-fețe diferite. În modelul hipercubic, toate dimensiunile cuburilor sunt aceleași, iar dimensiunile diferitelor cuburi sunt aceleași.

O felie este un anumit subset al unui cub n-dimensional, definit prin fixarea unui număr dat de dimensiuni. O felie are o dimensiune mai mică decât n și este utilizată, în special, pentru a prezenta informații utilizatorilor sub formă de tabele bidimensionale care pot fi citite. Rotația este adesea folosită și pentru a reprezenta date în două dimensiuni și implică schimbarea ordinii dimensiunilor. Operațiunile de agregare și drill-down înseamnă o prezentare mai generală sau mai detaliată a informațiilor.

Modelele de date multidimensionale sunt deosebit de convenabile pentru lucrul cu baze de date mari, deoarece permit prelucrarea eficientă a unor cantități semnificative de informații, iar acesta este avantajul lor incontestabil.

Principala diferență dintre modelul orientat pe obiect și cele discutate mai sus este utilizarea metodelor orientate pe obiect de manipulare a datelor - încapsulare, moștenire și poliformism.

Încapsularea înseamnă capacitatea de a diferenția accesul diferitelor programe, aplicații, metode și funcții (în sens mai larg, accesul diferitelor categorii de utilizatori) la diferite proprietăți ale obiectelor de date. În contextul termenului „încapsulare”, este adesea folosit conceptul de vizibilitate - gradul de accesibilitate al proprietăților individuale ale unui obiect. În sistemele moderne de programare orientată pe obiecte (cum ar fi Delphi sau C++ Builder) există următoarele niveluri de încapsulare (vizibilitate), care sunt de obicei numite secțiuni:

  • 1. Secțiuni Public, Publicat și Automatizat - cu caracteristici distinctive minore, proprietățile obiectului descris ca aparținând acestor secțiuni sunt complet accesibile.
  • 2. Secțiune privată - această secțiune impune cele mai severe restricții privind vizibilitatea proprietăților obiectului. De regulă, astfel de proprietăți sunt disponibile numai proprietarului acestui obiect (modulul de program în care a fost creat acest obiect).
  • 3. Secțiunea protejată - spre deosebire de secțiunea Privată, proprietățile unui obiect devin disponibile moștenitorilor proprietarului obiectului.

Spre deosebire de încapsulare, moștenirea implică transferul complet al tuturor proprietăților unui obiect părinte către obiectele copil. Dacă este necesar, moștenirea proprietăților unui obiect poate fi extinsă la obiecte care nu sunt copii ale acestuia.

Polimorfismul înseamnă capacitatea aceleiași aplicații de a manipula date de diferite tipuri - aplicațiile (metode, proceduri și funcții) care procesează obiecte de diferite tipuri pot avea același nume.

Principalul avantaj al modelelor orientate pe obiecte este capacitatea de a modela o varietate de relații complexe între obiecte.

Pentru o reprezentare logică a relațiilor dintre obiectele bazei de date, se utilizează un model informațional-logic (infologic).

Există trei tipuri de modele de baze de date infologice:

· ierarhic;

· rețea;

· relaționale.

Model ierarhic data este o structură arborescentă, în care fiecărui element (obiect) îi corespunde o singură conexiune cu un element (obiect) de nivel superior. Un exemplu de model ierarhic este registrul Windows, care arată plasarea fișierelor și folderelor de diferite niveluri de imbricare pe unitățile computerului, precum și un arbore genealogic.

Avantajele modelului ierarhic sunt simplitatea și viteza. O solicitare către o astfel de bază de date este procesată rapid, deoarece căutarea datelor are loc de-a lungul uneia dintre ramurile arborelui, deplasându-se de la obiectele părinte la obiectele copil sau invers (căutarea în arbore durează mai mult pentru procesare).

Dacă structura datelor implică relații mai complexe decât ierarhia obișnuită, atunci se folosesc alte modele pentru organizarea informațiilor.

Model de rețea datele permit, pentru a combina informații aferente, să se asigure conexiuni între unele elemente și oricare altele, nu neapărat cele părinte. Acest model este similar cu cel ierarhic și este o versiune îmbunătățită a acestuia.

ÎN model de rețeaÎn date, fiecare element poate avea mai mult de un element care îl generează, iar reprezentarea grafică a modelului seamănă cu o rețea. Permite complexitatea „arborei” fără a limita numărul de conexiuni incluse în vârful său.

O caracteristică a bazelor de date ierarhice și de rețea este că o structură rigidă de înregistrări și seturi de relații sunt specificate în prealabil, chiar și în faza de proiectare, iar schimbarea structurii bazei de date necesită restructurarea întregii baze de date. În plus, deoarece logica procedurii de regăsire a datelor depinde de organizarea fizică a datelor, acest model este dependent de aplicație. Cu alte cuvinte, dacă structura datelor trebuie să se schimbe, este posibil ca aplicația să fie necesară și să se schimbe.

Bazele de date din rețea sunt considerate instrumente ale programatorilor. Deci, de exemplu, pentru a obține un răspuns la întrebarea: „Ce produs este cel mai des comandat de compania X?”, trebuie să scrieți un cod de program pentru a naviga prin baza de date. Implementarea solicitărilor utilizatorilor poate dura mult timp, iar în momentul în care vor apărea informațiile solicitate, acestea nu vor mai fi relevante.

Model relațional este destul de universal, simplifică semnificativ structura bazei de date și facilitează lucrul cu ea. ÎN relaționaleÎn baza de date, toate datele disponibile utilizatorului sunt organizate sub formă de tabele. Fiecare tabel are propriul nume unic, corespunzător naturii conținutului său. Coloane de tabel numite câmpuri, descrie anumite atribute ale informațiilor, de exemplu: numele de familie, prenumele, sexul, vârsta, numărul de telefon, statutul social al respondenților. Rândurile tabelului relațional conțin înregistrăriși stochează informații despre o instanță a unui obiect de date reprezentat în tabel, cum ar fi datele despre o persoană. Nu ar trebui să existe înregistrări identice în tabel.



Principala cerință pentru o bază de date relațională este ca valorile câmpurilor (coloane de tabel) să fie unități de informații elementare și indivizibile (adică pentru a înregistra o adresă veți avea nevoie nu de unul, ci de mai multe câmpuri care conțin informații indivizibile - stradă, casă numărul, numărul apartamentului). Acest lucru face posibilă utilizarea aparatului matematic al algebrei relaționale pentru a procesa informații. Cele mai populare SGBD-uri relaționale sunt Access, FoxPro, dBase, Oracle etc.

O bază de date relațională conține de obicei mai multe tabele cu informații diferite. Dezvoltatorul bazei de date instalează relaţiile dintre tabele individuale. Când creați conexiuni utilizați câmpuri cheie.

Odată ce conexiunile sunt stabilite, devine posibil să se creeze interogări, formulare și rapoarte care conțin date din mai multe tabele interconectate.

Toate datele disponibile utilizatorului într-o bază de date relațională sunt organizate sub formă de tabele de relații, care sunt o matrice bidimensională, în care fiecare tabel are propriul nume unic, corespunzător naturii conținutului său.

În prezent, majoritatea SGBD-uri utilizează un model de date tabelar (relațional).

Avantajele modelului relațional:

· Simplitate și accesibilitate de înțeles de către utilizatorul final, deoarece singura structură de informații este un tabel vizual.

· Independență completă a datelor. La modificarea structurii bazei de date, nu sunt necesare modificări semnificative în programul aplicației.

Dezavantajele modelului relațional:

· Subiectul nu poate fi întotdeauna reprezentat ca un set de tabele.

· Viteză scăzută de procesare a interogărilor în comparație cu alte modele, precum și necesită mai multă memorie externă.

Un exemplu de bază de date relațională simplă este tabelul „Respondenți”, unde un rând (înregistrare) este informații despre unul dintre participanții la un sondaj telefonic.


Miezul oricărei baze de date este modelul de date. Model de date reprezintă o mare varietate de structuri de date, constrângeri de integritate și operațiuni de manipulare a datelor. Folosind un model de date, pot fi reprezentate obiectele domeniului și relațiile dintre ele. Model de date este un set de structuri de date și operațiunile lor de prelucrare. SGBD modern se bazează pe utilizare ierarhic, de rețea, relațional și orientate pe obiecte modele de date, combinații ale acestor modele sau un subset al acestora.

Să ne uităm la trei tipuri principale de modele de date : ierarhic, de rețea, relaționale Și orientate pe obiecte.

Model ierarhic de date. O structură ierarhică reprezintă un set de elemente legate între ele după anumite reguli. Obiectele legate prin relații ierarhice formează un grafic direcționat (arborele inversat). Conceptele de bază ale unei structuri ierarhice includ: nivel, element (nod), conexiune. Modelul ierarhic organizează datele într-o structură arborescentă. Nod este o colecție de atribute de date care descriu un obiect. Într-o diagramă arborescentă ierarhică, nodurile arată ca vârfurile unui grafic. Fiecare nod de la un nivel inferior este conectat doar la un singur nod, care este la un nivel superior. Un arbore ierarhic are un singur vârf (rădăcina arborelui), care nu este subordonat niciunui alt vârf. Nodurile dependente (subordonate) sunt situate la al doilea, al treilea și la alte niveluri. Numărul de arbori din baza de date este determinat de numărul de înregistrări rădăcină.

Model de date de rețea.

Reţea model înseamnă reprezentarea datelor sub forma unui grafic arbitrar. Avantajul modelelor de date de rețea și ierarhice este posibilitatea implementării lor eficiente din punct de vedere al costurilor de memorie și al eficienței. Dezavantajul modelului de date de rețea este complexitatea ridicată și rigiditatea schemei bazei de date construite pe baza acesteia.

Relațional Model de date. Conceptul de relațional este asociat cu evoluțiile celebrului specialist american în domeniul sistemelor de baze de date E.F. Codda. Aceste modele sunt caracterizate printr-o structură de date simplă, o formă de prezentare ușor de utilizat sub formă de tabele și capacitatea de a utiliza aparatul de algebră relațională și de calcul relațional pentru prelucrarea datelor.

În limbajul matematicii, o relație este definită astfel. Să fie dat n seturi D1,D2, ...,Dn. Atunci R este o relație peste aceste mulțimi dacă R este o mulțime de mulțimi ordonate de forma , unde d1 este un element cu D1, d2 este un element cu D2, ..., dn este un element cu Dn. În acest caz, seturi de formă se numesc tupluri, iar multimile D1, D2, ...Dn se numesc domenii. Fiecare tuplu este format din elemente care sunt selectate din domeniile lor. Aceste elemente sunt numite atribute, iar valorile lor sunt numite valori ale atributelor.

Deci, modelul relațional se concentrează pe organizarea datelor sub formă de tabele bidimensionale, oricare dintre acestea având următoarele proprietati:

Fiecare element de tabel este un element de date;

Toate coloanele din tabele sunt omogene, adică toate elementele din coloană au același tip (caracter, numeric etc.);

Fiecare coloană are un nume unic;

Nu există rânduri identice în tabele.

Tabelele au rânduri care corespund înregistrărilor (sau tuplurilor) și coloane care corespund atributelor de relație (domenii, câmpuri).

Următorii termeni sunt echivalenti:

atitudine, tabel, fișier (pentru localDB);

caravana,linia, record;

atribut, coloană, câmp.

Baze de date orientate pe obiecte combină două modele de date, relațional și de rețea și sunt utilizate pentru a crea baze de date mari cu structuri complexe de date.

O bază de date relațională este un set de relații care conțin toate informațiile necesare și sunt unite prin diverse conexiuni.

DB este considerat normalizat , dacă sunt îndeplinite următoarele condiții:

Fiecare tabel are o cheie principală;

Toate câmpurile din fiecare tabel depind doar de cheia principală;

Nu există grupuri de valori duplicate în tabele.

Pentru a lucra cu succes cu baze de date cu mai multe tabele, de regulă, este necesar să se stabilească conexiuni între ele. În acest caz, se folosesc termenii „tabel de bază” (principal) și „tabel subordonat”. Relația dintre tabele se obține prin două câmpuri, dintre care unul se află în tabelul de bază, iar al doilea în tabelul subordonat. Aceste câmpuri pot avea o valoare care se repetă. Dacă valoarea din câmpul aferent unei înregistrări de tabel de bază și din câmpul tabelului subordonat sunt aceleași, atunci aceste înregistrări se numesc înrudite.

Există patru tipuri de relații între tabele : unu la unu , unu la mulți, mulți la unul, mulți la mulți .

Atitudine unu la unu înseamnă că fiecare intrare în unu corespunde tabelului unul singurînregistrări într-un alt tabel.

Relație unul la mulți înseamnă că unu o înregistrare din primul tabel poate fi legată cu mai mult de unul o înregistrare dintr-un alt tabel.

Masa principală este un tabel care contine cheia principala si face parte unuîntr-o relație unu la multi.

Cheie externă este un câmp care conține același tip de informații în tabelul din lateral mult.

Munca practica