luni, 7 octombrie 2019

CONCEPTE G EN ER A LE DESPRE BAZE DE DATE

CONCEPTE G EN ER A LE DESPRE BAZE DE DATE
După studierea acestui capitol, veţi fi capabili să:
• explicaţi sensul termenilor dată elementară, structură de date, bază de date;
• recunoaşteţi date elementare, structuri de date şi baze de date;
• descrieţi structura bazelor de date ierarhice, în reţea şi relaţionale;
• recunoaşteţi modelul conceptual al unei baze de date.
6.1. Noţiuni şi concepte despre date şi despre baze de date
6.1.1. Date elem entare şi structuri de date
Data este un model de reprezentare a informaţiei, accesibilă unui procesor (om,
program etc.), model cu care se poate opera pentru a obţine informaţii noi.
Data elementară este o entitate indivizibilă atît în raport cu informaţia pe care o reprezintă, cît şi în raport cu procesorul logic (programul) sau cel fizic (unitatea centrală care
o prelucrează).
Din punct de vedere logic, data elementară este caracterizată de:
a) iden tificatoru l d a te i;
b) valoarea d a te i;
c) atribu tele datei.
I d e n tific a to r u l d a te i se foloseşte pentru a apela (a accesa) această dată.
V a lo a r e a d a te i este conţinutul zonei de memorie în care este stocată data. D o m e n iu l
d e d e f in iţie a l d a te i este mulţimea valorilor pe care le poate lua data în procesul prelucrării ei.
A tr ib u te le d a te i stabilesc caracteristici specifice datei. Unul dintre cele mai importante
atribute ale datei este tip u l, care defineşte apartenenţa datei la o anumită clasă de date.
Fiecărui tip de date îi corespunde un model de reprezentare internă.
E x e m p lu l 1: Declaraţia v a r c : i n t e g e r , din Pascal, defineşte variabila c care în orice
moment de timp al execuţiei programului identifică o dată elementară de tip integer
ce va „ocupa” o zonă de memorie de doi octeţi. Domeniul de definiţie al tipului integer
este mulţimea numerelor {-32 768, -32 767, ..., 32 767}. În urma instrucţiunii c:= 8,
în zona de memorie menţionată se va stoca valoarea 8.
E x e m p lu l 2: Valorile tipurilor simple din Pascal sînt date elementare.
Structura de date este un ansamblu de date, între elementele căruia sînt stabilite
anumite relaţii care definesc metodele de identificare şi prelucrare a acestor date. Structura
63
de date poate fi compusă din date elementare sau din alte structuri de date. Fiecare componentă a structurii de date poate fi localizată cu ajutorul identificatorului ei sau prin poziţia
ei în cadrul structurii.
E x e m p lu l 3: Valorile tipului record din Pascal sînt structuri de date ale căror componente (cîmpurile) pot fi apelate folosind numele lor, adică identificatorii cîmpurilor.
Un masiv este o structură de date, ale cărui componente (elementele masivului) pot
fi apelate utilizînd poziţia acestei componente (adică indicele ei).
Principalele caracteristici ale unei structuri de date sînt:
a) O m ogen itatea. O structură om ogen ă are toate componentele de acelaşi tip. Astfel,
înregistrările (valori de tip record) sînt structuri neomogene, iar masivele - structuri
omogene;
b) M o d u l de acces al com ponentelor. Componentele unei structuri pot fi accesate direct
sau secvenţial. De exemplu, fişierele text sînt structuri de date cu acces secvenţial;
c) S tabilitatea stru ctu rii. Dacă pe parcursul execuţiei programului o structură nu-şi
schimbă numărul de elemente şi relaţiile dintre ele, atunci această structură este
statică. În caz contrar, o astfel de structură se numeşte structură dinam ică. De exemplu,
listele înlănţuite sînt structuri dinamice, iar înregistrările - structuri statice;
d) T im pul de utilizare. Structurile pot fi permanente sau temporare. De exemplu, fişierele externe sînt structuri de date permanente, iar masivele - structuri temporare.
6.1.2. Baze de date
Pînă în prezent am prelucrat diferite tipuri de date şi structuri de date utilizînd un
limbaj de programare sau o aplicaţie software (editor de texte, procesor tabelar etc.). Cea
mai complexă structură de date prelucrată a fost fişierul.
Evident, informaţiile despre o firmă, companie sau instituţie pot fi păstrate în fişiere.
De exemplu, în cazul unui liceu, se pot crea fişierele Profesori, E levi, C lase, D iscipline etc.,
în care se vor stoca datele, respectiv, despre profesori, elevi, clase, discipline studiate etc.
Pentru a păstra informaţii despre repartizările profesorilor pe clase, se va crea alt fişier,
P rofesor_C lasa, pe baza conţinuturilor fişierelor Profesori şi C lase. Să presupunem că un
şef de studii proaspăt angajat creează acest fişier. Dacă informaţia despre un profesor (din
fişierul Profesori) este inexactă, atunci ea va apărea eronată şi în tabelul P rofesor_C lasa.
Eventual, aceeaşi greşeală va fi şi în fişierul O raru l_lecţiilor. Sesizînd-o, şeful de studii va
fi nevoit să corecteze pe rînd toate cele trei fişiere. Mult mai simplu ar fi dacă actualizînd
fişierul Profesori, automat vor fi actualizate şi toate fişierele care „l-au utilizat”. În acest
mod, s-ar asigura in te g rita te a d a telo r.
În afară de com plexitatea a ctu a liză rilo r, metoda prelucrării datelor prin fişiere independente are şi alte dezavantaje:
• P rezen ţa aceloraşi date în cîtevafişiere in depen den te poate duce la duplicarea datelor,
deci şi la consumul mare de memorie.
• D ificu ltatea obţin erii in form aţiilor spontane rezidă din independenţa fişierelor (de
exemplu, pentru a obţine lista profesorilor de sex feminin care predau ştiinţele exacte în
clasa a 10-a, profil real, trebuie prelucrate cel puţin fişierele Profesori, Clase, D iscipline).
• F orm atele in com patibile de fişiere încetinesc prelucrarea informaţiilor (de exemplu,
64
fişierele generate cu diferite limbaje de programare este posibil să aibă formate diferite,
deci va fi necesară o aplicaţie care le va transforma în fişiere cu acelaşi format).
Acestea şi alte probleme pot fi rezolvate dacă se foloseşte o structură de date de tip
b a za de date.
O bază de date este un ansamblu de informaţii (date), organizate într-un mod special,
fapt care facilitează stocarea şi extragerea lor. Informaţiile dintr-o bază de date sînt
păstrate sub formă de înregistrări sau de fişiere, între care există legături logice. În afară
de depozitul de informaţii, baza de date conţine descrierea lor: tipul, structura, modul
de organizare şi relaţiile dintre ele.
Întrebări si exerciţii y >
O Numiţi tipurile de date studiate. Care dintre ele sînt:
a) tipuri de date elementare;
b) tipuri de date structurate?
e Selectaţi datele elementare: simbol, număr real, şir de caractere, masiv de numere, element al
unei mulţimi, număr întreg, valoarea false, fişier.
e Care este domeniul de definiţie al tipului:
a) in t e g e r ;
b) c h a r;
c) l i t _ M declarat astfel type l i t _ M = 'A '.. 'Z';
d) b o o le an ?
O Caracterizaţi structurile de date:
a) mulţime;
b) masiv;
c) înregistrare;
d) listă înlănţuită;
e) fişier.
R epere: omogenitate, mod de acces, stabilitate şi timp de utilizare.
© Explicaţi sensul noţiunii b a ză d e d a te.
© Argumentaţi de ce pentru păstrarea şi prelucrarea informaţiei unei companii este mai avantajos
utilizarea unei baze de date comparativ cu utilizarea unui sistem de fişiere.
© Care sînt deosebirile dintre o bază de date şi o structură de date?
6.2. Tipuri de baze de date
După cum vom vedea în capitolul următor, un pas important în elaborarea bazelor
de date este proiectarea m odelului conceptual de date al bazei, care nu depinde de parametrii fizici ai mediului de păstrare a datelor şi defineşte modul lor de organizare.
Modelul conceptual al unei baze de date reprezintă o descriere generală a bazei de date
cu ajutorul limbajului natural, al celui matematic, al diagramelor şi organigramelor, al
graficelor şi al altor mijloace înţelese de cei care elaborează baza de date.
Cele mai răspîndite modele conceptuale sînt:
a) ierarhic (sau arborescent);
b) reţea;
c) relaţional.
65
În funcţie de modelul ei conceptual, baza de date se numeşte ierarhică, în reţea sau
relaţională.
Entităţile (colecţiile de date) ale b a z e i d e d a te ie r a r h ic e (h ierarhical database) sînt
organizate sub formă de noduri, la care sînt conectate ramurile unui arbore. Fiecare nod se
subordonează cel mult unui nod de nivel ierarhic imediat superior (numit n od-părin te)
şi poate fi legat cu niciunul, unul sau cu cîteva noduri de nivel inferior (numite n odu ricopii).
E x e m p lu : Baza de date a adreselor Internet are următorul model ierarhic:
www
În cazul b a z e i d e d a te în r e ţe a (n etw ork database), entităţile la fel sînt aranjate ierarhic,
însă unui nod-copil poate să-i corespundă cîteva noduri-părinte.
E x e m p lu : Baza de date a unei ramuri industriale poate avea următorul model:
Materie primă 1 Materie primă 2 Materie primă 3
x A X
Fabrica 1 Fabrica 2 Fabrica 3
/ <A\
Produs 1 Produs 2 Produs 3
O b a z ă d e d a te r e la ţio n a lă (relation al d atabase) are cel mai flexibil model conceptual
de organizare a datelor. Parcurgerea entităţilor unei astfel de baze nu este ierarhică.
Modelul relaţional este simplu, dar riguros din punct de vedere matematic. Pentru
prima dată acest model a fost propus în 1970 de savantul Edgar Frank Codd*.
* Ed g a r Frank C odd (23.08.1923, insula Portland, Anglia - 18.04.2003, Williams island, Florida, SUA) - informatician american de origine engleză care, lucrînd pentru iBM, a inventat modelul relaţional pentru gestiunea
bazelor de date. pentru contribuţiile sale în domeniul informaticii, în 1981 obţine premiul Turing, considerat
„premiul Nobel pentru informatică''.
66
Baza de date relaţională este formată din tabele, denumite relaţii. Fiecare tabel este
format din rînduri şi coloane. Rîndurile se numesc înregistrări de date, iar coloanele -
cîm pu ri de date. C apu l de tabel (sau a n tetu l tabelului) defineşte structura tabelului. Prin
crearea unui tabel se subînţelege, de fapt, definirea capului de tabel.
În fig u ra 6.1 este reprezentată o parte din schema conceptuală a unei baze de date
relaţionale.
Tabelul Clase
Fig. 6.1
Între tabelele unei baze de date relaţionale există interdependenţe (despre care vom
afla mai detaliat în următoarele capitole).
O b se rv a ţie : În continuare vom examina doar baze de date relaţionale.
Întrebări si exerciţii j j
O Descrieţi structura bazelor de date:
a) ierarhice;
b) în reţea;
c) relaţionale.
e Stabiliţi tipul bazei de date ştiind că:
a) între fiecare două entităţi ale bazei există o legătură;
b) entităţile bazei sînt noduri ale unui arbore binar;
c) o entitate este legată cu toate celelalte entităţi şi alte legături nu există;
d) informaţiile din bază sînt organizate în zece tabele.
© Reprezentaţi schematic un model ierarhic pentru o bază de date cu informaţii despre:
a) un liceu;
b) un magazin de produse alimentare;
c) o bibliotecă.
O Rezolvaţi exerciţiul © pentru cazul:
a) modelul reţea;
b) modelul relaţional.
© Stabiliţi tipul bazei de date a numerelor de telefoane fixe din ţa

Niciun comentariu:

Trimiteți un comentariu