Sunteți pe pagina 1din 4

Prof. univ. dr. mat. Alexandru A.

Popovici
Curs 4 TEORIA GENERALĂ A BAZELOR DE DATE
4.1 Standardul CODASYL pt. fişiere şi baze de date
CODASYL (Conference on Data System Languages) 1971, 1974: terminologie, limbaje de descriere a datelor
Terminologia: dată elementară, grup de date, înreg. logică, înreg. fizică, cheie, set de date, fiier, index,
zonă, bază de date (BD), dicţionarul datelor, sistemul de gestiune al BD (SGBD), administratorul BD.
Limbajele: — limbajul pt. definirea datelor (LDD; Data Definition Language  DDL);
— limbajul pentru manevrarea datelor (LMD; Data Manupulation Language  DML).
— limbajul pt. integritatea datelor (LID, Data Integrity Language — DIL).
Implementare: a) limbaje separate (CODASYL); b) părţi ale aceluiaşi limbaj (  sublimbaje; ex.: SQL).
Interfaţa utilizatori-SGBD: — aplicaţii ce apelează subprograme/funcţii ale SGBD (  „cu limbaj-gazdă”);
— comenzi independente, interpretate de interfaţă (  SGBD „autonom”).

4.2 Organizarea internă a fişierelor de date


Prelucrări: — orientate spre fişiere de date (fişierele furnizează programelor datele necesare);
— orientate spre baze de date (programele funcţionează în jurul unei BD)
Independenţa BD: logică — extindere fără modif. programe;
Prelucrări orientate Prelucrări orientate
— fizică (faţă de forma de memorare pe dispoz. fizice). spre fişiere de date spre baze de date
Organizare internă: a) localizarea înregistrărilor, b) adresarea (POFD) (POBD)
înregistrărilor, c) accesul la înregistrări. Programe
a) Localizarea înregistrărilor: — adrese fixe (nu se pot Fişiere Fişiere

schimba prin operare cu înreg.; rămân ocupate după ştergere); SGB


Program 1 Program 2 D
— adrese variabile (se pot schimba). BD
b) Adresarea înregistrărilor: — refer. la localizarea pe disc;
Adrese: — absolute (faţă de începutul discului);
— relative (faţă de începutul fişierului).
c) Accesul la înregistrări: — secvenţial (citire una câte una0, pt. fişiere cu organizare secvenţială);
— direct (salt la adresă), pt. fişiere cu organizare aleatoare sau indexată).
Fişiere cu organizare secvenţială (S): — accesul la înregistrări este exclusiv secvenţial;
— înregistrări memorate una după alta, în sectoare consecutive;
— legături între înregistrări succesive: — prin pointeri (din înreg.),
—prin tabele de adrese (exterioare)
Proprietăţi: posibilitatea reorganizării interne, timpul mare de căutare, operaţii dificile cu înregistrări.
Fişiere cu organizare aleatoare (A): — accesul la înregistrări este direct;
— înregistrările se împart în n clase (0 la n  1 ), prin algoritm de împrăştiere pseudo-aleatoare;
— organizarea înregistrărilor în fiecare clasă este secvenţială;
— fiecare clasă ocupă unul sau mai multe sectoare pe disc (nu neapărat succesive);
— adresarea la clase prin listă (memorată în fişier) cu adrese pt. sectorul de început al clasei;
— în interiorul claselor, sectoarele sunt înlănţuite secvenţial, tot prin adrese.
Operaţiile cu înregistrări: 0) încărcarea, în memoria operativă, a listei cu pointerii de clasă;
1) căutare în listă a adresei clasei, 2) acces direct la sector de început al clasei, 3) operare secvenţială în clasă.
Proprietăţi: — posibilitatea reorganizării interne, timp de regăsire relativ mic , operare relativ simplă
— timpi relativi mari pt. parcurgere în ordinea cheilor şi pt. reorganizarea claselor.
Fişiere cu organizare indexată (rară/pagină, deasă/sector) (I): -— acces direct/secvenţial la înregistrări;
— înregistrări memorate într-un „fişier principal”, în ordinea cheilor;
— perechile de valori (cheia +adresa înreg.), memorate în fişierul de index, FI (pt. acces direct);
— sectoare înlănţuite secvenţial prin adrese (posibilitatea parcurgerii secvenţiale a înregistrărilor).
Operaţiile cu înregistrări: 0) încărcarea FI în memoria operativă (RAM);
1) determinarea adresei de pagină/sector (cu ajutorul indexului); 3) căutarea în pagină/sector.
Proprietăţi: — posib. reorg. interne a paginilor/sectoarelor, timpi de regăsire mici , organizare simplă a FI.
Fişierele secvenţial-indexate (SI): FI cu organizare aleatoare, înregistrări cu „lungime fixă” (egală).
Avantaje: micşorarea FI şi a timpului de căutare, independenţa org. faţă de modificările înregistrărilor.
Utilizarea organizărilor: S — fişiere temporare, A — fişiere dinamice, I, SI — fişiere statice.

1
4.3 Modelul entitate-legătură simplu
Modelul entitate-legătură (MEL) simplu (P. Chen, 1976) — reprezentare grafică a datelor şi relaţiilor
dintre ele, prin entităţi, relaţii şi atribute;  diagrama entitate-legătură.
Entitate (E): — persoană obiect, activitate semnificative pentru ansamblul modelat,
— reprezentată grafic printr-o casetă cu text (substantiv unic, scris cu majuscule; de ex., CLIENT).
— are ataşată o cheie primară (K), cu valori identificând unic conţinutul entităţii (de ex., Nr. client).
Atribut (A): — proprietate descriptivă a unei entităţi,
— indicat prin substantiv (nu unic), scris cu minuscule, sub numele entităţii (de ex., Nume client);
— numele lui se subliniază, dacă face parte dintr-o cheie primară.
Legătură: — raport între două entităţi, indicând existenţa şi tipul asocierii între valorile lor (1:1, 1:n, m:n)
— reprezentată grafic printr-o linie unind casetele entităţilor, eventual cu trident (pt. 1:n, m:n);
— indicată printr-un verb, care nu este specific legăturii;
— are eventual o cardinalitate max. (1:1, 1:n sau m:n, fără parant.), şi una min. (1:1, 1:0, 0:0, cu parant.).

PRODUS
ORDIN DE Conţine
CLIENT Trimite Nr. produs
COMANDĂ 1:n (1:1)
Nr. client 1:n (1:0) Nume produs
Nr. ordin
Nume client Nr. culoare
Data
Cod judeţ Nume culoare
Nr. client Apare
Preţ unitar
Conţine Nr. produs 1:n (1:0)
1:n (1:0) Cantitate
JUDEŢ
BIROU
Cod judeţ
Nr. birou
Nume judeţ Serveşte Nume birou
Nr. birou 1:n (1:0)
Calea de acces a interogării: succesiunea de entităţi de la o entitate de început la alta de sfârşit.
Paşi de realizare: P1) identificarea entităţilor (şi denumirea lor), P2) identificarea legăturilor (şi stabilirea
cardinalităţilor), P3) identificarea atributelor (şi denumirea lor), P4) stabilirea cheilor primare.
4.4 Modelul entitate-legătură extins
Modelul entitate-legătură extins (MELE) = MEL+ entităţi speciale + operaţii cu entităţi.
Tipuri de entităţi: — entitate independentă (EI) (definirea nu depinde de alte entităţi);
— entitate dependentă (ED): — nu poate exista fără altă entitate E,
— cheia ei primară include cheia primară a E corespunzătoare şi un atribut al ED,
— caseta ED are laturile mai subţiri decât caseta E;
— subentitate (sE): — entitate subordonată altei entităţi, numită supraentitate(SE);
— cheia primara, atributele şi legăturile SE sunt şi ale sE, dar nu şi invers;
— caseta sE este în interiorul casetei SE;
— procedeul de obţinere a sE din SE este numit moştenire.
Clasă(C): — grup de sE mutual exclusive, relative la aceeaşi SE;
— casetele sE sunt aliniate pe orizontală, în interiorul casetei SE;
— în diagramă, atributele comune nu sunt indicate decât pentru SE
— SE se numeşte supraclasă (SC), grupul sE — subclasă (sC), iar procedeul — clasificare.
Specificare: trecerea de la SC la o sC, prin determinarea atributelor moştenite şi a celor suplimentare.
Generalizare: trecerea de la sC la SC (inversa specificării).
Moştenire multiplă: atributele entităţilor dintr-o sC sunt moştenite de la mai multe SC.
Categorisire: procedeul de modelare a moştenirii multiple.
Paşi de realiz. (pt. fiecare pereche de entităţi {E1 , E2 } , atribute { A1 , A2 } şi perechi de chei primare {K1' , K2' } ):
P1) Se compară A1 cu A2 ; dacă A1  A2 sau A2  A1 , se execută salt la P2;
dacă A1  A2 , atunci una dintre entităţi este inutilă şi este eliminată;
dacă A1  A2   , entităţile nu sunt interesante pentru MELE, STOP. Altfel, salt la P3.
P2) Dacă K1'  K 2' sau K 2'  K1' şi dacă diferenţa dintre ele constă doar dintr-un singur atribut,
atunci entitatea cu cheia primară mai mare este dependentă de cealaltă, STOP.
P3) Dacă K1  K 2' , atunci entitatea cu mai multe atribute este o sE a celeilalte, STOP.
'

2
Ex. 1. REPREZENTANŢĂ (Nume întreprindere, Nume reprezentanţă, Adresă, Domeniu de activitate) —
dependentă de ÎNTREPRINDERE (Nume întreprindere, Adresă, Domeniu de activitate).
Ex. 2. ÎNTREPRINDERE (Nume întreprindere, Adresă, Domeniu de activitate),
ÎNTREPRINDERE INDUSTRIALĂ, ÎNTREPRINDERE COMERCIALĂ, cu câte un atribut suplimentar:
Tip producţie (cu valorile unicat sau serie), Tip comerţ (cu valorile: cu amănuntul şi en gros).
ÎNTREPRINDERE INDUSTRIAL-COMERCIALĂ — cu ambele atribute suplimentare.
Administratorul
întreprinderii ÎNTREPRINDERE REPREZENTANŢĂ
Nume întreprindere Posedă Nume întreprindere
Adresă Nume reprezentanţă
Domeniu de activitate Aparţine Adresă
Procesorul Administratorul Domeniu de activitate
Administratorul
schemei aplicaţiilor BD
BD
conceptuale

ÎNTREPRINDERE
Procesorul Procesorul Nume întreprindere
schemei schemei Adresă
interne externe Domeniu de activitate

ÎNTREPRINDERE ÎNTREPRINDERE
Transformare Transformare Transformare INDUSTRIALĂ COMERCIALĂ
intern- intern- extern- Tip producţie Tip comerţ
alocare conceptual conceptual

Program Program ÎNTREPRINDERE


de aplicaţie de aplicaţie INDUSTRIAL-
intern LEGENDĂ extern COMERCIALĂ
Prelucrare Tip producţie
Personal Tip comerţ
Dicţionarul datelor
Programator Interfaţă Programator
de aplicaţii sau
de sistem
Flux de date de aplicaţii

4.5 Modelul ANSI/SPARC al SGBD-urilor


Raportul ANSI/X3/SPARC (ANSI/SPARC) 1977 — comitetul X3 din American National Standard Institute
(ANSI), sub supravegherea lui Standard Planning and Requirements Commitee (SPARC).
— model standard pt. structurarea SGBD-urilor şi persoanelor pt. administrare şi programare.
Scheme/modele (structuri fundamentale ale datelor):
— schema externă SE (set de subscheme/perspective ale schemei conceptuale, relevante pt.
anumite aplicaţii ale utilizatorilor, cu administratorul aplicaţiilor BD);
— schema conceptuală SC (organizarea logică a BD, cu administratorul de întreprindere);
— schema internă SI (BD ca ansamblu de structuri fizice de memorare, adică fişiere, indexuri
etc., cu administratorul BD propriu-zis);
— eventual schema tehnică ST(alocarea datelor din BD pe dispozitive tehnice de memorare).
Programe — procesor (prelucrarea fiecărei scheme), interfaţă (efectuarea transformărilor între scheme).
Programatori — de aplicaţii şi/sau de sistem (dacă sistemul nu e o „anvelopă” prefabricată.

4.6 Arhitecturile SGBD-urilor centralizate


SGBD — mare interfaţă între programele externe şi BD Interfaţa
(stocată la calculatorul numit furnizor). suplimentară

Nivele (tiers): — interiorul interfeţei IIF/ motorul BD


(procesoarele SI şi SC şi interfeţele corelate) Exteriorul
interfeţei
Exteriorul
interfeţei
Exteriorul
interfeţei
Exteriorul
interfeţei
— exteriorul interfeţei EIF (procesorul SI şi interfeţele
corelate); Interiorul
Interiorul Interiorul Interiorul
— interfaţa suplimentară IFS (între programele de interfeţei interfeţei interfeţei interfeţei
aplicaţie externe, ale clienţilor, şi exteriorul interfeţei).
Arhitecturi: a) locală, b) furnizoare de fişiere, c) client-
BD BD BD BD
furnizor, d) cu trei nivele.

3
4