Documente Academic
Documente Profesional
Documente Cultură
Avantaje:
-accesul la oricare element din listă, parcurgerea listei şi adăugarea unui
element la sfârşitul listei se fac cu uşurinţă.
Dezavantaje:
-inserarea, ştergerea de elemente din mijlocul listei sunt operaţii
costisitoare, deoarece presupun deplasarea unor elemente.
- dacă numărul componentelor variază în limite largi în timpul execuţiei
programului, memoria nu este utilizată eficient, deoarece spaţiul alocat pentru
tablou (static sau dinamic) este fix şi dimensiunea alocată trebuie să fie
acoperitoare.
2. Recursivitate.?
3. Arbori. Arbori binari. (definiții, caracteristici, proprietăți).
Parcurgerea în adâncime (pre-, in-, post- ordine).
Parcurgerea în lățime.
ARBORI
O definiţie mai riguroasă a structurii de arbore este următoarea: un arbore A este fie vid,
fie format dintr-un nod rădăcină (R) , căruia îi este ataşat un număr finit de arbori. Aceştia sunt
denumiţi subarbori ai lui A, datorită relaţiei de “subordonare” faţă de rădăcină.
ARBORI BINARI
Dacă toate nodurile dintr-un arbore au cel mult doi descendenţi direcţi (fii), atunci
arborele este denumit arbore binar, iar cei doi potenţiali subarbori ai unui arbore nevid sunt
denumiţi subarbore stâng şi subarbore drept. În cazul in care ordinul nodurilor nu este limitat,
arborele este denumit arbore multicăi. Totuşi, orice arbore multicăi poate fi privit ca arbore
binar, dacă orice nod este considerat în relaţie directă cu maximum alte două noduri - primul
fiu şi următorul frate. Din acest motiv, în cele ce urmează se va considera, dacă nu se precizează
explicit altfel, cazul arborilor binari.
PARCURGEREA IN LATIME
În cazul parcurgerii în lăţime, se tipăreşte mai întâi informaţia din nodul rădăcină, după care sunt
prelucrate, de la stânga spre dreapta, nodurile aflate pe primul nivel, apoi cele aflate pe al doilea nivel,
etc. Pentru a realiza parcurgerea, se poate folosi o coadă, iniţializată cu nodul rădăcină. Apoi, cât timp
există noduri în coadă, se repeta următoarele operaţii:
1. este extras primul nod din coadă;
2. nodul extras este prelucrat;
3. fiii săi sunt adăugaţi în coadă, în vederea parcurgerii ulterioare.
PARCURGEREA IN ADANCIME
În cazul parcurgerii in adâncime, fiii unui nod sunt vizitaţi tot de la stânga spre dreapta, dar trecerea
de la fiul curent la fratele din dreapta se realizează numai după tratarea tuturor descendenţilor fiului
curent (deci a întregului subarbore dominat de acesta).
Caracteristici/Proprietati
-Un graf aciclic este un graf care nu conţine nici o cale de la un nod la el însuşi.
-Un graf orientat sau digraf (prescurtare de la directed graf) G=(V,E) constă deci într-o mulţime V
de vârfuri (sau noduri) şi o mulţime E de arce. Un arc poate fi privit ca o pereche ordonată de vârfuri
(v,w) unde v este baza arcului iar w este vârful arcului. Se spune că w este adiacent lui v.
-Un graf neorientat sau graf G=(N,R) este alcătuit dintr-o mulţime de noduri N şi o mulţime R de
muchii. O muchie este atunci o pereche ordonată de noduri (v,w)=(w,v).
Ideea de bază a parcurgerii unui graf este simplă: se utilizează două mulţimi de noduri: vizitate şi
neexplorate cu următoarea semnificaţie:
- Vizitate este mulţimea nodurilor vizitate;
- Neexplorate este o submulţime a lui Vizitate, cu noduri ai căror vecini au fost doar
parţial exploraţi.
Moduri de memorare
Reprezentarea prin liste de adiacenţe foloseşte mai bine memoria, dar determină o căutare mai
anevoioasă a arcelor. În această reprezentare, pentru fiecare nod se păstrează lista arcelor către
nodurile adiacente. Întregul arbore poate fi reprezentat ca un tablou Cap, indexat după noduri,
fiecare element Cap[I] fiind un pointer spre lista nodurilor adiacente lui i. Memoria necesară
reprezentării este proporţională cu suma dintre numărul de noduri şi numărul de arce ale grafului. În
schimb, căutarea unui arc este proporţională cu numărul de noduri ale grafului.
Componenta hardware
Această componentă poate fi reprezentată de un singur calculator personal, un singur
calculator mainframe sau o reţea de calculatoare.
De obicei, într-o reţea de calculatoare, se aplică următoarea schemă:
Se foloseşte un calculator principal pe care se află programele back-end - adică
partea din sistemul de gestiune al bazei de date care administrează şi controlează
accesul la baza de date.
Se folosesc mai multe calculatoare aflate în diferite locaţii pe care se află
programele front-end – adică partea din sistemul de gestiune al bazei de date ce
constituie interfaţa cu utilizatorul.
În această schemă, numită client-server, programele back-end reprezintă
serverul iar cele front-end reprezintă clienţii.
Componenta software
Această componentă este alcătuită din:
- programele sistemului de gestiune al bazei de date;
- programele aplicaţie scrise de obicei în limbaje de programare de generaţia a
III-a (C, Pascal, Cobol) sau SQL încorporat într-un limbaj de generaţia a III-a;
- sistemul de operare;
- programe de reţea.
Sistemul de gestiune al bazei de date poate avea încorporate instrumente din generaţia a IV-a, cum
ar fi SQL ce permit:
• dezvoltarea rapidă de aplicaţii;
• îmbunătăţirea semnificativă a productivităţii;
• realizarea unor programe uşor de întreţinut
Resursele umane
Resursele umane sunt reprezentate de:
1. Administratorul de date este responsabil de gestionarea resurselor de date şi proiectarea
conceptual / logică a bazei de date.
2. Administratorul bazei de date este responsabil de realizarea fizică a bazei de date ce
implică proiectarea şi implementarea acesteia. Administratorul bazei de date este o persoană care
are în răspundere controlul centralizat al datelor şi al aplicaţiilor ce folosesc aceste date. Îndatoririle
administratorului bazei de date cuprind:
- defineşte schema bazei de date,
- defineşte structura de stocare şi a metodele de acces
- modifică schema şi organizarea fizică
- asigură securitatea
- verifică respectarea constrângerilor de integritate ori de câte ori se introduc date în
baza de date;
- monitorizează toate activităţile utilizatorilor;
- monitorizează creşterea dimensiunilor bazei de date;
3.Proiectanţii de baze de date care pot fi:
a) Proiectant de baze de date logice:
- identifică datele (entităţi şi atribute);
- identifică relaţiile dintre date;
b) Proiectant de baze de date fizice:
- transpune modelul logic într-un set de tabele şi constrângeri;
- selectează structuri de stocare şi metode de acces specific;
- asigură securitatea datelor.
4. Utilizatorii finali care pot fi de următoarele categorii:
- Programatorii de aplicaţii. Aceştia sunt profesioniştii ce interacţionează cu
sistemul folosind instrucţiuni scrise în limbajul de manipulare a datelor.
- Utilizatori cu pregătire specială. Aceştia interacţionează cu sistemul fără a scrie
programe, dar ei formulează cereri pentru a extrage date din baza de date cu ajutorul
instrucţiunilor specifice limbajului de manipulare a datelor.
- Utilizatori specializaţi.
- Utilizatori obişnuiţi.
7. Funcțiile SGBD. Avantaje ii dezavantaje.
Funcţiile sistemelor de gestiune a bazelor de date
1. Stocarea, regăsirea şi reactualizarea datelor.
Este funcţia fundamentală a unui sistem de gestiune a bazelor de date. Sistemul
trebuie să ascundă faţă de utilizatori detaliile privind implementarea fizică internă.
2. Asigurarea unui catalog accesibil utilizatorului
Catalogul sistemului conţine date despre scheme, utilizatori, aplicaţii. Acesta trebuie să
stocheze:
a. denumirile, tipurile şi dimensiunile articolelor de date;
b. denumirile relaţiilor;
c. constrângerile de integritate asupra datelor;
d. numele utilizatorilor autorizaţi care au acces la date;
e. schemele externe, conceptuale, interne precum şi transpunerile lor;
f. statistica utilizării (de exemplu: frecvenţa tranzacţiilor, contorizarea numărului de
accesări ale obiectelor din baza de date).
Utilizarea unui astfel de catalog de sistem asigură o serie de avantaje care sunt
prezentate în continuare:
- simplifică comunicarea;
- identifică utilizatorii;
- identifică cu uşurinţă redundanţa şi incoerenţa;
- înregistrează modificările din baza de date;
- îmbunătăţeşte securitatea;
- îmbunătăţeşte integritatea;
- monitorizează operaţiile efectuate asupra bazei de date.
3. Asigurarea tranzacţiilor
Tranzacţia reprezintă un set de acţiuni prin care se accesează sau se modifică
conţinuturile bazei de date.
4. Asigurarea serviciilor de control concurente
Sistemul de gestiune al bazei de date trebuie să garanteze că nu vor avea loc
interferenţe atunci când mai mulţi utilizatori accesează baza de date.
5. Asigurarea serviciilor de reconstituire
În cazul în care în timpul funcţionării sistemului au avut loc defecţiuni de natură
hardware sau software, acesta trebuie readus într-o stare coerentă.
6. Asigurarea serviciilor de autorizare
În cazul în care în timpul funcţionării utilizatorii încearcă intenţionat sau accidental să
acceseze date pe care nu au dreptul să le prelucreze, sistemul de gestiune al bazei de date
trebuie să intervină.
7. Asigurarea unui suport pentru comunicarea datelor
Utilizatorii trebuie să poată accesa o bază de date centralizată de la locaţii aflate la distanţă.
8.Asigurarea serviciilor de integritate
9. Asigurarea serviciilor pentru promovarea independenţei de date
10. Asigurarea de servicii utilitare
Forme normale
O formă normală reprezintă, cu alte cuvinte, un set specific de reguli ce pot fi utilizate în
scopul testării structurii unui tabel pentru a obţine asigurarea că structura respectivă nu pune
probleme la introducerea sau extragerea datelor.
Formele normale folosite în mod curent sunt
• Prima formă normală (sau FN 1).
• A doua formă normală (sau FN 2).
• A treia formă normală (sau FN 3).
• Forma normală Boyce Codd (sau FNBC).
• A patra formă normală (sau FN 4).
• A cincea formă normală (sau FN 5).
Fiecare dintre cele 6 forme normale este mai restrictivă ca predecesoarea sa. Astfel, de
exemplu, o schemă de relaţie aflată în forma normală trei este şi în forma normală doi, aşa cum
se reprezintă în figura de mai jos:
Scopul formelor normale este acela de a elimina redundanţele din cadrul relaţiilor prin
descompunerea acestora în două sau mai multe relaţii, fără însă a pierde informaţie, ceea ce
înseamnă faptul că este posibilă, în orice moment, revenirea la relaţia originară doar pe baza
relaţiilor obţinute din descompunere.