INTRODUCERE ÎN ARHEOLOGIA INFORMATIZATĂ

 

 

Autori:  Gh. Lazarovici, D. Micle.

Toate drepturile asupra acestei lucrări aparţin autorilor. Nici o parte din această carte nu poate fi reprodusă sau transmisă, sub nici o formă, electronică, mecanică sau de mână, fără permisiunea scrisă a autorilor.

Tehnoredactare computerizată: Dorel Micle, Daniel Stoian; Grafică computerizată: Dorel Micle; Coperta:Dan Buia. Apărut în: BIBLIOTHECA HISTORICA ET ARCHAEOLOGICA UNIVERSITATIS TIMISIENSIS, 2001.

III; Prelucrare Web: Cosmin Suciu; Powered by: Institutul pentru Cercetarea Patrimoniului Cultural Transilvanean în Context European (IPTCE)

 

D. BAZE DE DATE

I. Introducere

II. Abordarea bazelor de date

III. Modele de baze de date

IV. Limbaje pentru baze de date

V. Structuri fizice

VI. Interfeţe

 

Aplicaţiile de tip “bază de date”  se referă la acele produse livrate utilizatorului “la cheie” pentru a-şi rezolva o problemă concretă. Aplicaţiile de tip “bază de date” existente pe piaţa românească se pot împărţi în trei mari grupe, după finalitatea datelor manevrate:

a.       baze de date personale;

b.      baze de date informaţionale;

c.       baze de date pentru gestiunea economică.

 

a. Bazele de date “personale” sunt mici colecţii de date care prezintă interes şi sunt manipulate de un singur utilizator. Câteva exemple tipice sunt următoarele: agendă telefonică, planificarea de întruniri, evidenţa cărţilor din biblioteca personală. Pentru astfel de utilizări restrânse ale unei baze de date, se poate folosi aplicaţia Card File disponibilă în pachetul Windows 3.x.

b. Bazele de date de tip informaţional sunt în general caracterizate de un volum foarte mare de date (informaţii) ce sunt destinate publicului larg. Ele pot fi considerate adevărate “birouri de informaţii” computerizate. Domeniul de aplicabilitate a acestor baze de date este extrem de diversificat şi face imposibilă o clasificare.

c. Bazele de date pentru gestiunea economică reprezintă colecţii de date necesare şi utilizate pentru gestionarea unei întreprinderi. Aplicaţiile cele mai reprezentative care operează cu astfel de baze de date sunt produsele CIEL.

 

Pentru a înţelege mai bine cum este alcătuită şi cum funcţionează o bază de date, trebuiesc specificate câteva noţiuni privind teoria generală a bazelor de date, cu aplicabilitate în arheologie:

 

I.                   Introducere

 

1.      Ce este o bază de date ?

 

O bază de date conţine toate informaţiile necesare despre obiectele ce intervin într-o mulţime de aplicaţii, relaţiile logice dintre aceste informaţii şi tehnicile de prelucrare corespunzătoare. În bazele de date are loc o integrare a datelor, în sensul că mai multe fişiere sunt privite în ansamblu, eliminându-se informaţiile redundante. Este permis accesul simultan la aceleaşi date, situate în acelaşi loc sau distribuite spaţial, a mai multor persoane prin mai multe tipuri de interogări (BÂSCĂ 1997, 11; DESPI & 1999, 2).

O bază de date poate fi:

·        integrată;

·        partajată.

 

Prin “integrată” înţelegem că baza de date poate fi gândită ca o unificare de mai multe fişiere de date, distincte şi neredundante.

Prin “partajarea” unei baze de date se înţelege că bucăţile individuale de date din baza de date pot fi partajate între mai mulţi utilizatori individuali, fiecare dintre ei putând avea acces la aceeaşi bucată de date simultan (sisteme multiutilizator).

 

Hardul unui sistem de baze de date constă din volumele de memorare secundare (discuri, dischete sau benzi magnetice) pe care rezidă baza de date, împreună cu aparatele, unităţile de control şi canalele respective.

 

Între baza de date fizică (adică datele aşa cum sunt ele memorate pe suport) şi utilizatorii sistemului există un nivel de software, numit sistem de gestionare a bazelor de date (DBMS – Data Base Management System), care permite construirea unor baze de date, introducerea informaţiilor în baza de date şi dezvoltarea de aplicaţii privind bazele de date.

Un DBMS dă posibilitatea utilizatorului să aibă acces la date folosind un limbaj de nivel înalt, apropiat de modul obişnuit de exprimare, pentru a obţine informaţii, utilizatorul făcând abstracţie de algoritmii aplicaţi pentru selectarea datelor implicate şi a modului de memorare a lor. DBMS-ul este deci o interfaţă între utilizator şi sistemul de operare.

 

Orice DBMS conţine un limbaj de descriere a datelor (LDD) care permite descrierea structurii unei baze de date, a fiecărei componente a ei, a relaţiilor dintre componente, a drepturilor de acces ale utilizatorului la baza de date, a restricţiilor în reprezentarea informaţiilor, etc. LDD-ul este utilizat atât pentru proiectarea bazelor de date, cât şi pentru redefinirea lor.

 

O altă componentă a DBMS este limbajul de cereri (LC) sau limbajul de prelucrare a datelor (LPD), ce permite operaţii asupra datelor aflate în baza de date, cum ar fi:

·             încărcarea bazei de date;

·             inserarea unui nou element;

·             ştergerea unui element;

·             modificarea unui element;

·             căutarea unor elemente;

·             realizarea de diferite statistici asupra datelor.

 

Limbajele LDD şi LC sunt extinderi ale unor limbaje de programare numite limbaje gazdă. Compilarea succesiunilor de comenzi pentru descrierea datelor sau pentru operarea cu date se reduce la transformarea acestor comenzi într-o succesiune de instrucţiuni ale limbajelor gazdă care, prin executare, să dea efectul dorit. O altă modalitate de operare este aceea a transformării comenzilor în lansări de programe executabile.

           

Utilizatorii sistemelor de gestionare a bazelor de date (DBMS) se grupează în trei categorii:

a.       programatorii de aplicaţie (care scriu programele aplicaţie în limbaje de programare: Cobol, C, etc.) sau în limbaje de programare specifice: dBase, FoxPro, etc.);

b.      end-userii sau utilizatorii (care accesează baza de date de la un terminal, folosind un limbaj de interogare numit “query language”);

c.       administratorii bazelor de date DBA (care stabilesc structura iniţială a bazei de date şi modul de memorare a datelor la nivel fizic, acordă utilizatorilor drepturi de acces la baza de date sau părţi ale ei, asigură securitatea datelor, modifică structura şi întreţine baza de date).

 

2.      Datele operaţionale

 

Datele operaţionale sunt date din bazele de date, distincte de datele de intrare, ieşire sau alte tipuri de date. O bază de date este o colecţie de date operaţionale folosite de către aplicaţiile sistem ale unei instituţii (Muzeu, Bibliotecă, Intreprindere, etc.)

Datele de intrare sunt informaţii introduse în sistem din lumea exterioară, de obicei prin terminale.

Datele de ieşire se referă la mesajele şi rapoartele extrase din sistem (tipărite sau afişate pe ecran).

Entităţile de bază sunt elementele constitutive ale unei baze de date (expl. materialul arheologic, materialul bibliografic, materialul grafic, etc.). Între aceste entităţi există întotdeauna asociaţii sau relaţii ce le leagă într-o bază de date comună.

Relaţiile dintre entităţi sunt la rândul lor părţi ale datelor operaţionale, chiar mai importante decât entităţile asociate. O relaţie poate fi asociată la una, două sau trei entităţi, iar o entitate poate fi asociată la oricâte relaţii.

 

3.      Independenţa datelor

 

Modul în care datele sunt organizate pe suportul secundar de stocare şi modul în care ele sunt accesate depind de cerinţele aplicaţiei şi de ştiinţa organizării datelor şi tehnicile de acces.

Imunitatea aplicaţiilor la modificările de structură a memorării şi a strategiei de acces se numeşte independenţă a datelor.

Tipuri de modificări pe care administratorul bazei de date (DBA) poate să le facă:

·        reprezentarea datelor numerice (câmpul numeric poate fi memorat în formă internă aritmetică sau ca un şir de caractere);

·        reprezentarea datelor caracter (un câmp şir de caractere poate fi memorat în mai multe coduri de caractere : ASCII, EBCDIC, etc.).

 

Terminologie:

Ř      Un câmp este cea mai mică unitate de date stocată în baza de date.

Ř      Baza de date conţine mai multe ocurenţe sau instanţe pentru fiecare din tipurile de câmpuri.

Ř      O înregistrare este o colecţie de nume de câmpuri asociate.

Ř      O ocurenţă sau instanţă de înregistrare constă dintr-un grup de ocurenţe de câmp înrudite (asociate) şi reprezintă o asociere între ele.

Ř      Un fişier este o colecţie a tuturor înregistrărilor de unul sau mai multe tipuri.

Ř      Într-o bază de date, un câmp numeric poate avea două unităţi metrice (inches şi centimetrii) la alegerea utilizatorului.

 

3.1.  Structura înregistrărilor memorate

 

Într-o bază de date, două tipuri de înregistrări pot fi combinate într-unul singur.

Exemplu:

înregistrarea 1.: neolitic, Vinča, ceramică pictată, străchini (…)

înregistrarea 2.: neolitic, Petreşti, ceramică pictată, străchini (…)

structură integrată: neolitic, Vinča, Petreşti, ceramică pictată, străchini (…)

 

Astfel se explică faptul că înregistrarea logică a unei aplicaţii poate consta dintr-o submulţime a unei înregistrări memorate, adică anumite câmpuri memorate pot fi invizibile pentru o aplicaţie particulară (de exemplu elementele care se repetă). La fel, un singur tip de înregistrare memorată poate fi despicat în două, pentru a particulariza anumite aplicaţii.

 

3.2.  Structura fişierelor memorate

 

Un fişier poate fi implementat fizic în memorie în mai multe moduri:

·        poate fi în întregime conţinut într-un volum de memorare (expl.: disc magnetic);

·        poate fi împărţit pe mai multe volume de tipuri diferite;

·        poate fi sau nu fizic secvenţial, în concordanţă cu valorile unui anumit câmp;

·        poate avea unul sau mai mulţi indecşi asociaţi;

·        poate fi construit cu pointeri;

·        înregistrările pot fi blocate sau nu, etc.

 

Baza de date trebuie să fie în stare să crească fără a afecta aplicaţiile existente, aceasta fiind raţiunea majoră a independenţei datelor.

 

4.      Arhitectura unui sistem de baze de date

 

a.      nivelul exterior                                            scheme exterioare

(vederile utilizatorilor

       individuali)

 

 

b.      nivelul conceptual

(vederile comune utilizatorilor)

 

c.       nivelul intern

(vederile memorate)

 

O bază de date poate fi privită din mai multe puncte de vedere:

a.       opţiunea utilizatorului, care lucrează cu anumită părţi ale unei baze de date numite vederi;

b.      opţiunea administratorului bazei de date care integrează toate vederile referitoare la baza de date într-un singur model numit schemă conceptuală, ea reprezentând nivelul logic al bazei de date;

c.       opţiunile implementatorului bazei de date (coincide uneori cu cele ale administratorului) care priveşte baza de date ca pe o colecţie de fişiere memorate pe diferite medii externe (benzi şi discuri magnetice), ele constituind nivelul fizic al bazelor de date.

 

Primele două nivele sunt descrise prin planuri ce constau în enumerarea tipurilor de entităţi ce apar în baza de date, relaţiile dintre aceste tipuri de entităţi şi modul de trecere de la noţiunile acestui nivel la nivelul imediat următor. În mod curent, aceste planuri se numesc scheme externe, subscheme conceptuale sau vederi, pentru primul nivel şi scheme conceptuale pentru al doilea nivel. Descrierile la nivel fizic sunt făcute prin scheme interne sau scheme fizice.

 

4.1.  Scheme externe

 

O schemă externă reprezintă conţinutul bazei de date aşa cum este ea văzută de un utilizator particular.

Exemplu:

Pentru un utilizator poate să apară într-o vedere atributul număr străchini (= numărul fragmentelor ceramice de tipul “N”), dar la nivel logic şi fizic acest atribut nu este indicat, din cauza permanentei modificări a conţinutului său. În acest caz se foloseşte la nivel logic atributul ceramică (= numărul total general de fragmente ceramice) din care se scad atributele nr. oale, nr. farfurii, nr. chiupuri, etc. (= numărul fragmentelor ceramice “M”≠”N”) din baza de date. Astfel se permite aflarea numărului exact al fragmentelor ceramice de tip strachină din baza de date.

 

Pentru utilizatorul obişnuit, modul de definire a vederilor este transparent, el putând să obţină sau să modifice informaţiile dorite prin intermediul unor comenzi cu structură dată, folosind formule predefinite pe care le completează sau poate utiliza un sistem de meniuri.

În reprezentarea intuitivă a vederilor intervin noţiunile de entitate, relaţie, atribut, cheie, funcţionalitate, diagramă, şi altele pe care le vom definii ulterior.

Schema externă este scrisă într-un sublimbaj de definire a datelor (SLDD) dintr-un DLL numit adesea DLL extern.

 

4.2.  Scheme conceptuale

 

O schemă conceptuală este o reprezentare a întregii informaţii conţinute în baza de date ce combină subschemele vederilor ce privesc o anumită aplicaţie într-un model unitar. Acest tip de schemă trebuie să se bazeze pe un model teoretic şi să fie simplă, adică uşor de înţeles şi de prelucrat.

 

Sistemele de gestiune a bazelor de date au fost clasificate în trei grupe mari, în funcţie de tipul elementelor cu care lucrează şi a structurilor obţinute:

a.       modelul reţea – permite lucrul cu entităţi şi relaţii binare de tipul 1:1 şi 1:N, diagrama rezultată fiind un graf oarecare;

b.      modelul arborescent (ierarhic) – permite lucrul cu entităţi şi relaţii binare de tipul 1:1 şi 1:N, iar diagrama este alcătuită dintr-o mulţime de arbori;

c.       modelul relaţional – în care intervin numai relaţii şi operaţii cu aceste relaţii.

 

4.3.  Scheme interne

 

Schemele interne descriu diferitele fişiere utilizate pentru memorarea informaţiilor bazei de date şi modul de operare cu ele. Există mai multe moduri de organizare a fişierelor, cele mai cunoscute fiind:

·        organizarea secvenţială;

·        organizarea cu index rar;

·        organizarea cu index dens;

·        organizarea cu dispersie;

·        organizarea folosind B-arbori.

 

Traducerea schemelor conceptuale în scheme interne se face, de obicei, automat de către DBMS. Pe lângă stabilirea diferitelor tipuri de înregistrări utilizate în reprezentarea fizică a datelor, se specifică şi existenţa indecşilor asociaţi unor fişiere, semnificaţia câmpurilor înregistrărilor, ordinea de apariţie a înregistrărilor şi modul de acces.

Corespondenţa dintre scheme poartă numele de mapare şi este de două tipuri:

·        mapare conceptuală / internă (vederea conceptuală / baza de date memorată);

·        mapare externă / conceptuală (vedere externă particulară / vedere conceptuală).

 

Sistemul de gestiune a bazelor de date (DBMS) este softul (programul) care coordonează toate accesele la baza de date, în modul următor:

a.       un utilizator emite o cerere de acces, folosind un limbaj particular de manipulare a datelor;

b.      DBMS-ul interceptează cererea şi o interpretează;

c.       DBMS-ul inspectează, pe rând, schema externă, maparea externă/conceptuală, schema conceptuală, maparea conceptuală/internă şi definiţia de structură de memorare;

d.      DBMS-ul realizează operaţiile necesare asupra bazei de date memorate.

 

Administratorul bazei de date (DBA) urmează apoi să gestioneze operaţiile specifice, responsabilităţile lui incluzând:

·        decizia asupra conţinutului informaţiei inclusă în baza de date;

·        decizia asupra structurii de memorare şi a structurii de acces;

·        legătura cu utilizatorii;

·        definirea procedurilor de verificări autorizate şi de validări;

·        definirea unei strategii pentru salvări şi restaurări;

·        monitorizarea performanţei şi răspunsuri la schimbări de cerinţe.

 

Pentru aceasta DBA are la îndemână un număr de programe utilitare pentru a se ajuta în rezolvarea acestor sarcini:

·        rutina de încărcare (pentru a crea versiunea iniţială a bazei de date);

·        rutina de reorganizare (pentru a reorganiza baza de date prin eliminarea datelor perimate şi introducerea altora noi);

·        rutine jurnaliere (pentru a nota orice operaţie asupra bazei de date împreună cu identificarea utilizatorului care a efectuat-o);

·        rutine de restaurare (pentru a restaura baza de date la o stare anterioară unui eşec hard sau de programare);

·        rutina de analiză statistică (pentru a sista în realizarea performanţei).

 

Instrumentul utilizat de DBA în lucrul cu programele utilitare este dicţionarul de date. El este o bază de date ce conţine date despre date, adică descrieri ale obiectelor sistemului.

De asemenea atât DBA cât şi utilizatorul beneficiază de o interfaţă utilizator pentru a uşura accesul la date. Această interfaţă poate fi definită ca un ecran în sistem, sub care totul devine invizibil pentru utilizator. Interfaţa se află întotdeauna la nivelul extern.

 

Într-un sistem de baze de date (DBMS) datele sunt memorate la locaţia la care sunt folosite mai des, dar ele sunt disponibile (prin reţeaua de comunicaţii) şi utilizatorilor din alte locaţii. Acest tip de bază de date, împrăştiată într-o reţea de calculatoare se numeşte bază de date distribuite.

                                   Arhitectura unui sistem de baze de date

II.                Abordarea bazelor de date

 

Gestionarea datelor implică atât gestionarea factorilor reprezentaţi de şiruri de biţi pe medii magnetice de memorare cât şi gestionarea semnificaţiei acestor factori. Semnificaţiile sunt gestionate prin organizarea lor în structuri logice de entităţi.

 

1.      Noţiuni şi termeni tehnici uzuali

 

a.       O entitate este reprezentată din datele de acelaşi tip ale unui obiect specific. Obiectele pot fi fixate în clase de obiecte numite entităţi asociate. Un tip de entitate reprezintă o semnificaţie, pe când o instanţă de entitate reprezintă fapte.

b.      Fiecare entitate este descrisă de o mulţime de proprietăţi esenţiale numite atribute. Pentru diferitele elemente ale entităţii, atributele pot să primească valori din anumite mulţimi numite domeniul atributului respectiv.

c.       Un atribut sau o mulţime de atribute pentru care valorile asociate determină în mod unic orice element al entităţii respective se numeşte cheie. Orice entitate admite cel puţin o cheie, deci toate elementele unei entităţi sunt distincte. În cazul în care există elemente care să aibă aceleaşi valori pentru toate atributele, se ia drept cheie un atribut suplimentar reprezentat de numărul asociat elementului în entitatea respectivă, care defineşte în mod unic elementul.

d.      Numim relaţie între entităţile E1,E2,………,Ek orice submulţime a produsului cartezian al mulţimilor elementelor celor k entităţi, adică mulţimi de elemente de forma (e1,e2,……...,ek), unde e1 este un element din E1, e2 este un element din E2 ş.a.m.d. O astfel de relaţie o notăm REL(E1,E2,……...,Ek), unde REL este numele asociat relaţiei, şi putem spune că relaţia are arietatea k. De cele mai multe ori k=2, deci se lucrează cu relaţii binare.

În cazul relaţiilor binare, se poate face o clasificare a lor în funcţie de câte elemente corespund fiecărui element dintr-o entitate în cealaltă entitate, după cum urmează:

1.      relaţie unu-la-unu (notată 1:1), în cazul în care fiecărui element din prima entitate îi corespunde cel mult un element din a doua entitate şi reciproc;

2.      relaţie unul-la-mai-mulţi (notată 1:N), în cazul în care fiecărui element al primei entităţi îi pot corespunde mai multe elemente din a doua entitate, dar fiecărui element din a doua entitate îi corespunde cel mult un element din prima entitate.

3.      relaţie mai-mulţi-la-mai-mulţi (notată M:N), în cazul în care fiecărui element al primei entităţi îi pot corespunde mai multe elemente din a doua entitate şi reciproc.

e.       Informaţiile privind structura unei vederi sunt sintetizate grafic într-o diagramă entitate-relaţie, care pune în evidenţă entităţile ce intervin, reprezentate prin dreptunghiuri, atributele asociate lor reprezentate prin elipse, şi diferite relaţii ce se stabilesc între entităţi reprezentate prin săgeţi (cu vârf dublu către entitatea pe care pot apărea mai multe elemente în relaţie cu un element din cealaltă entitate).

 

 

2.      Baze de date

 

Datele dintr-o colecţie de entităţi pot fi unite şi rezumate în moduri diferite pentru a produce informaţie. Informaţia este o colecţie de date plasată în context, care poate fi furnizată de către o situaţie sau de alte date.

Pentru a creşte (mării) bazele umane de cunoştinţe mentale memorate, omul colectează şi memorează date în formă automată. O astfel de colecţie se numeşte bază de date. Ea reprezintă nu numai date despre entităţi dar şi date despre relaţiile dintre entităţi. Pe baza aceleaşi structuri funcţionează o bază de date şi într-un calculator.

 

Există două forme de baze de date:

a.       baze de date fizice, care sunt reprezentări pe medii de memorare a entităţilor, atributelor şi a relaţiilor dintre ele;

b.      baze de date logice, care reprezintă entităţi, atribute şi relaţiile independente de modul în care datele şi relaţiile sunt reprezentate şi memorate într-o bază de date fizică.

 

III.             Modele de baze de date

 

Există trei categorii de modele de baze de date:

1.      modelul relaţional;

2.      modelul reţea;

3.      modelul arborescent (ierarhic).

 

1.      Modelul relaţional

 

Un model relaţional de baze de date cuprinde trei componente principale:

·                    structura datelor prin definirea unor domenii (valori atomice) şi a relaţiilor “n” (atribute, tupluri, chei primare);

·                    integrarea datelor prin impunerea unor restricţii;

·                    prelucrarea datelor prin operaţii din algebra relaţională sau calcul relaţional.

 

Modelul relaţional se bazează pe noţiunea matematică de relaţie (din teoria mulţimilor) definită ca o submulţime a produsului cartezian a unei liste finite de mulţimi numite domenii. Elementele unei relaţii se numesc tupluri (sau n-cupluri), iar numărul de domenii din produsul cartezian se numeşte arietatea relaţiei (FOTACHE 1997, 102).

 

De obicei relaţiile sunt reprezentate sub forma unor tabele în care fiecare rând reprezintă un tuplu şi fiecare coloană reprezintă valorile tuplurilor dintr-un domeniu dat al produsului cartezian.

În reprezentarea sub formă de tabel a unei relaţii, coloanelor şi domeniilor corespunzătoare lor, li se asociază nume intitulate atribute. Mulţimea numelor atributelor unei relaţii se numeşte schemă relaţională.

 

Deci prin relaţie se înţelege o mulţime de funcţii definite pe o mulţime de atribute cu valori în reuniunea unor domenii, cu restricţia ca valoarea corespunzătoare fiecărui atribut să se afle în domeniul asociat acelui atribut.

 

Se numeşte cheie candidat al unei relaţii R coloana sau mulţimea de coloane din R pentru care valorile corespunzătoare din oricare două tupluri nu coincid, deci identifică tuplurile prin relaţia respectivă şi nu conţin strict o submulţime de coloane cu această proprietate. Pentru fiecare relaţie se alege un candidat de cheie care se numeşte cheie primară a relaţiei. Tuplurile unei relaţii nu pot să conţină valoarea nulă în coloane ce aparţin cheii primare. Eventualii candidaţi de chei diferiţi de cheia primară se numesc chei alternante. Se numeşte cheie străină o coloană sau o mulţime de coloane a unei relaţii R1 ale cărei valori, dacă nu sunt nule, coincid cu valori ale unei chei primare dintr-o relaţie R, nu neapărat distinctă de R1.

 

Mulţimea tuturor schemelor relaţionale corespunzătoare unei aplicaţii se numeşte schema bazei de date relaţionale, iar conţinutul curent al relaţiilor, la un moment dat, se numeşte bază de date relaţională.

 

În modelul relaţional, entităţile sunt reprezentate sub formă de relaţii în care schema relaţională conţine toate atributele entităţii şi fiecare tuplu al relaţiei corespunde unui element al entităţii.

Cele mai multe cereri ale unui utilizator privesc determinarea unor informaţii cu anumite proprietăţi, iar răspunsul posibil este o relaţie care descrie toate elementele cu aceste proprietăţi. Modul de prezentare al răspunsului depinde de interfaţa dintre DBMS şi utilizator.

 

Exemplu:

 

2.      Modelul reţea

 

Modelul reţea este cel mai apropiat de forma de reprezentare a bazelor de date sub forma diagramelor entitate-relaţie. Deosebirea constă în faptul că toate relaţiile ce apar pot fi numai binare şi de tipul 1:1 sau 1:N. Această restricţie permite reprezentarea grafică a unei baze de date de tip reţea sub forma unui graf direcţionat numit reţea.

Într-o reţea, nodurile corespund entităţilor şi relaţiile sunt reprezentate prin săgeţi între noduri (de la tată la fiu) şi anume săgeţi simple dacă relaţia este de tipul 1:1 şi săgeţi duble dacă relaţia este de tipul 1:N.

 

În modelul reţea, entităţilor le corespund fişiere logice care au drept câmpuri atributele entităţii şi eventuale câmpuri de legătură pentru relaţii. Fiecărui element al entităţii îi corespunde o înregistrare logică. Dacă înregistrările sunt identificate numai prin relaţia cu alte entităţi, atunci se mai adaugă la înregistrarea logică încă un câmp ce cuprinde un număr de ordine care permite identificarea acestor înregistrări.

 

Operaţiile cele mai frecvente pentru modelul reţea se împart în două categorii:

·        căutarea unor elemente ale unor entităţi cu anumite proprietăţi sau căutarea unor informaţii prin utilizarea legăturilor între entităţi;

·        navigarea în reţeaua de date.

 

3.      Modelul ierarhic

 

Modelul ierarhic (arborescent) este considerat un caz particular al modelului reţea, în care diagrama asociată este o pădure (mulţime de arbori) şi în care toate legăturile sunt pe direcţia drumului, de la rădăcină la nodul fiu din relaţie, toate relaţiile fiind de tipul 1:N.

La fel ca în cazul celorlalte două modele, există posibilitatea interpretării diagramelor entitate-relaţie sub forma modelului ierarhic. Pentru evitarea redundanţelor în modelul ierarhic, se foloseşte noţiunea de element virtual, care înlocuieşte dublura unui element prin adresa elementului respectiv, fiecare element apărând în baza de date reală o singură dată.

Operaţiile din bazele de date de tip ierarhic se traduc în procese de parcurgere a arborilor. Elementele virtuale permit legarea informaţiilor din aceeaşi entitate sau din entităţi diferite.

Implementarea la nivel logic pentru modelul ierarhic poate fi cea utilizată pentru modelul reţea sau prin înregistrări de lungime variabilă.

Datele sunt stocate pe mediul extern în ordinea dată de parcurgerea în preordine a arborilor, ceea ce uşurează determinarea informaţiilor pentru cererile care se referă la descendenţii unor noduri printr-un număr mic de accese la mediul extern.

 

IV.              Limbaje pentru baze de date

 

Împreună cu fiecare model de date sunt necesare anumite limbaje pentru a defini schemele de reprezentare şi pentru a efectua operaţii cu datele memorate în concordanţă cu schemele. Sunt uzitate astfel, următoarele tipuri de limbaje (DOGARU & 1998, 254):

·        Limbaj de definire a datelor (DDL) – este un limbaj pentru definirea schemei conceptuale;

·        Limbaj pentru manipularea datelor (DML);

·        Limbaj pentru memorarea datelor (SDL).

 

Pentru interacţiunile utilizatorilor cu baza de date este necesar un limbaj prietenos, cu o sintaxă simplă, numit limbaj de interogare (QL). În ciuda numelui său, un limbaj de interogare include facilităţi pentru inserarea, ştergerea şi modificarea datelor din baza de date. În cazul modelului relaţional, abordarea folosită constă în a încorpora toate aceste facilităţi cerute într-o sintaxă uniformă, în cadrul unui singur limbaj. Standardul cel mai cunoscut este SQL.

 

SQL

 

Limbajul numit SQL (Structured Query Language) este utilizat intens în prelucrarea bazelor de date structurate conform modelului relaţional. Unul din motivele popularităţii de care se bucură acest limbaj este faptul că el a fost standardizat de American National Standards Institute (ANSI). În plus, limbajul a fost iniţial dezvoltat şi comercializat de IBM, ceea ce i-a asigurat o mare răspândire. Principala aplicaţie în limbajul SQL, efectuată de utilizator, este interogarea bazei de date (BROOKSHEAR 1998, 379).

Printr-o singură instrucţiune SQL se poate exprima o interogare care presupune o secvenţă de operaţii SELECT, PROJECT şi JOIN, nefiind necesară o anumită ordine a acestora. Deşi forma de exprimare a unei instrucţiuni SQL pare a fi imperativă, în esenţă instrucţiunea este de tip declarativ. Drept urmare limbajul SQL îl scuteşte pe utilizator de necesitatea dezvoltării unei secvenţe de paşi care trebuie parcurşi pentru obţinerea informaţiei dorite – tot ce are de făcut este să descrie informaţia de care are nevoie.

Majoritatea instrucţiunilor din SQL sunt executabile, ele putând fi interpretate şi executate imediat în mod interactiv sau putând fi incluse în diferite aplicaţii scrise în limbaje de programare cum sunt APL, BASIC, C, COBOL, FORTRAN, PL/I, ASSEMBLER, etc., executându-se în momentul rulării programului respectiv (BÂSCĂ 1997, 55). 

 

V.                 Structuri fizice

 

Majoritatea bazelor de date sunt prea mari pentru a fi memorate econom în memoria centrală a unui calculator. Din această cauză ele sunt rezidente pe aparate secundare de memorare, pe discuri şi benzi magnetice.

 

Unitatea de bază de transfer de date între mediul secundar de memorare şi memoria centrală este înregistrarea.                                       

 

Tehnica comună pentru a reduce numărul de accese la aparatul secundar de memorare constă în a bloca înregistrările astfel încât mai multe înregistrări pot fi scrise sau citite printr-un singur acces la aparat.

 

Un fişier este o colecţie de blocuri care sunt gestionate împreună. După conţinut, fişierele se împart în mai multe clase, dintre care cele mai utilizate sunt:

·        directoarele – sunt fişiere care dau informaţii despre alte fişiere;

·        fişierele de date – conţin informaţii ce pot fi prelucrate de programe;

·        fişierele text – conţin informaţii alfanumerice de informare a utilizatorilor sau diferite documente memorate în sistem;

·        fişierele cod sursă – conţin programe scrise într-un limbaj de programare;

·        fişierele cod obiect – conţin programe compilate;

·        fişierele executabile – conţin programe ce pot fi lansate în execuţie.

 

Principalele organizări de fişiere sunt:

·        secvenţială – înregistrări accesate în ordine fizică consecutivă;

·        directă – acces în orice ordine la înregistrări;

·        secvenţial-indexată – acces de la o înregistrare la alta prin intermediul unui index.

            O bază de date fizică este o colecţie de fişiere care implementează împreună un model de date logice. Fişierele sunt integrate de către structura logică a bazei da date şi ele pot comunica între ele. O cerere a unui utilizator poate implica date din mai multe fişiere, iar un fişier poate conţine înregistrări ce implementează una sau mai multe entităţi. Relaţiile logice între entităţi sunt implementate prin referinţe între înregistrări şi/sau fişiere. Ele oferă căi de acces pentru a activa o înregistrare plecând de la o alta.

 

O bază de date fizică conţine două tipuri de fişiere:

·        de date – care memorează fapte;

·        index – susţin accesul la fişierele de date, dar ele însele nu memorează alte fapte decât valorile de chei.

 

VI.              Interfeţe

 

Interfeţele permit accesul facil la informaţiile unei baze de date şi o definire mai simplă a aplicaţilor, care fac posibilă utilizarea bazelor de date şi de către nespecialişti. Interfeţele cuprind componente de acces la date, componente de prezentare a datelor, componente de generare a unor aplicaţii şi alte facilităţi cum ar fi posibilităţi de utilizare a metodelor statistice, procesoare de texte, programe de lucru tabelar, nuclee de sisteme expert, etc.

La acestea se pot adăuga diferite posibilităţi de testare, de simulare, de prelucrare a informaţiei (copieri, sortări, interclasări, etc.), proiectare automată, posibilităţi de lucru multimedia şi altele.