Sunteți pe pagina 1din 18

Curs 2-3

Prof. dr. ing. Dorin Carstoiu

Baze de date Curs 2-3 1


Cuprins
1. Modelul datelor
2. Enttitati, atribute, relatii
3. Modelul entitate relatie (E-R)
4. Memorarea datelor, fisiere, organizare
5. Metode de cautare pentru acces la date

Baze de date Curs 2-3 2


1. Modele de date, scheme si instante

Definitie: Se defineste modelul datelor ca un set de concepte ce poate


fi utilizat in descrierea structurii datelor.
datelor Prin structura bazei de date
se intelege tipul datelor, legatura dintre ele, restrictiile ce trebuiesc
indeplinite de date.
 O arhitectura de date asociata unei baze de date poate fi
reprezentata pe trei niveluri, avind ca scop separarea aplicatiilor
utilizatorului de baza de date fizica.
Nivel
extern Grup 1 ……. Grup n

Nivel
conceptual Schema conceptuala

Nivel Schema interna


intern

Mediul de stocare

Baze de date Curs 2-3 3


 Nivelul intern constituit din schema interna ce descrie structura de
stocare fizica a datelor in baza de date
 Nivelul conceptual sau schema conceptuala descrie structura
intregii baze de date pentru o comunitate de utilizatori. La nivelul
conceptual se face o descriere completa a bazei de date, ascunzind
detaliile legate de stocarea fizica, concentrindu‑se asupra descrierii
entitatilor, tipurilor de date, relatiilor dintre ele, precum si a
restrictiilor asociate.
 Nivelul extern sau nivelul vizual (utilizator), include o colectie de
scheme externe ce descriu baza de date prin prisma diferitilor
utilizatori. Fiecare grup utilizator descrie baza de date prin prisma
propriilor interese. Exista tendinta la acest nivel ca grupuri de
utilizatori sa ascunda detalii de care nu sint interesate. Si la acest
nivel se pot folosi modele de implementare sau modele de nivel
inalt.

Baze de date Curs 2-3 4


Modele conceptuale de nivel inalt (extern, conceptual)
Cerintele pentru constructia unei baze de date aferenta unei companii,
numita COMPANIE.
 Compania are un numar de angajati organizati pe departamente, si
urmareste realizarea unor proiecte.
 Compania este organizata in departamente, fiecare departament are
un nume, un numar de cod, un numar de angajati (minim 6), putind
avea mai multe sedii.
 Un departament este implicat in mai multe proiecte, fiecare din ele
are un nume, un numar de cod, si o singura locatie.
 Se pastreaza pentru fiecare angajat numele, numarul de cod (social
security number ‑ ssn), adresa, salariul, sex, data de nastere. Orice
angajat este afiliat la un departament, insa poate lucra la mai multe
proiecte ce nu sunt neaparat coordonate de acelasi departament.
Trebuie deci stocat si numarul de ore alocate saptaminal pentru
fiecare proiect. De asemenea, fiecare angajat are un sef direct,
numit si supervizor.
 Lista persoanelor in intretinerea fiecarui angajat este importanta
intrucit este utilizata la calculul impozitului, lista contine numele, sex,
data nasterii.

Baze de date Curs 2-3 5


2. Entitati, atribute, relatii
 O entitate este un obiect real sau conceptual, cu o
existenta independenta. O entitate este un obiect cu
existenta fizica, persoana particulara, automobil,
companie, activitate, curs universitar, etc.
 Orice entitate are o serie de proprietati numite si atribute
ce particularizeaza entitatea respectiva. De exemplu,
pentru o entitate angajat se pot enumera o serie de
atribute cum sint nume, adresa, data nasterii, sex,
salariu.
Ex:
 e1={Nume=Vasile Ionescu, Adresa=Dreptatii - 211,
Sector 6, Virsta = 40, Telefon=6621311}
 e2={ Nume=U.P.B., Sediu=Splaiul Independentei - 313,
Rector=V. Constantinescu}

Baze de date Curs 2-3 6


 Atribut compus. Unele atribute pot fi impartite in parti mai mici cu
semnificatie independenta. Un astfel de atribut este un atribut
compus.
compus Un exemplu este cel al atributului adresa, ce poate fi
subdivizat in atributele componente Oras, Judet, Cod postal, Strada.
 Atributele ce nu sint compuse se numesc atribute atomice.
atomice
Valoarea atributelor compusee se formeaza prin concatenarea
valorilor atributelor atomice.
 Multe atribute au valoare unica pentru o entitate particulara si sint
numite atribute cu o singura valoare.
valoare Spre exemplu virsta unei
persoane. Exista atribute ce pot lua mai multe valori dintr-un set
finit, ca de exemplu gradele didactice intr‑o universitate, culoarea
unui automobil, etc. Acestea sint atribute cu mai multe valori.
Atributele derivate sint atributele ce se pot determina din relatiile ce
exista intre ele ca de exemplu, virsta unei persoane ce se poate
determina din data curenta si data de nastere.

Baze de date Curs 2-3 7


 O baza de date este constituita in mod uzual din grupe de entitati
similare. Fiecare angajat este caracterizat de aceleasi atribute, dar
fiecare entitate angajat va avea un set propriu de valori ce il
caracterizeaza. Entitatile ce sint caracterizate de aceleasi atribute
se numesc entitati tip.
tip Pentru entitatea tip ANGAJAT avind atributele
Nume, Virsta, Salariu, se dau mai jos ca exemplu doua entitati
particulare.
e1(Popescu Vasile, 43, 3880)
e2(Dumitriu Petre, 32, 3240)
 Descrierea atributelor entitatii tip este numita schema entitatii
 Uzual, o entitate tip contine un atribut ce are valori distincte pentru
fiecare entitate individuala. Acest atribut este numit atrtibut cheie,
cheie iar
valorile sale pot fi utilizate pentru identificarea in mod unic a
entitatilor componente.
 O cheie poate fi formata si din mai multe atribute, avind proprietatea
ca prin combinarea valorilor acestora se obtine un set de valori
distinct.

Baze de date Curs 2-3 8


Pentru a se distinge, atributele compuse vor fi reprezentate intre
paranteze. Se poate face prima descriere a bazei de date
COMPANIE
 O entitate tip DEPARTAMENT avind atributele Nume, Numar,
Locatie (Sediu), Manager, Data de la care are aceasta functie.
 Entitatea tip PROIECT cu atributele Nume, Numar, Locatie,
Departamentul ce coordoneaza proiectul, cu atribut cheie oricare
dintre Nume sau Numar.
 Entitatea tip ANGAJAT cu atributele Nume, SSN, Sex, Data nasterii,
Adresa, Salariu, Departament si Supervizor. Atributele Nume si
Adresa pot fi atribute compuse.
 O entitate tip INTRETINUT cu atributele Angajat, Nume, Sex, Data
de nastere, Tip relatie (referitor la relatia dintre angajat si persoana
aflata in intretinere).
 In aceasta incercare de definire nu s‑a tinut cont de faptul ca un
angajat poate sa lucreze la mai multe proiecte, nu apare in acest
caz indicat numarul de ore pe saptamina alocate unui anumit
proiect. Poate fi avut in vedere in cadrul entitatii ANGAJAT prin
atributul compus Lucreaza_la ce ar avea componentele
(Proiect,Ore). O alta alternativa poate fi introducerea unui atribut
compus cu mai multe valori la entitatea PROIECT, atribut ce are
componentele (Angajat, Ore).
Baze de date Curs 2-3 9
 O relatie tip R intre n entitati tip E1,E2,...,En este o asociatie de
entitati de acelasi tip.
 O relatie instanta ri arata de fapt ca entitatile participante in ri sint in
relatii ce corespund lumii reale. De exemplu relatia
LUCREAZA_PENTRU intre entitatile tip ANGAJAT si
DEPARTAMENT asociaza fiecare angajat cu departamentul pentru
care acesta lucreaza.
 Se defineste rangul sau gradul unei relatii tip ca numarul entitatilor
tip participante.
participante
 Daca relatia se stabileste intre elementele aceleiasi entitati se
spune ca s-a stabilit o relatie recursiva.
recursiva Ca exemplu, relatia
SUPERVIZOR se stabileste intre angajati si supervizor, relatie in
care ambii sint membrii aceleiasi entitati.
 Restrictia de cardinalitate este marcata de numarul relatiilor instanta
la care o entitate poate sa participe. Se simbolizeaza prin (m:n)
 Restrictia de participare specifica conditia de existenta a unei relatii.
Pot exista restrictii de participare partiala sau totala.

Baze de date Curs 2-3 10


3. Model E-R
Modelul pentru BD Companie
Ini Nume
Ssn Numar Nume
Pren Nume Loc
Adresa
Salariu (1.1) (4.N)
ANGAJAT Lucreaza DEPARTAMENT
Sex (0.n)
(1.1) (0.n)
Dat_n (0.n) (1.n) Manager
Ore
Supervisor (0.n) (1.n) Control

Relatie Lucreaza_la
(1.n) (1.n) (1.1)

Nume INTRETINUT Nume PROIECT

Relatie Dat_n Numar


Sex Loc

Baze de date Curs 2-3 11


4. MEMORAREA DATELOR, FISIERE, ORGANIZARE

Mediul de stocare poate fi impartit in doua categorii:


 stocarea primara priveste acel mediu asupra caruia se poate opera
direct de catre unitatea centrala.
 stocarea secundara se efera la toate mediile externe de memorare,
cum sunt discul magnetic, banda magnetica, disc optic,
caracterizate de capacitate mare, cost redus, dar cu un timp de
acces mult mai mare decit memoria interna.
Justificarea stocarii externe:
 volumul prea mare pentru a fi stocate in memoria principala;
 datele ramin dupa intreruperea sursei de alimentare, adica au
caracter permanent;
 costul pe unitatea de informatie este mult mai mic;
 asigura transportabilitatea intre mai multe masini

Baze de date Curs 2-3 12


 Informatia este stocata pe suprafata discului pe cercuri concentrice
cu diametre distincte numite piste (track). La discurile compactate
pistele de aceeasi raza formeaza un cilindru.
cilindru
 Fiecare pista este impartita in mai multe blocuri,
blocuri ce apartin unui
sector.
sector Marimea unui bloc este cuprinsa uzual intre 512 si 4096
octeti functie de sistemul de operare aferent. Separarea blocurilor
se face prin spatii de lungime fixa numite gap interbloc,
interbloc ce contine
informatii speciale de control scrise in momentul initializarii discului.
 Orice referire la informatiile stocate pe disc este o referire la un bloc.
Adresa blocului este obtinuta prin combinarea numarului suprafetei,
numarului pistei (intr‑o suprafata) si numarului blocului (in cadrul
unei piste).
 Accesul la informatiile de pe disc se face prin citirea unui bloc si
aducerea acestuia in memoria principala intr‑un spatiu continuu
numit buffer.
buffer
 Cind mai multe blocuri se transfera in memoria interna, existenta
mai multor buffere face ca viteza de transfer sa creasca.

Baze de date Curs 2-3 13


 Inregistrari cu lungime fixa

 Inregistrari cu lungime variabila

 In general, un bloc contine mai multe inregistrari, dar pot exista


inregistrari ce incep intr‑un bloc si se termina in alt bloc, functie de
dimensiunea tipica a inregistrarii.

Baze de date Curs 2-3 14


 Daca se noteaza numarul de octeti ai unui bloc cu B, si cu R
numarul de octeti ai unei inregistrari (valabil doar pentru
inregistrarile de lungime fixa), numarul inregistrarilor ce pot fi
stocate intr‑un bloc va fi dat de realtia:
bfr = [B/R] in care,
 bfr ‑ reprezinta numarul de inregistrari pe bloc (blocking factor rate)
 [x] ‑ reprezinta functia parte intreaga.
 In general R nu divide pe B, deci, daca nu sint inregistrari ce trec
dintr‑un bloc in altul, in fiecare bloc folosit ramine un spatiu
neocupat de B‑(bfr*R) octeti.
Alocarea blocurilor
 Alocarea contigua sau consecutiva a blocurilor
 Alocarea cu legaturi este metoda caracterizata de existenta unor
pointeri de inlantuire a blocurilor.
 Alocarea indexata utilizeaza unul sau mai multe blocuri index ce
contin pointeri la blocurile cu inregistrarile de date.

Baze de date Curs 2-3 15


5. Metode de cautare

1. Cautare liniara (secventiala)


2. Cautare binara. Se considera un fisier secvential cu N inregistrari,
ale carui chei sint in ordine crescatoare k1 < k2 <....< kN,
cautarea avind ca scop gasirea inregistrarii cu cheia k.

 Pas1 Stabileste l=1 si u=N


 Pas2 Obtine mijlocul secventei. Daca inregistrarea cu cheia k se
gaseste in secventa, atunci kl<=k<=ku Daca u <= l,
inregistrarea nu exista. Stop.
 Daca u >l atunci i = [(l+u)/2], mijlocul aproximativ al secventei
 Pas3 Daca k < ki, salt la pasul 4
 Daca k > ki, salt la pasul 5
 Altfel k = ki, inregistrare gasita. Stop.
 Pas4 Stabileste u = i‑1, salt la pasul 2
 Pas5 Stabileste l = i+1, salt la pasul 2

Baze de date Curs 2-3 16


 Cautare binara uniforma
 Cautare Shar (nod radacina [log2n)
 Cautare Fibonacci

HASH
 Pointer = functie_hash(camp_hash) si indica grupul in care se
gaseste inregistrarea.
 Utilizata atat la stocare cat si la citire

Baze de date Curs 2-3 17


Hash

Grup1
Grup2
Grup3
Grupuri initiale (date de
valorile functiei hash)

Grup n
Overflow 1
Grupuri overflow

Overflow k

Baze de date Curs 2-3 18

S-ar putea să vă placă și