|
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)
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. |