Modele conceptuale de structurare și organizare a datelor în baza de date

Pentru descrierea structurii datelor unei baze de date şi a relaţiilor dintre acestea sunt folosite procedee formale, concretizate în modele conceptuale. Acestea se particularizează prin terminologia utilizată şi prin relaţiile dintre date.

Tipuri de relaţii şi structuri de reprezentare a relaţiilor în cadrul unei baze de date

Entităţile aceluiaşi sistem informaţional sunt rareori izolate unele de altele, ele antrenând, cel mai adesea, legături sau relaţii. Între datele diverselor tipuri de entităţi pot exista două categorii de legături sau relaţii. Prima priveşte relaţiile dintre datele aparţinătoare aceleiaşi entităţi, iar a doua se referă la relaţiile dintre mai multe entităţi care pot fi şi de tipuri diferite.

La rândul lor relaţiile pot fi binare şi n-are.

Relaţiile binare presupun existenţa unui domeniu, a unui codomeniu şi a unei corespondenţe între entităţile acestora. În practica bazelor de date se utilizează patru tipuri de relaţii binare:

  • 1-1 (una-la-una) în care unei realizări din domeniu îi corespunde o realizare şi numai una din codomeniu.
  • 1-n (una la mai multe) în care unei realizări din domeniu îi corespunde 0, una sau mai multe realizări din codomeniu.
  • n-1 (mai-multe-la-una) în care mai multe înregistrări din domeniu corespund unei realizări din codomeniu.
  • n-m (mai-multe-la-mai-multe) în care unei realizări din domeniu îi corespund 0, una sau mai multe realizări din codomeniu, iar unei realizări din codomeniu îi corespund 0, una sau mai multe realizări din domeniu .

Relaţiile n-are presupun existenţa unei interdependenţe logice între realizările unei mulţimi de caracteristici definită pe o mulţime de tupluri.

Mecanismul de selecţie şi de identificare a componentelor unei baze de date presupune existenţa unei structuri de date. Concret o structură de date reprezintă o colecţie de date între care s-au stabilit anumite relaţii. Structurile de date care au aceeaşi organizare şi sunt supuse prelucrărilor cu un grup de operatori de bază cu o semantică predefinită formează un anumit tip de structură.

Principalele tipuri de structuri sunt[1]: punctuală, liniară, arborescentă, reţea, relaţională. Dintre acestea sunt considerate de bază structurile liniară şi arborescentă. Prin combinarea lor în funcţie de opţiunile utilizatorilor, pot fi construite şi alte structuri cu grade diferite de complexitate.

 

 Modele de organizare a datelor în bazele de date

Un model de date este un ansamblu de instrumente conceptuale care permit descrierea datelor, a relaţiilor dintre ele, a semanticii lor, ca şi a restricţiilor la care sunt supuse acestea. Se pot clasifica în: modele orientate pe obiect, modele orientate pe înregistrare şi modele fizice. Cum ne vom ocupa doar de descrierea nivelurilor conceptual şi extern, vom trata primele două categorii de modele.

Modelele orientate pe obiect se caracterizează prin flexibilitate şi explicitate în reprezentarea structurilor de date şi a restricţiilor pe care trebuie să le respecte acestea. Cele mai cunoscute sunt: modelul entităţi-asociaţii, modelul semantic, modelul funcţional şi modelul orientat pe obiecte.

Modelul entităţi-asociaţii are la bază percepţia lumii reale sub forma unei colecţii de obiecte, denumite entităţi, unite prin intermediul unor asociaţii. O entitate este un obiect care poate fi diferenţiat de alte obiecte printr-un ansamblu de atribute care permit descrierea precisă a acestuia. O asociaţie reuneşte două sau mai multe entităţi. De exemplu, atributele Număr şi Disponibil descriu entitatea Cont la bancă. Atributele Nume, Adresă, etc. descriu entitatea Client. Există o asociaţie care leagă un client de fiecare din conturile pe care le are deschise la banca respectivă. Ansamblul entităţilor de acelaşi tip formează o clasă de entităţi, iar ansamblul asociaţiilor de acelaşi gen reprezintă o clasă de asociaţii.

În reprezentarea unei structuri de baze de date cu ajutorul modelului E-R se realizează o diagramă, care utilizează simbolurile:

  • dreptunghi, pentru clase de entităţi,
  • elipse, pentru atribute,
  • romburi, pentru clase de asociaţii,

linii, pentru a lega atribute de clase de entităţi şi clasele de entităţi de clasele de asociaţii

Modelul de date orientat spre obiecte extinde definiţia unei entităţi pentru a include nu numai atributele care descriu starea obiectului, ci şi acţiunile asociate acestuia, respectiv comportamentul. Se spune că obiectul încapsulează atât starea, cât şi comportamentul.

Modelul de date orientat pe obiecte reprezintă un model logic de date care conţine semantica obiectelor, acceptată în programarea orientată pe obiecte.

Modelarea orientată obiect devine din ce în ce mai populară datorită abilităţii de a reprezenta relaţii complexe ca şi de a reprezenta datele şi procesarea acestora cu ajutorul unor notaţii consistente.

Ciclul de viaţă al proiectării orientate obiect constă din reprezentarea progresivă a obiectelor în cadrul a trei faze: analiză, proiectare şi implementare. Acest ciclu de viaţă este similar cu cel al dezvoltării sistemelor. În primele etape, modelul pe care îl creăm este abstract, concentrându-se asupra calităţii externe a sistemului. Pe măsură ce modelul evoluează, acesta devine din ce în ce mai detaliat, atenţia deplasându-se spre cum va fi construit sistemul şi mai ales, cum va funcţiona. Accentul în modelare trebuie pus pe analiză şi proiectare, în special pe problemele conceptuale front-end, faţă de problemele de implementare back-end ce restricţionează opţiunile de proiectare.

Există trei motive pentru utilizarea proiectării orientate obiect:

  1. Modelul de analiză nu este suficient de formal pentru a fi implementat direct într-un limbaj de programare. Pentru a ne deplasa către codul sursă trebuie să rafinăm mai întâi obiectele prin adoptarea unei decizii privind operatorii ce vor fi asiguraţi de un obiect, cum ar trebui să arate comunicaţia între obiecte, ce mesaje vor fi transmise etc.
  2. Sistemul actual trebuie să fie adaptat mediului în care sistemul va fi implementat. Pentru a realiza acest lucru, modelul de analiză trebuie să fie transformat într-un model conceptual de proiectare, luând în considerare diferiţi factori cum ar fi: cerinţele de performanţă, cerinţele de timp real şi concurenţă, hardware-ul şi software-ul implicat, SGBD-ul şi limbajele de programare ce vor fi adoptate etc.
  3. Rezultatele etapei de analiză pot fi validate cu ajutorul proiectării orientate obiect. În acestă etapă putem verifica dacă rezultatele furnizate de analiză sunt adecvate pentru construirea sistemului şi dacă este necesar să se efectueze modificări asupra modelului de analiză.

Etapa de proiectare este urmată de o etapă de implementare. În această fază, proiectul este implementat cu ajutorul unui limbaj de programare sau a unui SGBD. Translatarea proiectului în cod sursă este un proces relativ uşor datorită faptului că modelul de proiectare încorporează deja o serie de aspecte ale limbajului de programare şi SGBD-ului ales.

Unele din avantajele des citate în favoarea orientării spre obiecte sunt:

  • Definiţia unui sistem prin intermediul obiectelor facilitează construcţia de componente software care seamănă îndeaproape cu domeniul de aplicaţie, contribuind astfel la proiectarea şi înţelegerea sistemelor;
  • Datorită încapsulării şi ascunderii informaţiilor, întrebuinţarea obiectelor şi mesajelor încurajează proiectarea modulară;
  • Implementarea unui obiect nu depinde de structura internă a acestuia, ci de modul cum acesta răspunde la mesaje;
  • Întrebuinţarea claselor şi a moştenirii promovează dezvoltarea de componente reutilizabile şi extensibile în contrucţia de noi sisteme sau pentru actualizarea celor existente.

O bază de date orientată spre obiecte este o colecţie de obiecte persistente şi partajabile care sunt definite de un model de date orientat pe obiecte. Un sistem SGBD orientat pe obiecte este administratorul unei baze de date orientată pe obiecte.

            Aspecte structurale ale modelului de date orientat pe obiecte:

  • Obiectele sunt entităţi de bază care încorporează structuri de date şi operaţii;
  • Fiecare obiect are un identificator unic, atribuit de sistem;
  • Clasele descriu tipuri generice de obiecte;
  • Conceptul de clasă este strâns legat de conceptul de moştenire;
  • Clasele formează ierarhii de clase;
  • Definirea unei clase este mecanismul de specificare a schemei bazei de date;
  • Schema bazei de date se poate extinde prin definirea de noi clase;
  • Definirea unei clase poate include atribute de tipuri definite de utilizator (imagine, sunet);
  • Se admit referiri recursive.

            Operaţii ale modelului de date orientat pe obiecte:

  • Obiectele comunică prin mesaje;
  • Un mesaj poate fi trimis instanţelor din mai multe clase;
  • Metodele pot fi definite, şterse sau modificate;
  • Clasele pot fi definite, şterse sau modificate;
  • Instanţa unei clase poate fi actualizată prin metode ce modifică valorile variabilelor propriei instanţe.

            Reguli  de integritate ale modelului de date orientat pe obiecte:

  • Obiectele trebuie să respecte caracteristicile clasei din care fac parte;
  • Obiectele sunt încapsulate;
  • Un obiect nu există fără să aibă un identificator; dacă obiectul este şters, se şterge şi identificatorul;
  • Restricţia de integritate cunoscută de la modelul relaţional nu este implementată (nu există posibilitatea de ştergere în cascadă).

Modelele orientate pe înregistrare sunt utilizate pentru reprezentarea atât a structurii logice a bazei de date, cât şi a conţinutului acesteia. Un dezavantaj principal este absenţa instrumentelor prin care să se specifice restricţiile datelor. Cele mai utilizate sunt: modelul relaţional, modelul ierarhic şi modelul reţea.

Modelul relaţional reprezintă datele şi legăturile dintre ele sub forma unor tabele, în care liniile şi coloanele reprezintă un element distinct al bazei de date.

Modelul ierarhic reprezintă structura datelor sub forma unui arbore, alcătuit din mai multe noduri; unele sunt noduri-părinte, altele sunt noduri-copil. Partea superioară este rădăcina. Un fiu nu poate exista independent de tatăl său, iar orice fiu poate fi la rândul său tată, deci poate avea unul sau mai mulţi fii.

Modelul reţea este o dezvoltare a modelului ierarhic. Înregistrările sunt privite în baza de date ca o colecţie de grafuri.

Modelul reţea elimină redundanţele specifice modelului ierarhic şi se bazează pe structurile reţea şi pe relaţiile de tip 1-1, 1-n şi n-m. Caracteristica principală a acestui model este că acceptă ca orice colecţie de date să se situeze pe nivelul 1, astfel fiind permis accesul direct la realizările colecţiilor superioare (operaţie imposibilă în modelul ierarhic).

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s