Sunteți pe pagina 1din 25

Universitatea ”Constantin Brancusi” din Targu Jiu

BAZE DE DATE – curs

Anul I, FB, CIG,


Anul II IE

Prof. univ. dr. Babucea Ana-Gabriela

An universitar 2019-2020 1
TEMA 3
PROIECTAREA BAZELOR DE DATE -
ETAPELE PROIECTĂRII

Conținuturi:
3.1. Procesul proiectării unei baze de date
3.2. Proiectarea logică a unei baze de date
3.3. Proiectarea fizică a unei baze de date
3.1. Procesul proiectării unei baze de date

 Proiectarea unei baze de date poate fi


privită ca un proces derulat în două etape :
 proiectarea logică în care este stabilită
structura logică a bazei de date;
 proiectarea fizică în care se stabilește
modalitatea de implementare a structurii logice
în sistemul de gestiune a bazelor de date
(SGBD).

Universitatea Constantin Brancusi din


Targu Jiu 3
3.1. Procesul proiectării unei baze de date

 Aceste două etape mari se compun la rândul lor din


faze și pași, care deși, de cele mai multe ori nu se
derulează într-o singură secvență, dirijează proiectarea
bazei de date la fiecare nivel asemeni unui algoritm.
 Prin descompunerea procesului de proiectare în mai
multe faze și pași, fiecare rezultat intermediar devine
punct de plecare în următoarea fază/etapă, iar
rezultatul dorit se obține doar la finalul procesului.
 Această abordare simplifică acest proces care este
unul destul de complicat.

Universitatea Constantin Brancusi din


Targu Jiu 4
3.1. Procesul proiectării unei baze de date

Fig. 3.1. – Procesul proiectării unei baze de date

Universitatea Constantin Brancusi din


Targu Jiu 5
3.1. Procesul proiectării unei baze de date

 Modificarea proiectului este posibilă în oricare dintre


fazele proiectării, așa încât pot să apară bucle între
faze (sau chiar în cadrul aceleiași faze).
 În fiecare etapă/fază a proiectării a bazei de date,
datele sunt reprezentate utilizând modele de date
specifice ce dispune de concepte sau notații specifice
pentru descrierea datelor, a relațiilor de date, a
semanticii de date și a constrângerilor acestora.
 Cele mai multe conțin și setul de operații de bază
pentru manipularea datelor în baza de date.

Universitatea Constantin Brancusi din


Targu Jiu 6
3.1. Procesul proiectării unei baze de date

 Deoarece o bază de date se proiectează cu un anumit scop și


că este întotdeauna legată de utilizarea ei ulterioară,
respectiv de programele de aplicație asociate, procesul
proiectării BD necesită o etapă premergătoare, de colectare a
solicitărilor utilizatorilor/ beneficiarilor bazei de date, în baza
cărora va fi descrisă schema conceptuală a BD.
 Această etapă premergătoare proiectării propriu-zise
presupune:
 identificarea tuturor cerințelor cu privire la aplicațiile ce urmează
a le executa, a informațiilor pe care utilizatorii se așteaptă să le
extragă din baza de date respectivă,
 identificarea datelor primare disponibile.

Universitatea Constantin Brancusi din


Targu Jiu 7
3.2. Proiectarea logică a bazei de date

 Proiectarea logică a bazei de date este independentă de


particularitățile SGBD-ului precum și de alte aspecte
fizice ale sistemului informatic.
 Presupune două faze succesive:
 Faza 1: Modelarea conceptuală a bazei de date – care are ca
scop descrierea modelului conceptual al bazei de date
(model independent de implementarea ulterioară a BD într-un
anume SGBD).
 Faza 2: Modelarea logică, care are ca scop transpunerea
modelului conceptual de nivel înalt al bazei de date, obținut
în faza inițială, într-un model logic, specializat, de care va
depinde ulterior modelul de date în care se va implementa baza
de date.

Universitatea Constantin Brancusi din


Targu Jiu 8
3.2.1. Faza 1 - Modelarea conceptuală a BD

 Este prima fază a proiectării logice a BD


 Este considerată de nivel înalt, abstract, denumită și
design conceptual al BD.
 Utilizând conceptele furnizate de un model de date de
nivel înalt sunt descrise: structura de date, relațiile și
constrângerile dintre date.
 Cel mai utilizat model conceptual de nivel înalt este
Modelul Entitate – Asociere(Relație) E-A (cu variantă
extinsă Modelul Entitate-Asociere extinsă E-AE)
 Modelul se prezintă sub forma unei diagrame, un mod
facil de stabilire a unei comunicări între dezvoltatori și
utilizatori.
Universitatea Constantin Brancusi din
Targu Jiu 9
3.2.1. Faza 1 - Modelarea conceptuală a BD

 Modelul conceptual este o reprezentare (semi)formală a


structurii bazei de date, în termeni pe înțelesul utilizatorului
folosit pentru verificarea îndeplinirii cerințelor utilizatorului și
punerea de acord cu beneficiarul, evitându-se astfel o
proiectare neconformă cu realitatea.
 Structurarea bazei de date în această etapă permite
dezvoltarea acesteia pe măsură ce necesitățile utilizatorilor
privind cererile de informație se schimbă.
 Rezultatul proiectării conceptuale, fiind independent de
SGBD, nu include detalii ale implementării, așa încât se
poate implementa doar după transpunerea sa într-un
model de date specializat.

Universitatea Constantin Brancusi din


Targu Jiu 10
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)

 Modelul Entitate-Asociere (E-A) (Entity-Relationship Model) este cel


mai utilizat model conceptual de nivel înalt al unei BD
 Modelul permite definirea colecțiilor de entități și a asocierilor
(relațiilor) dintre acestea, dar nu include detalii specifice de
structurare și procesare a datelor.
 A fost introdus de Peter P. Chen în anul 1976 constituind un mod de
abordare de tip grafic a proiectării bazelor de date.
 Modelul lui Chen servește ca bază a numeroase metodologii de
analiză și proiectare a sistemelor, instrumentelor de inginerie
software (CASE) asistate de calculator și a sistemelor de
depozitare.
 Elementele constitutive de bază ale modelului Entitate-Asociere
sunt: entitatea, atributul și asocierea identificate printr-un nume.

Universitatea Constantin Brancusi din


Targu Jiu 11
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

a. Entitatea (Entity) este definită ca fiind ”orice poate fi identificat în


mod distinctiv” în lumea reală ce poate fi un obiect fizic, un proces,
o activitate, un concept, etc. Se desemnează prin substantive (d
b. e exemplu, entitatea ”angajat”).
 Modelul E-A permite utilizarea, fără a crea confuzii și a altor termeni:
 Tip de entitate (entity type) - toate entitățile de același fel, descrise cu aceleași
atribute,
 Mulțime de entități (entities set) - colecția tuturor entităților de același tip dintr-o
bază de date.
 Instanțe ale unei entități – elementele unei mulțimi de entități. De exemplu: fiecare
dintre angajați ca persoane.
 Se disting două categorii de entități, astfel:
 Entități puternice/independente (regular entities) – cu existență clar definită în
cadrul modelului, (angajat este o astfel de entitate)
 Entități slabe/dependente (weak entities) – entități ce nu pot exista decât dacă
sunt asociate cu o entitate puternică. (de exemplu entitatea ”dependent” al
angajatului)
Universitatea Constantin Brancusi din 12
Targu Jiu
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

b. Atributul (Attribute) este definit ca fiind o însușire, o


proprietate/ caracteristică ce descrie un anumit aspect al unei
entități. Se desemnează prin substantive adjectivale.
 În procesul de modelare se consideră numai acele atribute
relevante scopului bazei de date.
 Atributele pot fi de mai multe tipuri:
 Atribute de identificare (identificatoare), care prin valoarea lor
permit distincția între instanțele aceleiași entități (de exemplu CNP
pentru angajat);
 Atribute de descriere (descriptive), necesare pentru memorarea
celorlalte caracteristici ale entităților (de exemplu: nume, data
nașterii, funcția, salariul….).

Universitatea Constantin Brancusi din


Targu Jiu 13
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

 Atribute simple - ale căror valori sunt singulare, atomice, nu se mai


pot descompune (de exemplu data nasterii, salariul, functia…).
 Atribute multivaloare - atribute care pot avea mai multe valori (de
exemplu, fiecare ”angajat” poate avea mai multe adrese de e-mail,
sau mai multe numere de telefon, prin urmare atributele ”e-mail” și
"telefon"). În aceste situații, cum orice atribut trebuie să aibă o
singură valoare, acestea trebuie transformate în tipuri noi de
entitate.
 Atribute compozite (compuse) – atribute descriptive ce pot fi
subdivizate în mai multe atribute (de exemplu, atributul "adresa"
poate fi subdivizat în numele străzii, numărul străzii, numărul
locuinței, localitatea, județul, codul poștal și țara).

Universitatea Constantin Brancusi din


Targu Jiu 14
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

 Atribute derivate (sau atribute calculate) - atribute a căror


valoare este calculată (derivată) din alte atribute. Atributul
derivat poate fi sau nu stocat fizic în baza de date. De
exemplu, ”numărul total de angajați” dintr-un departament,
sau ”vârsta” angajaților când în baza de date este stocată
data nașterii.
 Atribute dinamice (variabile) – sunt acele atribute stocate în
baza de date ale căror valori se modifică în timp. De
exemplu, categoria de calificare a unui angajat.
 Atribute stabile (constante) - sunt atributele ce își modifică
valorile foarte rar, sau niciodată. De exemplu, ”CNP-ul” unei
persoane, ”marca” sau ”data angajării” unui angajat.

Universitatea Constantin Brancusi din


Targu Jiu 15
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

 Atribute obligatorii - sunt atributele cu valoare obligatorie


pentru fiecare instanță a entității. Astfel de atribute sunt, de
exemplu, cele de identificare.
 Atribute opționale - sunt atributele pentru care nu este
obligatoriu să aibă valori pentru fiecare instanță.

c. Asocierea/relația (relationship) desemnează legătura


ce se stabilește între instanțele a două sau mai multe
mulțimi de entități.
De exemplu, pentru modelarea activității unei organizații se
pot considera entitățile asociate ”angajat” și ”departament”

Universitatea Constantin Brancusi din


Targu Jiu 16
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

 Pentru identificarea și definirea asocierilor, modelul E-A


permite utilizarea și a altor termeni:
 Tip de asociere - o mulțime de asocieri dintre două sau mai
multe tipuri de entități. Se desemnează printr-un verb.
 O asociere este o instanță a unui tip de asociere stabilind
legătura dintre tipurile de entități aflate în asociere. Un tip de
asociere se citește în ambele sensuri, de la fiecare tip de entitate
către cel cu care se corelează.
De exemplu:
 angajat ”lucrează” în departament,

 departament ”cuprinde” angajat.

Universitatea Constantin Brancusi din


Targu Jiu 17
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

 În cadrul modelului sunt luate în considerate tipurile de


asocieri relevante scopului bazei de date, fiind frecvente
cazurile în care între două tipuri de entități pot fi stabilite mai
multe asocieri.
 Un tip de asociere poate fi stabilit inclusiv între un tip de
entitate și el însuși. angajat ”coordonează” angajat
 Numărul de tipuri de entități corelate poartă numele de gradul
asocierii. După gradul lor, asocierile pot fi:
 Asocieri unare sau de gradul unu, se stabilesc pe un singur tip
de entitate;
 Asocieri binare sau de gradul doi, se stabilesc între două tipuri
de entități,
 Asocieri multiple, se stabilesc între mai mult de două tipuri de
entități. (de obicei se descompun in asocieri unare și binare)
Universitatea Constantin Brancusi din
Targu Jiu 18
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

 Similar categoriilor de entități puternice/slabe, există


două tipuri de asocieri:
 Asociere puternică - o asociere între entități în care
orice entitatea există independent de celelalte entități,
iar atributul de identificare a entității slabe
(dependente) nu conține atributul de identificare al
entității puternice.
 Asociere slabă - o asociere în care entitatea
dependentă existentă dependent de o entitate
puternică și conține atributul de identificare al
acesteia.

Universitatea Constantin Brancusi din


Targu Jiu 19
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

 Asocierile se descriu prin caracteristici ce aduc informații


suplimentare, utilizate în etapa proiectării logice a BD, și
anume:
 cardinalitatea asocierii,
 raportul de cardinalitate,
 ordinalitatea asocierii și
 rolul asocierii.
 Toate acestea derivă din faptul că în orice activitate sunt impuse
anumite valori permise atributelor alese pentru descrierea tipurilor
de entități, care deci, sunt supuse unor constrângeri.
 Constrângerea este o cerință impusă unui tip de entitate dintr-o
asociere. Constrângerile se pot aplica unui singur atribut al unuia
dintre tipurile de entități asociate sau pe întregul tip de asociere
dintre două tipuri de entități.

Universitatea Constantin Brancusi din


Targu Jiu 20
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

 Cardinalitatea unei asocieri față de o mulțime de entități -


este numărul maxim de instanțe din acea mulțime care se
pot lega/conecta cu o instanță din mulțimea de entități
asociată.
 Cardinalitatea se determină pentru fiecare ramură a unei
asocieri și poate avea una din următoarele două valori:
”unu” (notat 1) sau ”mulți” (notat N).
 Raportul de cardinalitate este raportul dintre valorile
cardinalităților unei asocieri față de două entități asociate.

Universitatea Constantin Brancusi din


Targu Jiu 21
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

 Numărul instanțelor din fiecare dintre cele două mulțimi


de entități puse în corespondență într-o asociere binară,
aceasta poate fi:
 asociere “unul-la-unul” (one-to-one) dacă unei entități (instanțe) din
prima mulțime de entități îi corespunde un singur element din cea de-a
doua mulțime, și reciproc; Acest tip de asociere are raportul de
cardinalitate ”1:1”.
 asociere “unul-la-multe” (one-to-many) dacă unei entități (instanțe) din
prima mulțime de entități îi corespunde una sau mai multe entități din
cea de-a doua mulțimea, în timp ce unei entități din cea de-a doua
mulțime îi corespunde o singură entitate din prima mulțime de entități.
Raportul de cardinalitate este ”1:N”.
 asociere “multe-la-multe” (many-to-many) dacă unei entități (instanțe)
din prima mulțime de entități îi corespunde una sau mai multe entități
din cea de-a doua mulțimea, și reciproc. Raportul de cardinalitate este
”M:N”.
Universitatea Constantin Brancusi din
Targu Jiu 22
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

 Model în care se asociază instanțele celor două tipuri de entități pentru


fiecare tip de relație binară este reprezentată astfel:

Universitatea Constantin Brancusi din


Targu Jiu 23
3.2.1.a. Modelul Entitate-Asociere (Entity-Relationship Model)
Definiții

 Ordinalitatea unei asocieri se determină de asemenea pentru


fiecare ramură a asocierii și poate avea una din următoarele stări:
totală (sau obligatorie) și parțială (sau opțională).
 Ordinalitatea se modelează pentru definirea unui criteriu de
integritate specificând posibilitatea de apariție a valorilor nule.
 Ordinalitatea este strâns legată de cardinalitate. În timp ce
cardinalitatea specifică apariția unei asocieri, ordinalitatea descrie
asocierea ca fiind obligatorie sau opțională. Cu alte cuvinte,
cardinalitatea specifică numărul maxim de legături/conexiuni și
ordinalitatea specifică numărul absolut minim al acestora.
 Evident că o asociere între două sau mai multe mulțimi de entități
implică, existența aceluiași tip de asociere și între tipurile de
entități.

Universitatea Constantin Brancusi din


Targu Jiu 24
Urmează:

 3.2.1.b. Diagrama Entitate-Asociere –


notațiile lui P.P. Chen
 3.2.2. Procesul obținerii și validării
modelului de date conceptual

Universitatea Constantin Brancusi din


Targu Jiu 25

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