Sunteți pe pagina 1din 8

MINISTERUL EDUCAŢIEI, CULTURII ŞI CERCETĂRII

AL REPUBLICII MOLDOVA
Centrul de Excelenţă în Informatică şi Tehnologii Informaţionale

Lucrare de Studiu Individual Nr.4


Disciplina: Admnistrarea Bazelor de Date
Tema: Schema conceptuală a Bazei de Date

Elaborat de:
Ursu Adrian, P1822
(nume, prenume, grupa)

Verificat de:
Nebunelea Diana
(nume, prenume)

Chişinău 2019
PROIECTAREA CONCEPTUALA A BAZELOR DE DATE
În faza de proiectare conceptuala a bazelor de date se proiecteaza schema
conceptuala si schemele externe ale bazei de date. Desi nu este obligatoriu,
aceasta faza se poate mentine independenta de SGBD si produce un model de
date de nivel înalt, care va fi implementat dupa transpunerea lui într-un model de
date specific.

Chiar daca proiectantii pot porni direct cu scheme conceptuale specifice


unui anumit SGBD (care se mai numesc si scheme logice), este totusi
recomandabil sa se realizeze mai întâi schema conceptuala de nivel înalt
independenta de SGBD, deoarece aceasta este o descriere stabila si inavuabila
a bazei de date. Alegerea unui SGBD si deciziile ulterioare de proiectare se pot
schimba fara ca aceasta sa se schimbe.

Proiectul conceptual de nivel înalt se realizeaza pe baza cerintelor definite


în prima etapa de proiectare si se reprezinta, în general printr-o diagrama
Entitate-Asociere.

Modelul Entitate-Asociere este un model conceptual de nivel înalt al unei


baze de date, care defineste multimile de entitati si asocierile dintre ele, dar nu
impune nici un mod specific de structurare si prelucrare a datelor. Elementele
esentiale ale modelului Entitate-Asociere sunt entitatile si asocierile dintre
acestea. O entitate este "orice poate fi identificat în mod distinctiv"; o entitate se
refera la un aspect al realitatii obiective care poate fi deosebit de restul
universului si poate reprezenta un obiect fizic, o activitate, un concept, etc.

Orice entitate este descrisa prin atributele sale. Un atribut este o


proprietate care descrie un anumit aspect al unei entitati. Toate entitatile
similare, care pot fi descrise prin aceleasi atribute, apartin unui acelasi tip de
entitate,iar colectia tuturor entitatilor de acelasi tip dintr-o baza de date constitue
o multime de entitati. În general, în modelul E-A se foloseste aceeasi denumire
atât 2 pentru un tip de entitate cât si pentru multimea entitatilor de acel tip.

De exemplu, tipul de entitate “angajat reprezinta orice persoana angajata a


institutiei, care are o anumita functie si primeste un anumit salariu.

1
Acest tip de entitate poate fi descris prin mai multe atribute, dintre care o
parte sunt atribute de identificare a persoanei
(Nume,Prenume,DataNasterii,Adresa), iar altele sunt atribute legate de
activitatea acesteia în institutia respectiva (Functie,Salariu).

În proiectarea bazelor de date se considera doua categorii de entitati:


entitati normale si entitati slabe.

Entitatile normale au o existenta proprie în cadrul modelului, în timp ce


entitatile slabe nu pot exista decât daca exista o entitate normala (puternica) cu
care sunt asociate.

De exemplu, o entitate “dependent” poate sa reprezinte o persoana care


depinde de un angajat al unei institutii. O entitate “angajat” este o entitate
puternica, deoarece ea exista în mod mod normal în modelul activitatii institutiei,
în timp ce o entitate “dependent” este o entitate slaba: nu se va înregistra o
astfel de persoana decât daca parintele (sustinatorul) acesteia este angajat în
acea institutie.

O asociere este o corespondenta între entitati din doua sau mai multe
multimi de entitati. Gradul unei asocieri este dat de numarul de multimi de
entitati asociate. Asocierile pot fi binare (de gradul 2, între 2 multimi de entitati)
sau multiple (între k multimi de entitati, k> 2). Asocierile binare sunt, la rândul lor,
de trei categorii, dupa numarul elementelor din fiecare dintre cele doua multimi
puse în corespondenta de asocierea respectivă.

Fiind date doua multimi de entitati, E1 si E2, se definesc urmatoarele categorii


de asocieri binare:

• Asocierea “unul-la-unul” este asocierea prin care unui element din


multimea E1 îi corespunde un singur element din multimea E2, si reciproc;
se noteaza cu 1:1.
• Asocierea “unul-la-multe” este asocierea prin care unui element din
multimea E1 îi corespund unul sau mai multe elemente din multimea E2,
dar unui element din E2 îi corespunde un singur element în multimea E1; se
noteaza cu 1:N.

2
• Asocierea “multe-la-multe” este asocierea prin care unui element din
multimea E1 îi corespund unul sau mai multe elemente din multimea E2, si
reciproc; se noteaza cu M:N. O asociere între doua sau mai multe multimi
de entitati este, în acelasi timp, o asociere între tipurile de entitati
corespunzatoare.

Diagrama Entitate-Asociere reprezinta modelul Entitate-Asociere prin


multimile de entitati si asocierile dintre acestea. Exista numeroase variante de
notatii pentru redarea diagramei E-A.

Una dintre cele mai folosite notatii reprezinta un tip de entitate (precum si
multimea de entitati de acel tip printr-un dreptunghi, iar atributele tipului de
entitate prin elipse conectate printr-o linie continua la acesta.

Pentru entitatile puternice se utilizeaza un dreptunghi încadrat cu o linie


simpla, iar pentru entitatile slabe se utilizeaza un dreptunghi încadrat cu linie
dubla. O asociere (tip de asociere) dintre doua sau mai multe tipuri de entitati se
reprezinta printr-un romb conectat prin link-uri (linii continue, formate din unul sau
mai multe segmente) la tipurile de entitati asociate.

O asociere poate sa aiba sau nu un nume; daca are un nume, acesta poate
fi înscris în rombul respectiv sau în vecinatatea acestuia. Categoria asocierii se
noteaza prin înscrierea multiplicitatii pe fiecare link care conduce la un tip de
entitate. Este posibil ca o asociere sa prezinte ea însasi atribute, si aceste atribute
se reprezinta prin elipse conectate la asocierea respectivă.

Fig 1: “Diagrama E-A a unei baze de date”

3
Schema conceptuală a Bazei de Date

În baza de date am creat 5 tabele:

1. Persoana
2. Comenzi
3. Anulare
4. Pret
5. Tip

In tabelul Pesoana este indicata toată informația despre persona de care este
nevoie pentru a elibera un act de identitate.

Tabelul Persoana conține următoarele câmpuri:

4
1. Cod_persoana - Reprezintă un cod numeric,unic care este si cheia primara a
tabelului si va fi un nr de identificare a fiecarei persoane aparte. Acest câmp va fi de
tip număr.
2. Nume - Reprezintă numele personei care dorește obținerea unui buletin sau
pașaport. Câmpul va fi de tipul varchar2.
3. Prenume - Reprezintă prenumele personei care dorește obținerea unui buletin sau
pașaport. Câmpul va fi de tipul varchar2.
4. Patrimonic - Reprezintă patrimonicul personei care dorește obținerea unui buletin
sau pașaport. Câmpul va fi de tipul varchar2..
5. Data/Anul – Reprezintă data și anul nașterii personei care dorește obținerea unui
buletin sau unui pașaport. Câmpul va fi de tipul dată.
6. Sex - Reprezintă sexul personei care dorește obținerea unui buletin sau unui
pașaport. Vom avea doar 2 valori M/F. Câmpul va fi de tip varchar2.
7. Strada - Reprezintă adresa de domiciliu a personei care dorește obținerea unui
buletin sau pașaport. Câmpul va fi de tipul varchar2.
8. Cetatenie - Reprezintă cetățenia personei care dorește obținerea unui buletin sau
pașaport. Câmpul va fi de tipul varchar2.
9. Grupa_Sangvina - Reprezintă grupa sangvină a personei care dorește obținerea
unui buletin sau pașaport. Câmpul va fi de tipul varchar2.
10. Casatorit – Indică dacă personei care dorește obținerea unui buletin sau pașaport
este căsătorită sau nu. Câmpul va fi de tipul Da/Nu.
11. Nr_copii - Indică informatia despre numărul de copii care va fi indicat în act. Câmpul
va fi indicat de tip număr ,care va fi setat ca Default 0.
12. Nr_Identificare_persoana – Indică un număr de indentificare unic pentru fiecare
persoană. Câmpul va fi de tip număr.
13. Nr_Serie_Pasaport - Va indica seria și numărul de identitate a actului.
Câmpul va fi de tip varchar2.

In Tabelul Tip este reprezentat Tipul Actului Procurat de catre persoana fie
acesta Buletin sau Pasaport Biometric.

Acest tabel conține următoarele câmpuri:

1. Tip_cod - Reprezintă un cod numeric unic care va fi și ca cheie primară a


tabelului. Câmpul va fi de tip număr.

2. Denumire_Tip – Reprezintă denumirea actului de identitate care este de 2


tipuri: Buletin de Identitate sau Pasaport. Câmpul va fi de tip varchar2.

5
În tabelul Comenzi este prezentă informatia depre comanda trimisă de persoana
împreuna cu informația necesară.

Tabelul comenzi contine câmpurile:

1. Cod_Comanda - Reprezintă un cod numeric unic care va fi și ca cheie primară a


tabelului. Câmpul va fi de tip număr.
2. Tip_Cod - Reprezintă codul numeric ce indică tipul actului de identitate din
tabelul Tip. Câmpul va fi de tip număr.
3. Cod_Persoana - Reprezintă codul numeric ce indică persoana care a depus
cererea. Câmpul va fi de tip număr.
4. Data_Comenzii - Indică data când a fost depusă cererea. Câmpul va fi de tipul
dată.
5. Data_Emiterii – Indică data când va fi emis documentul. Câmpul va fi de tipul
dată.
6. Cod_Pret - Reprezintă codul numeric unic indicat în legatura cu câmpul
Cod_Pret din tabelul Pret.Câmpul va fi de tip număr.

În Tabelul Anulare este cuprinsă informația despre documentele care au fost


anulate.

Tabelul Anulare contine câmpurile:

1. Cod_Anulare - Reprezintă un cod numeric unic ,va reprezenta cheia primara a


tabelului . Câmpul va fi de tip număr.
2. Tip_Cod - Reprezintă un cod numeric in legătură cu câmpul Tip_Cod din tabelul
Tip. Câmpul va fi de tip număr.
3. Cod_Persoana - Reprezintă un cod numeric in legătură cu câmpul
Cod_Persoana din tabelul Persoana. Câmpul va fi de tip număr.
4. Data_Emiterii – Reprezintă data când a fost emis actul de identitate. Câmpul
va fi de tipul dată..
5. Data_Anularii - Reprezintă data când a fost anulat documentul. Câmpul va fi
de tipul dată.
6. Pricina_Anularii - Acest câmp va conține cauza anulării actului de identitate fie
acesta pierdere/furte/expirare/etc. Câmpul va fi de tipul varchar2.

6
În tabelul Pret este indicată informația privind prețurile actelor

Tabelul Pret conține câmpurile:

1. Cod_Pret - Reprezintă un cod numeric unic va reprezenta cheia primara a


tabelului. Câmpul va fi de tip număr.
2. Tip_cod - Reprezintă un cod numeric în legătură cu câmpul Tip_Cod din tabelul
Tip. Câmpul va fi de tip număr.
3. Timp_Zile - Acest câmp va reprezenta timpul in zile calendaristice în care va fi
eliberat actul. Câmpul va fi de tipul dată.
4. Pret - Acest câmp indică costul pentru actul eliberat. Câmpul va fi de tip număr.

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