Modele de date și modele de baze de date. Sisteme de management al bazelor de date

Baze de date ierarhice au forma de arbori cu arcuri-conexiuni și noduri-elemente de date. Structura ierarhică implica inegalitatea între date - unele erau strict subordonate altora. Astfel de structuri, desigur, satisfac în mod clar cerințele multor, dar nu tuturor problemelor din viața reală.

2. Model de date de rețea.În bazele de date de rețea, împreună cu conexiunile verticale, sunt implementate și conexiunile orizontale. Totuși, multe dezavantaje ale sistemului ierarhic au fost moștenite, iar principala este necesitatea de a defini clar conexiunile de date la nivel fizic și de a urmări la fel de clar această structură de conexiuni atunci când interogăm baza de date.

3. Model relațional. Modelul relațional a apărut din dorința de a face baza de date cât mai flexibilă. Acest model a oferit un simplu și mecanism eficient menținerea legăturilor de date.

in primul rand, toate datele din model sunt prezentate sub formă de tabele și numai tabele. Modelul relațional este singurul care asigură uniformitatea prezentării datelor. Atât entitățile, cât și conexiunile dintre aceste entități sunt reprezentate în model exact în același mod - Mese. Adevărat, această abordare complică înțelegerea sensului informațiilor stocate în baza de date și, ca urmare, manipularea acestor informații.

Vă permite să evitați dificultățile de manipulare al doilea element modelele sunt un limbaj complet relațional (rețineți că limbajul este o parte integrantă a oricărui model de date, fără el modelul nu există). Completitudinea limbajului atunci când este aplicată modelului relațional înseamnă că trebuie să realizeze orice operație de algebră relațională sau calculul relațional(completitudinea acestuia din urmă a fost dovedită matematic de E.F. Codd). Mai mult, limbajul trebuie să descrie orice interogare în termeni de operații pe tabele, nu pe rândurile acestora. Un astfel de limbaj este SQL.

Al treilea element modelul relațional necesită ca modelul relațional să mențină anumite constrângeri de integritate. O astfel de constrângere afirmă că fiecare rând dintr-un tabel trebuie să aibă un identificator unic numit cheie primară. A doua limitare este impusă integrității legăturilor dintre tabele. Acesta afirmă că atributele de tabel care fac referire la cheile primare ale altor tabele trebuie să aibă una dintre acele valori ale cheilor primare.

4. Model orientat pe obiecte. Noile domenii ale tehnologiei de calcul, cum ar fi cercetarea științifică, proiectarea asistată de computer și automatizarea instituțională, au cerut baze de date pentru a putea stoca și procesa noi obiecte - text, audio, video și documente. Principalele dificultăți modelare orientată pe obiecte Datele provin din faptul că un astfel de aparat matematic dezvoltat pe care s-ar putea baza sistemul general nu există. În mare măsură, acesta este motivul pentru care încă nu există un model de bază orientat pe obiecte. Pe de altă parte, unii autori susțin că generalul model de date orientat pe obiecteîn sens clasic şi nu poate fi definită din cauza nepotrivirii conceptului clasic de model de date pentru paradigma de orientare obiect. În ciuda avantajelor sistemelor orientate pe obiecte - implementare tipuri de date complexe, conexiune cu limbaje de programare etc. - în viitorul apropiat, superioritatea SGBD-urilor relaționale este garantată.

Să ne uităm la aceste modele de date mai detaliat mai jos.

Model ierarhic de bază de date

Baze de date ierarhice- cel mai vechi model pentru reprezentarea unei structuri de date complexe. Informațiile din baza de date ierarhică sunt organizate după principiul unei structuri arborescente, sub forma unor relații „strămoș-descendent”. Fiecare înregistrare poate avea cel mult o înregistrare parentală și mai mulți copii. Relațiile de înregistrări sunt implementate ca indicatori fizici de la o înregistrare la alta. Principalul dezavantaj structura ierarhică a bazei de date- incapacitatea de a realiza relații" multi-la-multi„, precum și situațiile în care o înregistrare are mai mulți strămoși.

Baze de date ierarhice. Baze de date ierarhice poate fi reprezentat grafic ca un arbore inversat format din obiecte de diferite niveluri. Nivelul superior (rădăcina arborelui) este ocupat de un obiect, al doilea - de obiecte de al doilea nivel și așa mai departe.

Există conexiuni între obiecte; fiecare obiect poate include mai multe obiecte de nivel inferior. Astfel de obiecte sunt în relația dintre un strămoș (un obiect mai aproape de rădăcină) cu un copil (un obiect de un nivel inferior), iar un obiect strămoș poate să nu aibă copii sau să aibă mai mulți dintre ei, în timp ce un obiect copil are în mod necesar doar un strămoș. Obiectele care au un strămoș comun se numesc gemeni.

Baza de date ierarhică este Directorul de foldere Windows, cu care puteți lucra lansând Explorer. Nivelul superior este ocupat de folderul Desktop. La al doilea nivel se află folderele My Computer, My Documents, Network Neighborhood și Recycle Bin, care sunt descendenți ai folderului Desktop și sunt gemeni între ele. La rândul său, folderul My Computer este un strămoș în raport cu folderele de nivel al treilea - folderele disc (Disc 3.5 (A:), (C:), (D:), (E:), (F:)) și sistem foldere (scaner, bluetooth etc.) - în Fig. 4.1.


Orez. 4.1.

Organizarea datelor într-un SGBD de tip ierarhic este definită în termeni de: element, agregat, înregistrare (grup), relație de grup, bază de date.

Atribut(element de date) - cea mai mică unitate a unei structuri de date. De obicei, fiecărui element dintr-o descriere a bazei de date i se dă un nume unic. Este menționat cu acest nume în timpul procesării. Un element de date este adesea numit și câmp.
Record - o colecție numită de atribute. Utilizarea înregistrărilor vă permite să obțineți un set de date conectat logic într-un singur acces la baza de date. Înregistrările sunt modificate, adăugate și șterse. Tipul unei înregistrări este determinat de compoziția atributelor sale. Instanță de înregistrare- o înregistrare specifică cu o semnificație specifică a elementelor.
Atitudine de grup - relație ierarhicăîntre înregistrări de două tipuri. Înregistrarea părinte (proprietarul relației de grup) se numește înregistrarea sursă, iar înregistrările secundare (membrii relației de grup) sunt numite înregistrări subordonate. O bază de date ierarhică poate stoca doar astfel de structuri arborescente.

Intrare rădăcină fiecare arbore trebuie să conțină o cheie cu o valoare unică. Cheile înregistrărilor non-root trebuie să aibă o valoare unică numai în cadrul relației de grup. Fiecare înregistrare este identificată printr-o cheie completă concatenată, ceea ce înseamnă setul de chei ale tuturor înregistrărilor de la rădăcină, de-a lungul unei căi ierarhice.

Când sunt reprezentate grafic, relațiile de grup sunt reprezentate prin arce ale unui grafic direcționat, iar tipurile de înregistrări sunt reprezentate prin vârfuri (diagrama Bachman).

Pentru relațiile de grup în model ierarhic sunt furnizate modul de includere automată și calitatea de membru fix. Aceasta înseamnă că pentru ca orice înregistrare non-root să fie reținută în baza de date, trebuie să existe înregistrarea părinte.

Exemplu

Luați în considerare următorul model de date de întreprindere (vezi Figura 4.2): o întreprindere este formată din departamente în care lucrează angajații. Fiecare departament poate avea mai mulți angajați, dar un angajat nu poate lucra în mai mult de un departament.

Prin urmare, pentru Sistemul de gestionare a informațiilor personal, este necesar să se creeze o relație de grup formată dintr-o fișă parentală DEPARTAMENT (NUMELE DEPARTAMENTUL, NUMĂR DE SALARIAȚI) și o fișă de copil ANGAJAT (NUME, POST, SALARIU). Această relație este prezentată în Fig. 4.2(a) (Pentru simplitate, presupunem că există doar două înregistrări copil.)

Pentru automatizarea contabilității contractelor cu clienții, este necesară crearea unei alte structuri ierarhice: client - contracte cu acesta - angajați implicați în lucrul la contract. Acest arbore va include înregistrările CLIENT (NUME_CLIENT, ADRESĂ), CONTRACTUL (NUMĂR, DATA, SUMA), CONTRACTOR (NUME, POZIȚIE, DEPARTAMENT_NUME) (

Există multe modalități de implementare a unităților de date elementare și, prin urmare, sunt cunoscute o varietate de modele de date. Modelul de date oferă reguli pentru structurarea acestuia. De regulă, operațiunile asupra datelor sunt legate de structura lor. Varietatea modelelor de date existente corespunde varietatii de aplicații și preferințelor utilizatorilor.

Pentru reprezentarea datelor se folosesc modele bazate pe forme de reprezentare a informațiilor. Se numesc astfel de modele sintactic.

În literatura de specialitate există o descriere a unui număr destul de mare de modele de date. Metodele ierarhice, de rețea și relaționale sunt utilizate pe scară largă. Pe lângă acestea, cele mai cunoscute sunt modelul binar și rețeaua semantică.

Se consideră că se bazează modelul de date clasic, cel mai lung utilizat structură de tip arbore ierarhic(un fragment este prezentat în Fig. 10). Este adesea folosit și modelul „arborele ordonat”, în care ordinea relativă a subarborilor este semnificativă. Într-un astfel de model, fiecare unitate de informație ulterioară este asociată doar cu una anterioară, iar cele anterioare pot fi asociate cu mai multe ulterioare.


Model de date de rețea se bazează pe o astfel de reprezentare a informaţiei în care o unitate de informaţie poate fi asociată cu un număr arbitrar de altele (Fig. 11).


Model de date relaționale se bazează pe metode și mijloace tabelare de prezentare și manipulare a datelor. Într-un astfel de model, informațiile despre domeniul subiectului sunt afișate într-un tabel numit „relație” (Fig. 12). Un rând dintr-un astfel de tabel se numește tuplu, iar o coloană este numită atribut. Fiecare atribut poate lua un anumit subset de valori dintr-o anumită zonă - domeniu.

Marea majoritate a SGBD-urilor care vizează calculatoarele personale sunt sisteme construite pe baza unui model de date relaționale - SGBD-uri relaționale.

Model de date binare este un model de grafic în care vârfurile reflectă reprezentări ale atributelor simple, fără ambiguitate, iar arcele reprezintă reprezentări ale relațiilor binare dintre atribute (Fig. 13).


Modelul binar nu este utilizat pe scară largă, dar într-o serie de cazuri își găsește aplicare practică. Astfel, în domeniul inteligenței artificiale, cercetările s-au desfășurat de mult timp cu scopul de a reprezenta informațiile sub formă de relații binare.

Rețele semantice au fost propuse ca modele de date de cercetătorii care lucrează la diverse probleme de inteligență artificială. La fel ca în modelele de rețea și binare, structurile de bază ale unei rețele semantice pot fi reprezentate printr-un grafic, al cărui mulțime de vârfuri și arce formează rețeaua. Cu toate acestea, rețelele semantice sunt concepute pentru a reprezenta și sistematiza cunoștințe de natură foarte generală.

Astfel, orice model de graf (de exemplu, un graf binar etichetat) poate fi considerat o rețea semantică dacă inițial este precizat clar ce înseamnă vârfurile și arcele și cum sunt utilizate.

Rețelele semantice sunt o sursă bogată de idei de modelare a datelor care sunt extrem de utile pentru rezolvarea problemei reprezentării situațiilor complexe. Ele pot fi utilizate independent sau împreună cu ideile care stau la baza altor modele de date. Caracteristica lor interesantă este că distanța măsurată în rețea (distanță semantică sau metrică) joacă un rol important în determinarea proximității conceptelor interconectate. În același timp, este posibil să subliniem în mod explicit faptul că distanța semantică este mare. După cum se arată în Fig. 14, MAGAZIN se coreleaza cu personalitatea VANZATORULUI, iar in acelasi timp, VANZATORUL are GREUTATE. Relația dintre personalitate și specialitate este evidentă, dar asta nu înseamnă neapărat relația dintre MAGAZIN și GREUTATE.


Trebuie spus că modelele de date precum rețeaua semantică, cu toată bogăția capacităților lor de modelare a situațiilor complexe, se caracterizează prin complexitate și oarecare ineficiență în termeni conceptuali.

Să aruncăm o privire mai atentă asupra modelelor de date relaționale, ierarhice și de rețea.

Model relațional datele sunt caracterizate de următoarele componente:

– construcția informației: o relație cu o structură pe două niveluri;

– operațiuni valabile: proiecție, selecție, conectare și altele;

– restricții: dependențe funcționale între atributele relației.

Fiecare clasă de obiecte R lumea materială este pusă în corespondență cu un anumit set de atribute, de exemplu A 1 , A 2 , ..., A n. Obiect de o singură clasă R descris printr-un șir de valori ( a 1, a 2, ..., a n), Unde un i– valoarea atributului A i.

Linia ( a 1, a 2, ..., un n) se numește tuplu. O întreagă clasă de obiecte are un set corespunzător de tupluri numit relație. Să notăm relația care descrie clasa de obiecte R, de asemenea prin R.

Expresie R(A 1, A 2, ..., A n) se numește o schemă de relații R.

Pentru fiecare componentă tuplu, trebuie specificată relația acesteia cu atributul corespunzător. În modelul de date relaționale, pentru a asigura această conexiune, ordinea componentelor tuplului coincide cu ordinea atributelor din schema relației.

Fiecare relație reflectă starea unei clase de obiecte la un moment dat în timp. În consecință, relații diferite pot corespunde aceleiași scheme de relații în momente diferite în timp.

Setul de valori de relație poate fi reprezentat sub forma unui tabel în care se observă următoarele corespondențe:

– numele tabelului și lista de nume de coloane corespund diagramei de relații;

– unui rând de tabel îi corespunde un tuplu de relație;

– toate rândurile tabelului (și deci toate tuplurile) sunt diferite;

– ordinea rândurilor și coloanelor este arbitrară (în special, modelul de date relaționale nu necesită sortare specială a rândurilor).

Descrierea proceselor de procesare a relațiilor se poate face în două moduri:

– indicarea unei liste de operațiuni, a căror implementare duce la rezultatul dorit (abordare procedurală),

– o descriere a proprietăților pe care trebuie să le satisfacă relația rezultată (abordare declarativă).

Sa luam in considerare abordare procedurală. Setul de relații și operații asupra acestora formează algebra relațională. De obicei, lista de operații conține proiecție, selecție, unire, intersecție, scădere și unire.

O proiecție este o operație care transferă coloanele relației inițiale specificate în condiția de operație în relația rezultată. Reprezentarea algebrică a proiecției are forma

T = R[X],

Unde R– atitudine initiala; T– relatia rezultata; X– lista de atribute din structura relatiei T(condiția de proiecție).

Luați în considerare relația O 1, care conține informații despre vânzările de produse în anul 2010 (Tabelul 1).

tabelul 1

Atitudine T 1, care conține informații doar despre producția reală a produselor, este obținută ca urmare a efectuării proiecției

T 1 = O 1[Magazin, produse, fapte]

și arată ca o masă. 2.

masa 2

Coloanele pot fi specificate în orice ordine:

T 1 = DESPRE 1 [Produse, magazin, fapt].

O selecție este o operație care transferă în relația rezultată acele rânduri din relația originală care îndeplinesc condiția de selecție. Condiția de selecție este testată pe fiecare rând al relației în mod individual și nu poate cuprinde informații pe mai multe rânduri. Există două tipuri simple de condiții de eșantionare:

1) Numele atributului 1<знак сравнения>Valoare în care sunt permise semnele de comparație =, #, >, ≥<, ≤. Например: Цена > 100.

Numele atributelor trebuie să fie conținute în structura relației sursă. Notația algebrică pentru eșantion are forma

T = R[p],

Unde R– atitudine initiala; T– relatia rezultata; R– starea de prelevare.

De exemplu, obținem valorile T 2 = DESPRE 1 [Produs = „P 1”] (Tabelul 3).

Tabelul 3

Operațiile de unire, intersecție și scădere se efectuează pe două relații originale cu aceeași structură.

Să notăm relațiile inițiale prin R 1 și R 2 , rezultanta – prin T.

O asociere T = U(R 1 , R 2) conține rânduri prezente fie în relație R 1, sau în R 2 .

Intersecție T = eu(R 1 , R 2) conține rândurile prezente în relații R 1 și R 2 în același timp.

Scădere T = M(R 1 , R 2) conține acele linii din R 1 care lipsesc în R 2 .

O operație de îmbinare a relațiilor este efectuată pe două relații sursă și creează o relație rezultantă. Fiecare rând al primei relații sursă este comparat pe rând cu toate rândurile celei de-a doua relații, iar dacă condiția de îmbinare este îndeplinită pentru această pereche de rânduri, atunci acestea sunt concatenate și formează următorul rând din relația rezultată. Condiția de conectare are forma

Nume atribut 1<знак сравнения>Nume atribut 2,

unde Numele atributului 1 este într-o relație de sursă și Numele atributului 2 este într-o altă relație. Vom folosi următoarea notație pentru operația de alăturare:

T = R l [ p] R 2 ,

Unde R 1 și R 2 – relații inițiale; T– relatia rezultata; R– starea conexiunii.

Unul dintre cele mai importante cazuri speciale de îmbinare se numește îmbinare naturală și are următoarele caracteristici:

– semnul de comparație în condiția de conectare este „=”;

– Numele atributului 1 și Numele atributului 2 trebuie să se potrivească, sau mai bine zis, să conțină intersecția listelor de atribute ale relațiilor sursă;

– lista de atribute ale relaţiei rezultate se formează ca urmare a combinării listelor de atribute ale relaţiilor originale.

Denumirea unui compus natural nu conține o condiție compusă și are forma T = R l* R 2 .

Abordare declarativă la prelucrarea bazelor de date relaţionale se bazează pe interpretarea conceptelor şi metodelor logicii matematice. În special, calculul relațional se bazează pe calculul predicat. Să numim conceptele de logică matematică necesare calculului relațional.

1. Simboluri ale variabilelor și constantelor. În constructele de limbaj ale calculului relațional, acestea corespund numelor de atribute și variabile, precum și constantelor.

2. Conective logice „și”, „sau”, „nu” și semne de comparație =, # (nu este egal), >,<, ≥, ≤.

3. Termeni, adică orice constante și variabilă, precum și funcții ale căror argumente sunt termeni.

4. Formulele elementare sunt predicate ale căror argumente sunt termeni. Predicatele conectate prin operațiile „și”, „sau”, „nu” sunt, de asemenea, formule elementare. Formulele elementare sunt, de exemplu, expresiile Prenume = „Petrov” și Sumă ≤ Total.

5. Formule, adică rezultatul aplicării unor cuantificatori de generalitate sau existență la formulele elementare. Formula corespunde unei interogări la o bază de date relațională, exprimată în termeni de calcul relațional.

Sarcina principală a proiectării unei baze de date EIS este de a determina numărul de relații (sau alte unități constitutive de informații) și compoziția atributelor acestora.

Problema grupării atributelor în relații, al căror set nu este fixat în prealabil, permite multe soluții diferite. Opțiunile de grupare rațională trebuie să țină cont de următoarele cerințe:

– setul de relații trebuie să asigure redundanță minimă în prezentarea informațiilor;

– ajustarea relațiilor nu trebuie să conducă la ambiguitate sau pierdere de informații;

– restructurarea setului de relații la adăugarea de noi atribute la baza de date ar trebui să fie minimă.

Normalizare este una dintre cele mai studiate metode de transformare a relațiilor, permițând îmbunătățirea caracteristicilor bazei de date conform criteriilor enumerate.

Există multe restricții privind valorile stocate într-o bază de date relațională. Respectarea acestor restricții în anumite aspecte este asociată cu prezența așa-numitelor forme normale. Procesul de conversie a relațiilor de baze de date într-una sau alta formă normală se numește normalizare a relațiilor . Formele normale sunt numerotate secvenţial de la 1 în ordine crescătoare. Cu cât numărul de formă normală este mai mare, cu atât mai multe restricții asupra valorilor stocate trebuie respectate în privința relevantă.

Constrângerile tipice modelului de date relaționale sunt dependențele funcționale și multivalorice, precum și generalizările acestora. În principiu, setul de restricții suplimentare poate crește și, prin urmare, numărul de forme normale va crește. Restricțiile aplicate vizează reducerea informațiilor redundante din baza de date relațională.

O relație în prima formă normală (1NF) este o relație obișnuită cu o structură pe două niveluri. Următoarele forme normale (a doua și a treia) folosesc restricții asociate conceptului de dependență funcțională. Dependențe funcționale sunt definite pentru atributele care sunt în aceeași relație care satisface 1NF.

Cel mai simplu caz de dependență funcțională implică două atribute. Într-o relație R(A, B, ..., J) atribut A definește funcțional un atribut ÎN, dacă în orice moment fiecare valoare A ÎN(notat AÎN).

Cu alte cuvinte, ÎN depinde funcțional de A (ÎN = f(A)). Prima desemnare se dovedește a fi mai convenabilă atunci când numărul de dependențe funcționale crește și relațiile lor devin dificil de discern; va fi folosit în viitor. Absența dependenței funcționale se notează ca AÎN.

Pentru atribute AȘi ÎN anumite relații, sunt posibile următoarele situații:

– lipsa dependenței funcționale;

- Disponibilitate AÎN(sau ÎNA), dar nu ambele dependențe împreună;

– prezența corespondenței unu-la-unu AÎN.

Conceptul de dependență funcțională se extinde la situații cu trei sau mai multe atribute în forma următoare. Grup de atribute ( A, ÎN, CU) definește funcțional atributul Dîntr-o relație T(A, B, C, D, ..., J), dacă fiecare combinație de valori<a, b, Cu> se potrivește cu o singură valoare d (A- sens A; b- sens ÎN; Cu- sens CU; d- sens D). Prezența unei astfel de dependențe funcționale va fi notată prin A, ÎN, CUD.

Existența dependențelor funcționale este asociată cu metodele de codificare a atributelor utilizate. Astfel, pentru multe instituții, se poate argumenta că fiecare departament (ca obiect al domeniului de studiu) aparține unei singure instituții. Totuși, acest lucru nu este suficient pentru a demonstra dependența funcțională a Departamentului → Instituție. Dacă în fiecare instituție departamentele sunt numerotate succesiv, începând cu 1, atunci relația funcțională este incorectă. Dacă codul departamentului, pe lângă număr, conține și codul instituției (sau unicitatea codurilor este asigurată în alt mod), atunci relația funcțională Departament → Instituție este valabilă.

Pentru un indicator cu multe atribute de atribut R = (R 1 , R 2 , ..., P n) și atributul de bază Q dependența funcțională este valabilă RQ, deși nu se poate spune că aceasta este singura dependență de atributele specificate.

Indiciu probabil relația este un astfel de set de atribute, fiecare combinație de valori care apare doar într-un rând al relației și niciun subset de atribute nu are această proprietate. Pot exista mai multe chei posibile într-o relație. Importanța lor în prelucrarea datelor este determinată de faptul că eșantionarea după o valoare cunoscută a unei chei probabile are ca rezultat un rând de relație sau niciunul.

În practică, atributele cheii probabile ale unei relații sunt asociate cu proprietățile acelor obiecte și evenimente despre care informațiile sunt stocate în relație. Dacă, ca urmare a ajustării relației, numele atributelor care formează cheia s-au schimbat, atunci informațiile vor fi serios distorsionate. Prin urmare, verificarea sistematică a proprietăților unei chei probabile face posibilă controlul fiabilității informațiilor dintr-o relație.

Când există mai multe chei candidate într-o relație, observarea lor simultană este foarte dificilă. Este recomandabil să alegeți unul dintre ele ca principal (primar). Cheia principala O relație se numește o cheie probabilă, ale cărei valori sunt folosite pentru a controla fiabilitatea informațiilor din relație.

În ceea ce privește informațiile economice, în marea majoritate a cazurilor, relațiile obținute din documentele economice existente conțin o singură cheie probabilă, care este și cheia primară. Acest lucru se datorează faptului că conținutul documentelor economice este înțeles în mod egal de toți utilizatorii. În cele ce urmează vom avea în vedere doar astfel de relații. Prezența a două sau mai multe indicii probabile într-o relație cu informații semnificative poate fi explicată prin prezența mai multor modalități posibile de interpretare a acelorași date. Cheia primară este adesea numită pur și simplu cheie.

În relațiile cu un număr mare de rânduri, găsirea cheii primare prin aplicarea directă a definiției este destul de dificilă. În plus, în etapa de proiectare EIS, valorile multor relații sunt pur și simplu necunoscute, astfel încât practic cheia primară a unei relații este calculată pe baza dependențelor funcționale existente.

Fiecare valoare a cheii primare apare într-un singur rând al relației. Valoarea oricărui atribut din această linie este, de asemenea, unică. Dacă prin LA denotă atributele cheii primare în relație R(A, B, C, ..., J), atunci sunt valabile următoarele dependențe funcționale: LAA, LAÎN, LACU, ..., LAJ. Un set de atribute ale cheii primare definește funcțional orice atribut al unei relații. Este adevărat și invers: dacă se găsește un grup de atribute care definește funcțional toate atributele unei relații în mod individual, iar acest grup nu poate fi redus, atunci se găsește cheia primară a relației.

Pentru setul inițial de dependențe funcționale, există o serie de modele, cunoașterea cărora permite obținerea de dependențe derivate. Să notăm câteva dintre ele:

- Dacă A, ÎNA, apoi A, ÎNÎN;

- AÎNȘi ACU atunci și numai când ASoare;

- Dacă AÎNȘi ÎNCU, Acea ACU;

- Dacă AÎN, Acea ACÎN (CU arbitrar);

- Dacă AÎN, Acea ACSoare (CU arbitrar);

- Dacă AÎNȘi SoareD, Acea ACD.

Dacă se știe dinainte că există o singură cheie probabilă într-o relație, atunci aceasta poate fi găsită într-un mod simplu. O cheie probabilă (dacă este unică, adică se potrivește cu cheia primară) este un set de atribute care nu apar în partea dreaptă a tuturor dependențelor funcționale. Cu alte cuvinte, din lista completă a atributelor relației, este necesar să ștergeți atributele găsite în partea dreaptă a tuturor dependențelor funcționale. Atributele rămase formează cheia primară.

O relație este în a doua formă normală (2NF) dacă corespunde cu 1NF și nu conține dependențe funcționale incomplete.

O dependență funcțională incompletă constă din două dependențe:

– o cheie de relație probabilă definește funcțional un atribut non-cheie,

– o parte a cheii probabile definește funcțional același atribut non-cheie.

O relație care nu respectă 2NF este caracterizată de redundanța datelor stocate. O bază de date este în 2NF dacă toate relațiile sale sunt în 2NF.

O relație corespunde cu 3NF dacă corespunde cu 2NF și nu există dependențe funcționale tranzitive (FD) printre atributele sale.

Legea federală tranzitivă include două legi federale:

– o cheie de relație probabilă definește funcțional un atribut non-cheie;

– Acest atribut definește funcțional un alt atribut non-cheie.

Dacă LA- cheia relației, A, ÎN– atribute non-cheie și LAA, AÎN sunt legi federale corecte, atunci sunt tranzitive. Un caz special de lege federală tranzitivă este o lege federală incompletă, când LA = CU, EȘi LAE, EA.

O bază de date este în 3NF dacă toate relațiile sale sunt în 3NF.

O bază de date relațională, corespunzătoare în general celei de-a treia forme normale, este caracterizată de o serie de proprietăți, cunoașterea cărora facilitează și eficientizează procesele de prelucrare a datelor. Implementarea interogărilor bazei de date folosind operatori de algebră relațională poate fi descrisă prin următoarele reguli.

1. În formularea verbală a cererii, evidențiați denumirile atributelor care alcătuiesc shell-ul, intrarea și ieșirea cererii, precum și condițiile de selecție.

2. Remediați multe atribute shell. Dacă toate atributele necesare sunt într-o singură relație, atunci operațiunile ulterioare de selecție și proiecție sunt efectuate numai cu aceasta. Dacă atributele necesare sunt distribuite în mai multe relații, atunci aceste relații trebuie să fie conectate. Fiecare pereche de relații este conectată prin condiția de egalitate a atributelor cu nume potrivite (sau definite pe un domeniu comun). După fiecare conexiune, folosind proiecția, puteți tăia atributele care nu sunt necesare pentru operațiunile ulterioare.

4. Dacă o interogare poate fi împărțită în părți (subinterogări), atunci implementarea ei este de asemenea împărțită în părți, unde rezultatul fiecărei subinterogări este o relație separată.

5. Această secvență de acțiuni este standard, dar poate crea relații intermediare prea mari. Acest dezavantaj poate fi compensat prin efectuarea unor selecții și proiecții asupra relațiilor originale (înainte de a face îmbinarea) și modificarea ordinii relative a îmbinărilor necesare.

Baza de date a rețelei este reprezentat ca un ansamblu de relaţii şi relaţii cu fanii. Relațiile sunt împărțite în primare și dependente.

Relația cu fanii W(R, S) este o pereche de relații constând dintr-un singur principal ( R), o relație de dependență ( S) și conexiunile dintre acestea, cu condiția ca fiecare valoare a relației de dependență să fie asociată cu o singură valoare a relației principale. Această condiție este o caracteristică de limitare a modelului de date de rețea în ansamblu. Modul de implementare a acestei limitări în memoria computerului este diferit pentru diferitele SGBD de rețea.

Operațiile permise în modelul de date de rețea reprezintă diferite opțiuni de eșantionare.

Bazele de date de rețea, în funcție de restricțiile privind intrarea relațiilor în relațiile cu fanii, sunt împărțite în rețele cu două niveluri și mai multe niveluri.

O limitare a rețelelor pe două niveluri este că fiecare relație poate exista în unul dintre următoarele roluri:

– în afara oricărei relații cu fanii;

– ca relație principală în orice număr de relații cu fani;

– ca o relație dependentă în orice număr de relații cu fani.

Este interzis ca o relație să existe ca una principală într-un context și în același timp ca una dependentă în altul.

Rețelele cu mai multe niveluri nu prevăd nicio restricție privind interconectarea relațiilor cu ventilatoarele; în unele SGBD-uri de rețea sunt permise chiar și structurile de rețea ciclice.

Pentru SGBD-urile de rețea cu două niveluri sunt introduse încă două restricții (din punct de vedere teoretic, opțional):

– cheia primară a relației principale nu poate fi decât cu un singur atribut;

– există o relație ventilator dacă cheia primară a relației principale face parte din cheia primară a relației dependente.

Pentru a organiza o relație în formă de evantai în memoria computerului, în structura relațiilor principale și dependente este introdus un atribut suplimentar numit adresa de comunicare. Valorile adresei de comunicare lucrează împreună pentru a se asigura că fiecare valoare a relației dependente corespunde într-o relație de ventilator S la o singură valoare a relaţiei principale R.

Valoarea unui raport atunci când este stocată în memoria computerului este adesea numită înregistrare. Adresa de comunicare este un atribut dintr-o înregistrare care stochează adresa de pornire sau numărul următoarei înregistrări care urmează să fie procesată.

Legătura dintre valorile relației dependente și valoarea unică a relației principale în cel mai simplu caz se asigură după cum urmează. Adresa de legătură a unei anumite înregistrări de relație principală indică una dintre înregistrările de relație dependentă (valoarea adresei de legătură a relației principale este adresa de pornire a acelei înregistrări de relație dependentă), adresa de legătură a înregistrării de relație dependentă specificată indică către următoarea înregistrarea relației dependente asociată cu aceeași înregistrare a relației principale și etc. Ultima înregistrare a relației dependente din acest lanț se adresează înregistrării relației principale numite mai sus. Acest lucru are ca rezultat o structură de inel de adrese de comunicație numite ca un ventilator, unde rolul „mânerului” ventilatorului este jucat de înregistrarea relației principale. În ilustrațiile grafice, adresa de comunicare este reprezentată de o săgeată direcționată de la adresa de comunicare a unei înregistrări date către înregistrarea a cărei adresă de început (număr) servește ca valoare a acestei adrese de comunicare.

Există convenții standard pentru cum să includeți și să excludeți datele într-o relație cu fanii. Metoda de activare poate fi caracterizată ca automată sau neautomată.

Metoda automată indică faptul că atunci când apare o nouă valoare a relației principale, aceasta este imediat pusă în corespondență cu o anumită valoare a relației dependente și formează un nou element al relației ventilator. Nerespectarea acestei reguli este tipică pentru metoda neautomată.

Metodele de excludere pot fi obligatorii sau opționale. În metoda obligatorie, odată ce o valoare este inclusă în relația principală, aceasta devine membru permanent al relației principale. Poate fi actualizat, dar nu poate fi eliminat din relație. Metoda opțională vă permite să eliminați orice valoare din relația de bază.

Din analogia definițiilor unei relații de ventilator și a dependenței funcționale, urmează afirmația: dacă există o relație de ventilator, atunci cheia relației de dependență determină funcțional cheia relației principale și invers, dacă cheia uneia relația determină funcțional cheia celei de-a doua relații, atunci prima relație poate fi dependentă, iar a doua – principală într-un fel de ventilator.

Într-o diagramă a bazei de date de rețea, relațiile și relațiile cu fanii sunt adesea tratate ca fișiere și conexiuni, ceea ce permite ca structura rețelei să fie vizualizată ca un set de fișiere

F = {F l ( X 1), F 2 (X 2), ..., F i(X i), ..., Fn(X n)},

Unde X i– atributele cheie din fișier F i.

În plus, este introdus un grafic al structurii rețelei ÎN cu vârfuri ( X eu X 2 , ..., X i, ..., X n). Arc<X i, Xj> în coloană ÎN există dacă X i este o parte XjȘi Fj[X i] este un submult F i. Ultima condiție are același sens ca și includerea sintactică a relațiilor în modelul de date relaționale. Aceasta presupune că cheia fișierului principal este conținută în fișierul dependent. Grafic ÎN similar cu graficul de conexiune pentru o bază de date relațională.

Bază de date DBA numit aciclic, dacă se află între oricare două vârfuri ale graficului ÎN există cel mult o cale. Rețelele cu două straturi sunt întotdeauna aciclice .

Pentru multe fișiere F bază de date aciclică DBA operațiunea este destul de aplicabilă

m(DBA) = F 1 & F 2 & ... & F i & ...& Fn,

numit intersecție maximă. Analogul său poate fi o secvență de conexiuni într-o bază de date relațională.

În SGBD-urile de rețea, numărul operațiunilor de eșantionare este destul de mare. Funcțiile de operare de proiecție pentru un SGBD de rețea realizează descrierea subschemei bazei de date de rețea. O schemă de bază de date de rețea este o descriere a tuturor relațiilor care indică compoziția atributelor și cheile fiecărei relații, precum și relațiile cu fanii. În programul de aplicație, este posibil să se declare o parte din relațiile unei baze de date de rețea, în fiecare relație - un anumit subset de atribute (cu reținerea obligatorie a atributelor cheie) și doar unele relații de fan. Descrierea corespunzătoare a datelor se numește subschemă. Relațiile, relațiile cu fanii și atributele care nu sunt specificate în subschemă devin inaccesibile programului de aplicație. Spre deosebire de operația de proiecție, baza de date corespunzătoare subschemei nu este creată fizic, ci prin restricționarea accesului la baza de date sursă, care este definită în schemă.

Rezultatele conexiunilor valide sunt de fapt înregistrate în rețeaua SGBD folosind lanțuri de adrese de comunicație. Accesul la rezultatele unei posibile îmbinări începe de la o relație principală la un evantai de valori în relația dependentă corespunzătoare, valorile cheie obținute în relația dependentă sunt reținute și utilizate pentru căutarea în altă relație principală; din această relație principală este posibilă o trecere la una nouă dependentă etc.

Model ierarhic datele au multe asemănări cu modelul de date de rețea; din punct de vedere cronologic, acestea au apărut chiar mai devreme. Structurile de informații valide într-un model de date ierarhice sunt relația, relația cu fanii și baza de date ierarhică. Spre deosebire de modelele de date discutate anterior, în care se presupunea că maparea informațiilor dintr-un domeniu este o bază de date, modelul ierarhic permite maparea unui domeniu în mai multe baze de date ierarhice.

Conceptele de relație și relație de ventilator din modelul de date ierarhic nu se schimbă.

O bază de date ierarhică este un set de relații și relații de fani pentru care sunt îndeplinite două restricții:

1) există o singură relație, numită rădăcină, care nu este dependentă în nicio relație de fan;

2) toate celelalte relații (cu excepția rădăcinii) sunt relații dependente într-o singură relație de ventilator.

Schema bazei de date ierarhice este identică ca compoziție cu cea a bazei de date din rețea. Restricțiile de mai sus sunt acceptate de SGBD-uri ierarhice.

Constrângerea care se menține în modelul de date ierarhice este că este imposibil să se încalce cerințele care apar în definiția bazei de date ierarhice. Această limitare este asigurată de o aranjare specială a valorilor relației în memoria computerului. Mai jos ne vom uita la una dintre cele mai simple implementări ale amenajării unei baze de date ierarhice.

Trebuie remarcat faptul că există diverse posibilități de trecere prin valorile organizate ierarhic într-o secvență liniară. Principiul folosit pentru bazele de date ierarhice este numit sfârşitul trecerii. Să enumerăm regulile acesteia.

1. Pornind de la prima valoare a relației rădăcină, sunt enumerate primele valori ale relațiilor corespunzătoare la fiecare nivel, până la ultimul.

2. Sunt listate toate valorile din relația ventilatorului unde s-a oprit pasul 1.

3. Sunt enumerate valorile tuturor fanilor acestei relații de fani.

4. De la nivelul atins are loc ridicarea la nivelul anterior, iar dacă este posibil să se aplice pasul 1, atunci procesul se repetă.

O înregistrare ierarhică a bazei de date este un set de valori care conține o valoare a relației rădăcină și toți fanii care se extind din aceasta, în conformitate cu structura bazei de date ierarhice. În exemplul nostru, o înregistrare constă din date referitoare la o facultate (vezi Fig. 11).

Pentru relațiile fan din cadrul unei baze de date ierarhice, modelul deja cunoscut este valabil: dacă există o relație fan, atunci cheia relației dependente determină funcțional cheia relației principale. Și invers: dacă cheia unei relații determină funcțional cheia celei de-a doua relații, atunci prima relație poate fi dependentă, iar a doua – cea principală într-o relație de ventilator.

În plus, constrângerea că există o singură relație rădăcină într-o bază de date ierarhică se traduce prin cerința ca cheia primară a fiecărei relații non-rădăcină trebuie să definească funcțional cheia primară a relației rădăcină.

Algoritmul pentru obținerea structurii unei baze de date ierarhice a fost elaborat de A.I. Mișenin.

Atunci când se compară modele de date, este foarte dificil să se separe factorii care caracterizează caracteristicile fundamentale ale modelului de factorii asociați cu implementarea acestor modele de date folosind SGBD-uri specifice.

Având în vedere avantajele și dezavantajele celor mai faimoase modele de date, este de remarcat o serie de avantaje neîndoielnice ale abordării relaționale:

– simplitate: în modelul relațional există o singură structură informațională, care formalizează prezentarea tabelară a datelor, familiară utilizatorilor economiști;

– justificare teoretică: prezența unor metode argumentate teoretic pentru normalizarea relațiilor și verificarea aciclicității structurii face posibilă obținerea bazelor de date cu caracteristicile cerute;

– independența datelor: modificarea structurii unei baze de date relaționale, de regulă, duce la modificări minime în programele de aplicație.

Printre dezavantajele modelului de date relaționale se numără următoarele:

– viteza redusa la efectuarea unei operatii de conectare;

– consum mare de memorie pentru reprezentarea unei baze de date relaționale. Deși designul în 3NF este proiectat pentru o redundanță minimă (fiecare fapt este reprezentat o dată în baza de date), alte modele de date în aceleași condiții asigură un consum mai mic de memorie. De exemplu, lungimea unei adrese de comunicare este de obicei mult mai scurtă decât lungimea valorii unui atribut.

Avantajele unui model de date ierarhice sunt:

– simplitate: deși modelul folosește trei structuri informaționale, principiul ierarhic al subordonării conceptelor este firesc pentru multe sarcini economice (de exemplu, pentru organizarea raportării statistice);

– consum minim de memorie: pentru sarcini care pot fi implementate folosind oricare dintre cele trei modele de date, modelul ierarhic vă permite să obțineți o reprezentare cu memoria minimă necesară.

Dezavantajele modelului ierarhic:

– non-universalitate: multe opțiuni importante pentru interconectarea datelor nu pot fi implementate folosind un model ierarhic fără creșterea redundanței în baza de date;

– admisibilitatea numai a principiului de navigare al accesului la date;

– datele sunt accesate numai prin relația rădăcină.

Trebuie remarcate următoarele avantaje ale modelului de date de rețea:

– universalitate: capacitățile expresive ale modelului de date de rețea sunt cele mai extinse în comparație cu alte modele;

– capacitatea de a accesa date prin valorile mai multor relații (de exemplu, prin orice relații principale).

Dezavantajele modelului de date de rețea includ:

– complexitatea, adică abundența conceptelor, variantele relațiilor acestora și caracteristicile implementării;

– admisibilitatea numai a principiului de navigare al accesului la date.

Rezultatele obținute pentru bazele de date aciclice sugerează că bazele de date relaționale aciclice, bazele de date de rețea cu două niveluri și o bază de date ierarhică fără conexiuni logice au capabilități echivalente de prezentare a informațiilor.

Analiza modelelor de date nu a abordat problema ordonării valorilor în relațiile cu bazele de date. Pentru modelul relațional, această ordonare este opțională din punct de vedere teoretic, dar în celelalte două modele este utilizată pe scară largă pentru a îmbunătăți eficiența implementării interogărilor.

Alegerea finală a unui model de date este influențată de mulți factori suplimentari, de exemplu, disponibilitatea SGBD-urilor bine dovedite, calificările programatorilor de aplicații, dimensiunea bazei de date etc.

Recent, SGBD-urile relaționale au ocupat o poziție predominantă ca mijloc de dezvoltare a sistemelor informatice electronice. Dezavantajele modelului relațional sunt compensate de creșterea vitezei și a resurselor de memorie ale computerelor moderne. Datorită proceselor de descentralizare a managementului din economie, multe baze de date EIS au o structură simplă care se transformă ușor în sisteme de tabele (relații) ușor de înțeles.

Testați întrebări și sarcini

1. Enumerați cele mai cunoscute tipuri de modele de date.

2. Explicați modelele de date ierarhice și de rețea. Care sunt asemănările și diferențele lor?

3. Descrieți modelul relațional.

4. Descrieți modelul binar și domeniul său de aplicare.

5. Care sunt specificul rețelelor semantice și scopul lor?

6. Enumerați constructe de informații pentru diverse tehnologii.

7. Numiți componentele modelului de date relaționale.

8. Definiți tuplu și relație.

9. În ce moduri poate fi descrisă procesarea relațională?

10. Dezvăluie esența descrierii procedurale a proceselor de prelucrare a datelor.

11. Explicați abordarea declarativă a procesării bazelor de date relaționale.

12. Ce este normalizarea relațiilor?

13. Câte atribute există în cea mai simplă dependență funcțională?

14. Definiți dependența funcțională a atributelor din perspectiva abordării relaționale.

15. Ce este o cheie de relație probabilă?

16. Ce este o cheie primară? Care este alt nume pentru ea?

17. Explicați tiparele pentru multe dependențe funcționale.

18. Descrie a doua și a treia formă normală de relație.

19. Explicați accesul la o bază de date relațională.

20. Numiți structurile informaționale din modelul de rețea.

21. Ce este o „atitudine de fan”?

22. Dați o definiție a rețelelor cu două niveluri.

23. Definiți rețele cu mai multe niveluri.

24. Ce este o „adresă de comunicare”?

25. Ce se numește „ventilator”?

26. Ce componente conține o schemă de bază de date de rețea?

27. Ce convenții standard cunoașteți despre cum să includeți și să excludeți date într-o relație cu fanii?

28. Ce sunt fișierele și linkurile?

29. Ce este „intersecția maximă”?

30. Numiţi structurile informaţionale din modelul ierarhic.

31. Definiți o bază de date ierarhică.

32. Vorbește-ne despre regulile de trecere finală.

33. Definiți o înregistrare de bază ierarhică.

34. Numiți avantajele și dezavantajele abordării relaționale.

35. Enumerați avantajele și dezavantajele modelului ierarhic.

36. Descrieți punctele forte și punctele slabe ale modelului de date în rețea.

38. Finalizați sarcinile 2.1–2.20 privind operațiunile privind relațiile din atelier.

39. Finalizați sarcinile 2.21–2.32 pe tema „Dependențe și chei funcționale” din atelier.

40. Completați sarcinile 2.33–2.60 pe tema „Forme normale de relații” din atelier.

41. Efectuați sarcinile 2.61–2.71 pe tema „Baze de date aciclice” din atelier.

42. Finalizați sarcinile 2.72–2.93 pe tema „Modele de date de rețea și ierarhice” din atelier.

Clasificarea după model de date (după structura organizatorică).

Poveste.

Istoria apariției și dezvoltării tehnologiilor de baze de date poate fi privită atât dintr-o perspectivă largă, cât și dintr-o perspectivă restrânsă.

ÎN aspect larg conceptul de istorie a bazelor de date este generalizat la istoria oricăror mijloace prin care omenirea a stocat și prelucrat date. În acest context, se menționează, de exemplu, mijloacele de contabilizare a vistieriei regale și a impozitelor în Sumerul antic (4000 î.Hr.), scrisul înnodat al incașilor, scrierile cuneiforme care conțin documente ale regatului asirian etc. Trebuie amintit că dezavantajul acestei abordări este estomparea conceptului de „bază de date” și îmbinarea sa efectivă cu conceptele de „arhivă” și chiar „scriere”.

Istoricul bazelor de date în aspect îngust examinează bazele de date în sensul tradițional (modern). Această poveste începe în 1955, când au apărut echipamente programabile de procesare a înregistrărilor. Software-ul de atunci a susținut un model de procesare a înregistrărilor bazat pe fișiere. Cardurile perforate au fost folosite pentru stocarea datelor. Bazele de date operaționale online au apărut la mijlocul anilor 1960. Operațiunile pe baze de date operaționale au fost procesate interactiv folosind terminale. Organizațiile simple de înregistrări indexate secvențiale au evoluat rapid către un model de înregistrare mai puternic, orientat spre set. Charles Bachman a primit Premiul Turing pentru conducerea grupului de activitate pentru baze de date (DBTG), care a dezvoltat un limbaj standard pentru descrierea și manipularea datelor.

În același timp, comunitatea bazelor de date COBOL (unul dintre cele mai vechi limbaje de programare (prima versiune în 1959), destinată în primul rând dezvoltării de aplicații de afaceri) a dezvoltat conceptul de scheme de baze de date și conceptul de independență a datelor.

Următoarea etapă importantă a fost asociată cu apariția modelului de date relaționale la începutul anilor 1970, datorită lucrării lui Edgar F. Codd. Munca lui Codd a deschis calea unei legături strânse între tehnologia aplicată a bazelor de date și matematică și logică. Edgar F. Codd a primit și Premiul Turing pentru contribuțiile sale la teorie și practică.

Termenul în sine Bază de date(bază de date) a apărut la începutul anilor 1960, și a fost introdus în uz la simpozioane organizate de SDC (System Development Corporation) în 1964 și 1965, deși inițial a fost înțeles într-un sens destul de restrâns, în contextul sistemelor de inteligență artificială. Termenul a intrat în uz pe scară largă în sensul modern abia în anii 1970.

Clasificări de bază ale bazelor de date.

Atunci când lucrează cu o bază de date, SGBD-ul menține un anumit model de domeniu în memoria computerului, numit Model de date. Modelul de date este determinat de tipul SGBD.



Model ierarhic. Datele organizate ierarhic sunt foarte frecvente în viața de zi cu zi. De exemplu, structura unei instituții de învățământ superior. Model ierarhic de date- prezentarea bazei de date sub forma unei structuri arborescente (ierarhice) formata din obiecte (date) de diferite niveluri. Nivelul superior este ocupat de un obiect, al doilea - de obiecte de al doilea nivel etc. Există conexiuni între obiecte, fiecare obiect poate include mai multe obiecte de un nivel inferior. Astfel de obiecte se află în relația unui strămoș (un obiect mai aproape de rădăcină) cu un copil (un obiect de un nivel inferior), și este posibil ca un obiect strămoș să nu aibă descendenți sau să aibă mai mulți dintre ei, în timp ce un obiect descendent trebuie să aibă un singur strămoș. Obiectele care au un strămoș comun se numesc gemeni. Principalul dezavantaj al acestui model este necesitatea de a utiliza ierarhia care a stat la baza bazei de date în timpul proiectării. Nevoia de reorganizare constantă a datelor a condus la crearea unui model mai general - un model de rețea.

Model de rețea. Abordarea în rețea a organizării datelor este o extensie a abordării ierarhice. La conceptele de bază modelul bazei de date de rețea includ: nivel, element (nod), conexiune. Un 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. Într-o structură de rețea, fiecare element poate fi conectat la orice alt element. Bazele de date din rețea sunt similare cu bazele de date ierarhice, cu excepția faptului că au pointeri în ambele direcții care conectează informațiile conexe. Deși acest model rezolvă unele dintre problemele asociate cu modelul ierarhic, executarea interogărilor simple rămâne destul de complexă. De asemenea, întrucât logica procedurii de regăsire a datelor depinde de organizarea fizică a acestor date, acest model nu este complet independent de aplicație. Cu alte cuvinte, dacă structura datelor trebuie să se schimbe, atunci aplicația trebuie să se schimbe.

(Acest model diferă de cel ierarhic prin faptul că fiecare element generat poate avea mai mult de un element dăunător. Adică într-o structură de rețea, fiecare element poate fi conectat la orice alt element).

Model relațional. Baza de date relațională- o bază de date bazată pe un model de date relaționale. A fost dezvoltat de Codd în 1969-70 pe baza teoriei matematice a relațiilor și se bazează pe un sistem de concepte, dintre care cele mai importante sunt masa , atitudine , camp , înregistrare . Acest model a primit cea mai mare recunoaștere. Cuvântul „relațional” provine din limba engleză „relation”, care înseamnă relație. Este convenabil să reprezentați relațiile sub formă de tabele. Acestea. Cuvântul tabel este adesea folosit ca sinonim informal pentru termenul „relație”. Trebuie amintit că „masa” este un concept liber și informal și adesea nu înseamnă „relație” ca concept abstract, ci o reprezentare vizuală a relației pe hârtie sau ecran. Folosirea incorectă și laxă a termenului „tabel” în locul termenului „relație” duce adesea la neînțelegeri. Cea mai frecventă greșeală este să credem că RMD se ocupă de tabele „plate” sau „bidimensionale”, când acestea pot fi doar reprezentări vizuale ale tabelelor. Relațiile sunt abstracții și nu pot fi nici „plate”, nici „neplate”

O bază de date relațională este aceea în care toate datele sunt prezentate utilizatorului sub formă de tabele, iar toate operațiunile din baza de date sunt reduse la manipulări cu tabele.

Camp(coloană) – un element de date care reflectă un atribut al unui obiect (de exemplu, dacă obiectul este un student, atunci atributele sale vor fi numele complet, adresa, telefonul etc.). U câmpuri exista baze de date Opțiuni, care determină tipul de date care trebuie salvate, metoda de afișare a acestora și setul de operațiuni efectuate asupra acestora. Unul dintre parametrii importanți ai câmpului este tip de date.

Orientat pe obiecte și pe obiecte. Baza de date orientata pe obiecte- o bază de date în care datele sunt formatate sub formă de modele de obiecte, inclusiv programe de aplicație care sunt controlate de evenimente externe. Rezultatul combinării capacităților (caracteristicilor) bazelor de date și a capacităților limbajelor de programare orientate pe obiecte sunt sistemele de gestionare a bazelor de date orientate pe obiecte (OODBMS). OODBMS vă permite să lucrați cu obiectele bazei de date în același mod ca și cu obiectele din programarea OOLP. OODBMS extinde limbajele de programare prin introducerea în mod transparent a datelor persistente, controlul concurenței, recuperarea datelor, interogările asociate și alte capabilități. Bazele de date orientate pe obiecte sunt de obicei recomandate pentru cazurile în care este necesară procesarea de înaltă performanță a datelor cu o structură complexă.

Obiect-relațional- SGBD relational (RSDBMS), suportand unele tehnologii care implementeaza o abordare orientata pe obiecte.

Datele din bazele de date sunt organizate conform unuia dintre modelele de date.

Folosind un model de date, obiectele de domeniu și relațiile dintre ele pot fi reprezentate. Acea. Baza oricărei baze de date este modelul de date.

Model de date - un set de structuri de date și operațiuni pentru prelucrarea acestora.

Modelele clasice de reprezentare a datelor includ ierarhice, de rețea și relaționale. Modelele de date ierarhice și de rețea au început să fie utilizate în sistemele de management al bazelor de date la începutul anilor ’60. La începutul anilor '70, a fost propus un model de date relaționale. Cele trei modele diferă în principal prin modul în care reprezintă relațiile dintre obiecte.

Modele de bază de prezentare a datelor:

1. Ierarhic Modelul de date reprezintă afișări de informații ale obiectelor din lumea reală - entități și conexiunile acestora sub forma unui grafic sau arbore direcționat (Fig. 2). Nodurile și ramurile formează o structură arborescentă ierarhică. Un nod este o colecție de atribute care descriu un obiect. Cel mai înalt nod din ierarhie este numit nodul rădăcină (acesta este tipul principal de obiect). Nodul rădăcină este la primul nivel. Nodurile dependente (tipuri subordonate de obiecte) sunt situate la al doilea, al treilea și la alte niveluri. Într-un astfel de model, fiecare obiect are o singură sursă (cu excepția obiectului rădăcină), dar în principiu pot exista mai mulți dependenți (copii).

Fig. 17. Structura modelului ierarhic

Ramurile dintre obiecte reflectă prezența unei relații, iar numele relației este scris pe margine. De exemplu, între obiectele „client” și „comandă” poate exista o relație numită „face”, iar între „comandă” și „produse” poate exista o relație numită „constă din”. Acest tip de model reflectă conexiuni verticale, subordonarea nivelului inferior față de cel superior, adică. Fiecare înregistrare a bazei de date are o singură cale (ierarhică) de la înregistrarea rădăcină.

Un exemplu de astfel de model este o bază de date care conține informații despre o universitate (folosind exemplul BelGSHA)

2. Model de rețea – este o extensie a modelului ierarhic , Cu toate acestea, spre deosebire de acesta, există conexiuni orizontale (Fig. 3). În acest model de date, orice obiect poate fi atât master cât și slave. O structură se numește rețea dacă, în relațiile dintre date, un element copil are mai mult de un element părinte. Modelul de rețea oferă oportunități mai mari în comparație cu cel ierarhic, dar este mai dificil de implementat și utilizat. Un exemplu este structura unei baze de date care conține informații despre studenții care participă la lucrări de cercetare. Este posibil ca un student să participe la mai multe subiecte, precum și mai mulți studenți la dezvoltarea unui subiect.

Orez. 18. Reprezentarea conexiunilor într-un model de rețea

3. Model relațional. Conceptul de model de date relaționale (din engleză relație) este asociat cu evoluțiile lui Erich Codd. Acest model se caracterizează prin simplitatea structurii datelor, reprezentarea tabelară ușor de utilizat și capacitatea de a utiliza algebra relațională pentru procesarea datelor.


Modelul relațional este axat pe organizarea datelor sub formă de tabele bidimensionale interconectate prin anumite relații.

Un tabel relațional are următoarele proprietăți :

ü tabelul trebuie să aibă un nume;

ü 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 sau altul) și lungime;

ü fiecare coloană are un nume unic;

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

ü ordinea rândurilor și coloanelor poate fi arbitrară;

ü tabelul ar trebui să fie simplu, adică nu conțin coloane compuse;

Cheia primară trebuie cunoscută.

Un tabel de bază de date relațională constă dintr-un anumit număr de înregistrări de același tip, sau tupluri. Cuvântul „același tip” înseamnă că toate înregistrările au același set de atribute sau câmpuri, deși fiecare atribut poate avea propria sa valoare.

Luați în considerare un tabel care conține date despre angajații unei întreprinderi

Baza de date (DB) este un set de cele interdependente, caracterizate prin posibilitatea de utilizare pentru un număr mare de aplicații, capacitatea de a obține și modifica rapid informațiile necesare, redundanță minimă a informațiilor, independența programelor de aplicație și o metodă generală de căutare controlată

Abilitatea de a utiliza baze de date pentru multe aplicații de utilizator simplifică implementarea interogărilor complexe, reduce redundanța datelor stocate și crește eficiența utilizării tehnologiei informației. Principala proprietate a bazelor de date este independența datelor și a programelor care le folosesc. Independența datelor înseamnă că modificarea datelor nu schimbă programele de aplicație și invers.

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

Modelele de baze de date se bazează pe abordarea modernă a procesării informațiilor, adică structurile de date sunt relativ stabile. Structura bazei de informații, care afișează într-o formă structurată modelul informațional al domeniului subiectului, vă permite să creați înregistrări logice, elementele acestora și relațiile dintre ele. Relațiile pot fi clasificate în următoarele tipuri principale:

– „unu la unu”, când o înregistrare poate fi legată
cu o singură intrare;

– „unu la mulți”, când o înregistrare este interconectată cu multe altele;

– „multe la mulți”, când aceeași înregistrare poate intra în relații cu multe alte înregistrări în moduri diferite.

Utilizarea unui tip de relație sau a altuia a determinat trei modele principale de baze de date: ierarhic, de rețea și relațional.

Pentru a explica structura logică a principalelor modele de baze de date, luați în considerare această sarcină simplă: este necesar să dezvoltați o structură logică a bazei de date pentru stocarea datelor despre trei furnizori: P 1, P 2, P 3, care pot furniza bunuri T 1, T 2 , T 3 în următoarele combinații: furnizor P 1 - toate cele trei tipuri de mărfuri, furnizor P 2 - bunuri T 1 și T 3, furnizor P 3 - bunuri T 2 și T 3.

Model ierarhic este prezentat sub forma unui grafic arborescent în care obiectele se disting prin niveluri de subordonare (ierarhie) a obiectelor (Fig. 4.1.)

Orez. 4.1. Model ierarhic de bază de date

În partea de sus, primul nivel există informații despre obiectul „furnizori” (P), la al doilea - despre furnizorii specifici P 1, P 2, P 3, la nivelul inferior, al treilea - despre bunurile care pot fi furnizate de către anumite furnizori. Într-un model ierarhic, trebuie respectată următoarea regulă: fiecare nod copil nu poate avea mai mult de un nod părinte (doar o săgeată de intrare); nu poate exista decât un singur nod negenerat în structură (fără o săgeată de intrare) - rădăcina. Nodurile care nu au săgeți de intrare se numesc frunze. Nodul este integrat ca înregistrare. Pentru a găsi înregistrarea necesară, trebuie să vă mutați de la rădăcină la frunze, adică. de sus în jos, ceea ce simplifică foarte mult accesul.

Avantajul unui model de date ierarhic este că vă permite să descrieți structura lor, atât la nivel logic, cât și la nivel fizic. Dezavantajele acestui model sunt relațiile rigid fixate între elementele de date, în urma cărora orice modificare a conexiunilor necesită modificări ale structurii, precum și dependența strictă a organizării fizice și logice a datelor. Viteza de acces în modelul ierarhic se realizează în detrimentul pierderii flexibilității informațiilor (într-o singură trecere prin arbore este imposibil să se obțină informații despre ce furnizori furnizează, de exemplu, produsul Ti).

Modelul ierarhic folosește un tip de relație unu-la-mulți între elementele de date. Dacă se folosește o relație multi-la-mulți, atunci se ajunge la un model de date de rețea.

Model de rețea Baza de date pentru sarcină este prezentată sub forma unei diagrame de conexiune (Fig. 5.2.). Diagrama prezintă tipuri de date independente (principale) P 1, P 2, P 3, i.e. informații despre furnizori și dependenți - informații despre bunuri T 1, T 2 și T 3. În modelul de rețea, sunt permise orice tipuri de conexiuni între înregistrări și nu există o limită a numărului de conexiuni de feedback. Dar trebuie respectată o regulă: relația include o înregistrare principală și dependentă

Orez. 4.2. Modelul bazei de date în rețea

Avantajul modelului bazei de date în rețea este o mai mare flexibilitate a informațiilor în comparație cu modelul ierarhic. Cu toate acestea, rămâne un dezavantaj comun pentru ambele modele - o structură destul de rigidă, care împiedică dezvoltarea bazei de informații a sistemului de management. Dacă este necesară reorganizarea frecventă a bazei de informații (de exemplu, la utilizarea tehnologiilor informaționale de bază personalizate), se folosește cel mai avansat model de bază de date - unul relațional, în care nu există diferențe între obiecte și relații.

ÎN model relațional baze de date, relațiile dintre elementele de date sunt reprezentate în tabele bidimensionale numite relații. Relațiile au următoarele proprietăți: fiecare element de tabel reprezintă un element de date (nu există grupuri care se repetă); elementele unei coloane sunt de aceeași natură, iar coloanele sunt denumite în mod unic; nu există două rânduri identice în tabel; rândurile și coloanele pot fi vizualizate în orice ordine, indiferent de conținutul lor informativ.

Avantajele modelului bazei de date relaționale sunt simplitatea modelului logic (tabelele sunt familiare pentru prezentarea informațiilor); flexibilitatea sistemului de securitate (pentru fiecare relație se poate preciza legalitatea accesului); independența datelor; capacitatea de a construi un limbaj simplu de manipulare a datelor folosind teoria riguroasă din punct de vedere matematic a algebrei relaționale (algebra relațiilor).

Pentru problema de mai sus despre furnizori și mărfuri, structura logică a bazei de date relaționale va conține trei tabele (relații): R 1, R 2, R 3, constând respectiv din înregistrări despre livrări, despre mărfuri și despre furnizarea de bunuri de către furnizori. (Fig. 4.3.)



Orez. 4.3. Modelul bazei de date relaționale

SGBD și funcțiile sale

Un sistem de gestionare a bazelor de date (DBMS) este un sistem software conceput pentru a crea o bază de date generală pe un computer care este utilizată pentru a rezolva multe probleme. Astfel de sisteme servesc la menținerea la zi a bazei de date și la asigurarea accesului efectiv al utilizatorilor la datele conținute în ea în limitele drepturilor acordate utilizatorilor.

SGBD-ul este conceput pentru gestionarea centralizată a bazelor de date în beneficiul tuturor celor care lucrează în acest sistem.

În funcție de gradul de universalitate, se disting două clase de SGBD:

– sisteme de uz general;

– sisteme specializate.

SGBD-urile de uz general nu se concentrează pe niciun domeniu sau pe nevoile de informații ale oricărui grup de utilizatori. Fiecare sistem de acest fel este implementat ca un produs software capabil să funcționeze pe un anumit model de computer într-un anumit sistem de operare și este furnizat multor utilizatori ca produs comercial. Astfel de SGBD-uri au mijloacele de a le configura să lucreze cu o anumită bază de date. Utilizarea unui SGBD cu scop general ca instrument pentru crearea de sisteme informatice automatizate bazate pe tehnologia bazelor de date poate reduce semnificativ timpul de dezvoltare și poate economisi resursele de muncă. Aceste SGBD-uri au dezvoltat funcționalitate.

SGBD-urile specializate sunt create în cazuri rare când este imposibil sau nepotrivit să utilizați un SGBD de uz general.

SGBD-urile de uz general sunt sisteme software complexe concepute pentru a îndeplini întregul set de funcții asociate cu crearea și funcționarea unei baze de date a sistemului informațional.

SGBD-urile utilizate în prezent au caracteristici pentru a asigura integritatea datelor și securitatea robustă, permițând dezvoltatorilor să asigure o securitate mai mare a datelor cu un efort de programare la nivel scăzut. Produsele care funcționează în mediul WINDOWS se disting prin ușurința în utilizare și instrumentele de productivitate încorporate.

Performanța DBMS este evaluată:

– timpul de execuție al cererii;

– viteza de căutare a informațiilor în câmpuri neindexate;

– timpul de executare a operațiunilor de import al bazei de date din alte formate;

– viteza de creare a indexurilor și de efectuare a operațiunilor în masă precum actualizarea, inserarea, ștergerea datelor;

– numărul maxim de accesări paralele la date în modul multi-utilizator;

– momentul generării raportului.

Performanța unui SGBD este influențată de doi factori:

– SGBD-urile care monitorizează integritatea datelor poartă o sarcină suplimentară pe care alte programe nu o experimentează;

– Performanța programelor de aplicație proprietare depinde în mare măsură de proiectarea și construcția corectă a bazei de date.


Informații conexe.