Sunteți pe pagina 1din 32

Centrul de Instruire pentru

Tehnologia Informației și
Apărare Cibernetică
CURS 4 - Baze de date
SGBD – Sisteme de gestiune a bazelor de date

Întocmit:
Slt. ROMANIUC Alexandru-Gabriel
romaniuc_alexandrugabriel@yahoo.com
1. Baze de date/SGBD- definiții

Def
O bază de date = reprezintă o colecţie de date aflate în
interdependenţă, împreună cu descrierea datelor şi a relaţiilor
dintre ele. Baza de date poate fi privită ca o colecţie de fişiere
interconectate care conţin nucleul de date necesare unui sistem
informatic. Astfel că, baza de date poate fi considerată drept un
model al unor aspecte ale realităţii, modelată prin intermediul
datelor.

Def
SGBD = Un sistem de gestiune a
bazelor de date (SGBD/DBMS) reprezinta
ansamblul de programe care permite
utilizatorului sa interactioneze cu o
baza de date.
Def
Rolul unui SGBD = are rolul de a furniza suportul software
complet pentru dezvoltarea de aplicaţii informatice cu baze de date
adică reprezintă interfaţa între Baza de date şi utilizatori!
Totodată un SGBD permite crearea, consultarea și actualizarea bazei
de date.

Funcțiile unui SGBD:


a) Descrierea datelor
b) Utilizarea datelor
c) Integritatea datelor
d) Confidentialitatea datelor
e) Accesul concurent la date
f) Siguranta în functionare
a) Descrierea datelor: Un SGBD trebuie sa includa posibilitatea
descrierii stucturii obiectelor care formeaza baza de date. În cazul
bazelor de date relationale aceasta consta în principal în
posibilitatea creerii si modificarii structurii tabelelor si
constrangerilor de integritate asociate acestora.

b) Utilizarea datelor: Aceasta functie include operatiile de lucru cu


datele înregistrate intr-o baza de date.
Exista patru categorii de operatii principale:

Aceasta se rezuma la Se rezuma la Se rezuma la Se refera la


adaugarea de noi linii modificarea operatiunea de
stergerea de linii continutului unor cautare a datelor
în tabelele care
formeaza baza de din cadrul linii existente in dupa anumite
date. tabelelor tabele criterii

Inserarea Stergerea Actualizarea Regasirea


c) Integritatea datelor: Majoritatea sistemelor de gestiune permit
definirea unor reguli pentru care datele stocate trebuie sa
indeplineasca anumite constrangeri de integritate. În cazul în care
o operatie are ca rezultat violarea acestor restrictii aceasta este
automat rejectata si nu are efect în baza de date. În felul acesta
este asigurata o mai mare siguranta în ceea ce priveste
corectitudinea datelor.

d) Confidentialitatea datelor: Accesul la date este permis doar


utilizatorilor înregistrati si doar în masura drepturilor de acces
alocate. Un utilizator este identificat printr-un nume-utilizator si
o parola. Fiecarui utilizator i se permite accesul doar la o
portiune a bazei de date si doar pentru a efectua anumite tipuri de
operatii. Toate aceste informatii relative la ce, cum si de unde
poate accesa datele un utilizator reprezinta drepturile de acces
asociate acestuia. Drepturile de acces sunt stocate în cataloagele
sistemului.
e) Accesul concurrent la date: Se refera la facilitatile de blocare a
unor portiuni ale bazei de date. Aceasta inseamna ca o executie a
unui program poate capata un acces exclusiv la o portiune a bazei de
date, denumita si articol, moment în care orice alta executie
trebuie sa astepte deblocarea acesteia pentru a continua. Daca notam
operatiile de blocare si deblocare cu LOCK si UNLOCK, programul de
rezervare de locuri poate fi rescris.

d) Siguranta in functionare: Se refera la acele elemente care exclude


sau minimizeaza posibilitatea de pierdere a datelor datorata
incidentelor software sau hardware. Salvarea datelor este dificila
deoarece aplicatia ruleaza non-stop si operarea nu poate fi oprita
pentru efectuarea salvarii. Restaurarea dupa incident face referire
la efectuarea operatiei de restaurare a copiei bazei de date.
Def Entități: pot fi lucruri reale precum o clădire, o persoană,
o activitate sau o noțiune abstractă. Modelează clase de obiecte
concrete sau abstracte despre care se colectează informații, au
existența independentă şi pot fi identificate în mod unic.
Exemple de entități: Student, Oras, Angajat, etc
Def Atribute: reprezintă orice detaliu care servește la
identificarea, clasificarea, cuantificarea, sau exprimarea stării
unei entități, ele modelează proprietati atomice distincte ale
entitatilor.
Exemplu: entitatea STUDENT poate avea atributele: Matricola,
Nume, Prenume, Anul, Grupa, Domiciliul etc.

Caracteristici atribut:
 Un atribut este un substantive la singular;
 Un atribut poate fi obligatoriu sau optional;
 Obligatoriu (*) = pentru fiecare instanta a entitatii
respective, trebuie sa existe o valoare pentru acel atribut;
Def Relație/Asociere = termenul de relație (care dă denumirea
modelului) provine din matematică iar reprezentarea intuitivă a
unei relații este o tabelă care modelează interdependențele (sau
legăturile) dintre clasele de obiecte reprezentate prin entități.
Exemplu: între entitățile STUDENTI şi FACULTATI se poate
figura o asociere INSCRIS_LA care descrie impartirea studentilor pe
facultati.

Exemplu 1

Observatie: Atributele care


definesc în mod unic
instanţele unei entităţi se
numesc identificatori unici
(UID Unique IDentifier) (#)
Exemplu 2
Enunt: Un JUCĂTOR joacă într-o ECHIPĂ, iar la o ECHIPĂ trebuie să joace unul sau
mai mulţi JUCĂTORI.

Identificam:
- Numele relatiei: joaca
- Optionalitatea acestei relatii:
• Relatie obligatorie – jucatorii trebuie sa joace la o echipa
• Relatie optionala – jucatorii pot sau nu, sa joace la o echipa
- Variante: 1. Un JUCATOR trebuie/poate sa joace la o ECHIPA si numai una.
2. Un JUCATOR trebuie/poate sa joace la una sau mai multe ECHIPE.
- Varianta REALISTA: Un JUCATOR poate sa joace la o ECHIPA si numai una.
Def Relatiile se reprezinta astfel:

Caracteristica Valoare Mod de reprezentare


relaţiei
Numele relaţiei un verb se scrie deasupra relaţiei

Opţionalitatea relaţie obligatorie linie continuă


(TREBUIE)
relaţie opţională linie întreruptă
(POATE)
Cardinalitatea una şi numai una Linie simplă
una sau mai multe “picior de cioară”
2. Tipuri de relatii
a. Relatii one-to-one: Acest
tip de relație este destul
de rar întâlnit. Uneori
astfel de relații pot fi
modelate transformând una
dintre entități în atribut
al celeilalte entități.

b. Relatii one-to-many:
Aceste relații sunt cele
care se implementează
mai departe în modelul
fizic.
c. Relatii many-to-many:
Acestea sunt relațiile care
apar în prima fază a
proiectării bazei de date.
Ele sunt eliminate prin
rezolvarea lor.
Rezolvarea relatiilor many-to-many:
a) Se găseşte entitatea de intersecţie.
b) Crearea noilor relaţii.
• opţionalitatea: relaţiile care pleacă din entitatea de intersecţie sunt
întotdeauna obligatorii în această parte. În partea dinspre entităţile
originale, relaţiile vor păstra opţionalitatea relaţiilor iniţiale.
• cardinalitatea: ambele relaţii sunt de tip one-to-many, iar partea cu many
va fi întotdeauna înspre entitatea de intersecţie.
c) Adăugarea de atribute în cadrul entităţii de intersecţie, dacă acestea
există.
d) Stabilirea identificatorului unic pentru entitatea de intersecţie: dacă
entitatea de intersecţie nu are un identificator unic propriu, atunci acesta se
poate forma din identificatorii unici ai entităţilor iniţiale
Exemplu:
Continuare Exemplu:
3. Asocieri redundante/ Eliminare asocieri redundante
Obs: In momentul in care se definesc mai multe entitati, trebuie
realizate asocierile intre ele.

Def Redundanta= reprezinta stocarea nejustificata a unei


aceleasi informatii de mai multe ori in baza de date.

Def
Anomalia de actualizare= in cazul actualizarii unei
informatii redundante, se poate intampla ca operatia sa modifice
unele aparitii ale acesteia iar altele sa ramana cu vechea valoare.
Exemplu:
In următorul exemplu asocierea
INSCRIS_LA modeleaza apartenenta
fiecarui student la o facultate
a unui institut de invatamint
superior. Fiecare facultate are
un profil unic descris de
asocierea ARE_PROFILUL. Ambele
asocieri sunt multi-unu in
sensul STUDENT FACULTATE PROFIL.

Deoarece asocierile multi-unu sunt asemanatoare unor functii, din


compunerea lor putem afla profilul la care este inscris fiecare
student. Rezulta ca asocierea URMEAZA_PROFILUL este redundanta şi
trebuie eliminată!
4. O bază de date trebuie să asigure:
a) abstractizarea datelor (baza de date fiind un model al
realităţii
b) integrarea datelor (baza de date este un ansamblu de colecţii de
date intercorelate, cu redundanţă controlată)
c) integritatea datelor (se referă la corectitudinea datelor
încărcate şi manipulate astfel încât să se respecte restricţiile de
integritate)
d) securitatea datelor (limitarea accesului la baza de date)
e) partajarea datelor (datele pot fi accesate de mai mulţi
utilizatori, eventual în acelaşi timp)
f) independenţa datelor (organizarea datelor să fie transparentă
pentru utilizatori, modificările în baza de date să nu afecteze
programele de aplicaţii).
5. Modelul datelor dintr-o bază de date

Def
Regulile si conceptele care permit descrierea structurii
unei BD formeaza modelul datelor. În timp au fost definite trei
astfel de modele:

 Modelul ierarhic în care datele erau organizate sub forma unui


arbore, nodurile constând din înregistrari iar arcele referinte
catre alte noduri.
 Modelul retea în care datele erau organizate sub forma unui graf
orientat. Nodurile si arcele au aceeasi semnificatie ca mai sus.
 Modelul relational în care, intuitiv, datele sunt organizate sub
forma de tabele. Este cel mai utilizat model de stocare a
datelor, în care există diverse legături între tabele.
6. Nivelele de organizare a datelor într-o bază de date
Nivelul logic – aici se Nivelul fizic - corespunde
realizează o descriere a schemei interne a bazei de
datelor corespunzătoare date prin care se realizează
unui anumit program de o descriere a datelor pe
aplicaţie. suport fizic de memorie
Programator aplicatie Inginer de sistem
Nivelul conceptual (global)- îi
corespunde structura conceptuală
(schema) a bazei de date, prin
care se realizează o descriere a
tuturor datelor, într-un mod
independent de aplicaţii.
Administrator
7. Analiza de sistem – proiectarea bazei de date

Def
Se realizeaza analiza segmentului din lumea reala care va fi
gestionat de aplicatia respectiva. Rezulta o specificatie
neformalizata a cerintelor constand din doua componente:
 Cerinte privind continutul bazei de date: categoriile de
date care vor fi stocate si interdependentele dintre acestea.
 Cerinte privind prelucrarile efectuate de aplicatie:
prelucrarile efectuate asupra datelor, arborele de meniuri
al aplicatiei, machetele formatelor de introducere si
prezentare a datelor si ale rapoartelor tiparite de aceasta.
8. Entity Relations Diagram
9. Normalizarea Datelor dintr-o Baza de Date
Tehnica de proiectare a • Se elimina redundantele
bazelor de date prin care • Se elimina informatiile
se elimina anomalii si care se pot deduce din alte
inconsistente ale datelor informatii existente
Normalizarea implica • Prin compunerea lor se
descompunerea unei ajunge exact la aceleasi
entitati in doua sau mai informatii
multe entitati
• Se aplica fiecarei entitati in parte
Formele normale arata • O baza de date sau ERD este
daca un anumit ERD este intr-o forma normala daca toate
bine proiectat entitatile se gasesc in acea
forma normala
a) Prima normalizare - 1NF
b) A doua normalizare - 2NF
c) A treia normalizare - 3NF
Exemplu de normalizare:
Exemplu de normalizare: continuare
Exemplu de normalizare: continuare
Exemplu de normalizare: continuare
10. Implementarea modelului conceptual-> Modelul fizic
Def
Transformarea modelului conceptual, al ERD-ului, in modelul
fizic, adica in baza de date propriu zisa, se numeste mapare. Acest
proces implica transformarea fiecarui element al ERD-ului.
Maparea Entitatilor

Def Cheia straina a unei tabele (FK) este cheie primara (PK) in
tabele de referinta.!!!
Maparea Relatiilor
In tabela JUCATORI s-a introdus inca un camp cheie straina (sau
secundara) cod_echipa, care este de fapt cheia primara cod din
tabela ECHIPE.

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