Documente Academic
Documente Profesional
Documente Cultură
Cereri de interogare.
TEMA 1.
Conceptul de bază de date. Noţiuni
fundamentale privind bazele de date
Oancea, B., Crețan, A. (2013). Baze de date. Editura Pro Universitaria, București,
p. 15.
Noţiuni fundamentale privind bazele de date
Caracteristici ale bazei de date:
O colecție de date interdependente;
Este utilizată pentru reprezentarea informatizată a unui anumit
aspect al realității (o activitate economică, socială etc., desfășurată
de un agent, indiferent de gradul de complexitate al acestuia, de
forma de proprietate sau de alte caracteristici similare, de la
individ, care poate utiliza o bază de date pentru necesități
personale, până la o organizație multinațională, care poate
întreține și exploata o bază de date pentru întreaga sa activitate,
chiar pe parcursul mai multor perioade de timp);
Destinată unui grup de utilizatori: baza de date fără utilizatori nu
are nici o finalitate practică. În plus, o bază de date ale cărei
funcționalități nu sunt acceptate/agreate de utilizatorii săi nu poate
fi caracterizată ca un succes.
Noţiuni fundamentale privind bazele de date
Istoric, ca forme de reprezentare a datelor, bazele de date au
fost precedate de fișiere de date și fișiere de date cu legături
între ele (Năstase și colectiv, 2000): agregări de date cu o
anumită structură, destinate unor prelucrări simple asupra
datelor.
Unitatea de prelucrare a datelor este înregistrarea: include
datele unui anume obiect din mulțimea de obiecte reprezentate
în fișierul de date.
Exemplu: reprezentarea datelor despre facturi. Un fișier de date
poate conține date despre un număr virtual nelimitat de facturi,
dar o înregistrare include datele unei singure facturi.
În cadrul fișierelor de date, componentele structurii de date
sunt delimitate între ele prin separatori (atribute și înregistrări).
Noţiuni fundamentale privind bazele de date
În conformitate cu Hogan (2018), o bază de date își regăsește
aplicabilitatea „pe măsură ce crește complexitatea,
dimensiunea și importanța datelor”:
Trecerea de la gestionarea datelor prin fișiere/fișiere cu legături la
gestionarea prin baze de date se impune atunci când cei trei
parametri ajung la un anumit nivel, la care menținerea fișierelor
de date poate conduce la consecințe negative pentru proprietarul
datelor, consecințe din rândul cărora subliniem erori în ceea ce
privește corectitudinea datelor față de realitatea la care se referă și
probleme la nivel de redundanță, aspecte care sunt valabile și
pentru fișierele gestionate prin aplicații de calcul tabelar, deși
aceste aplicații includ o serie de instrumente dedicate integrității
datelor.
Hogan, R. (2018). A Practical Guide to Database Design (Second edition). CRC
Press, Taylor & Francis Group.
Noţiuni fundamentale privind bazele de date
1.3. Funcțiunile bazei de date
La nivelul unei organizații, o bază de date poate îndeplini una
sau mai multe dintre următoarele funcțiuni (Conger, 2012):
Procesarea online a tranzacțiilor – OLTP. Această funcțiune necesită
viteză de procesare a datelor, eficiență și asigurarea funcționării în
permanență, mai ales dacă avem în vedere dezvoltarea comerțului
electronic și răspândirea rețelei Internet.
Sistem Informatic pentru Management (MIS): acest tip de aplicație este
dedicat furnizării de informații de sinteză pentru managerii organizației.
Această funcțiune este orientată spre interogarea datelor în vederea
procesării și analizei.
Business intelligence și data mining: utilizează tehnici avansate de
analiză a datelor pentru identificarea de trenduri și șabloane. În acest
caz, vorbim deja de un depozit de date, o bază de date cu caracteristici
speciale, destinată acestei funcțiuni.
Conger, S. (2012). Hands-on Database. An Introduction to Database Design and
Development. Prentice Hall.
Noţiuni fundamentale privind bazele de date
Pachet pedagogic – tema 1
Cuvinte - cheie
Date.
Informații.
Cunoștințe.
Bază de date.
Fișier.
Înregistrare.
Procesarea online a tranzacțiilor – OLTP.
Sistem Informatic pentru Management (MIS).
Business intelligence și data mining.
Noţiuni fundamentale privind bazele de date
Întrebări
Ce sunt datele?
Cum deosebim informațiile de date?
Ce sunt cunoștințele?
Definiți baza de date.
Evidențiați caracteristicile bazei de date.
Explicați cauzele care determină trecerea de la fișier de date la baza de
date.
Care sunt funcțiunile bazei de date?
TEMA 2.
Sistemul de gestiune a bazelor de date
2.1. Definiție.
2.2. Caracteristici.
2.3. Funcțiile SGBD.
2.4. Obiectivele fundamentale ale unei baze de date.
Sistemul de Gestiune a Bazelor de Date
2.1. Definiție
Baza de date se regăsește, la nivelul memoriei externe, sub forma
unui fișier sau ca o colecție de fișiere.
O bază de date MicrosoftTM Access®, în memoria externă, se
prezintă sub forma unui singur fișier, care include atât baza de
date propriu-zisă, precum și interfețele grafice pentru actualizarea
și consultarea datelor, dar și alte instrumente.
Utilizatorul interacționează cu baza de date prin intermediul unei
aplicații speciale, denumită Sistem de Gestiune a Bazelor de Date
– SGBD, care este instalat și rulează sub controlul sistemului de
operare instalat pe calculatorul utilizatorului. Hogan (2018)
definește astfel SGBD-ul: „un pachet software special care este
proiectat pentru a defini și gestiona datele în cadrul uneia sau
mai multor baze de date”.
Exemple de SGBD: MicrosoftTM Access®, MicrosoftTM SQL Server®,
Oracle®, IBM DB2®, MySQL® etc.
Sistemul de Gestiune a Bazelor de Date
2.2. Caracteristici
Utilizatorul accesează baza de date prin intermediul unui
program (o interfață / colecție de interfețe) și transmite o
cerere. Programul poate fi construit cu instrumentele proprii
SGBD (cazul Microsoft TM Access®, de exemplu) sau cu
ajutorul unor alte instrumente/medii de dezvoltare.
Programul transmite cererea utilizatorului către SGBD.
SGBD recepționează cererea, o „traduce” în formatul său
propriu și generează mai departe cereri, către sistemul de
operare, pentru regăsirea datelor din fișierul (fișierele) bazei de
date aflate pe suport de memorie externă.
Datele extrase se întorc la utilizator parcurgând traseul invers.
Pentru scrierea datelor, se aplică același algoritm, cu precizarea
că solicitarea utilizatorului vizează salvarea unor date.
Sistemul de Gestiune a Bazelor de Date
Program 1
(CLIENT)
Program n
(CLIENT)
P1 P2
P3 P4
P5 P6
P7 P8
P9 P10
P1 P1
P2 P2
P3 P3
P4 P4
P5 P5
P1 P2 P1 P2
P3 P4 P3 P4
P5 P6 P5 P6
P7 P8 P7 P8
P9 P10 P9 P10
S2 S3 S1
P9
RAID 5: - segmentele S au rol de backup;
- performanță ridicată;
- minimum trei discuri;
- risc minim de pierdere a datelor pentru un HDD defect.
Obiectivele fundamentale ale BD
Tehnologiile de tip Failover / cluster asigură menținerea
în funcțiune a sistemului informatic atunci când unul
dintre serverele incluse în cluster devine indisponibil, din
multiple cauze.
Distribuirea geografică a componentelor cluster-ului va
ține cont de:
analiza riscurilor de eveniment fizic și logic asociate fiecărei
locații considerate;
timpul admis de întrerupere a funcționării sistemului
informatic;
calitatea/performanțele resurselor de comunicație între
componentele cluster-ului.
Obiectivele fundamentale ale BD
Confidențialitatea datelor presupune protejarea bazei de
date față de evenimente generate de accesarea neautorizată
și potențial răuvoitoare a datelor.
Instrumentele dedicate confidențialității:
Contul de utilizator: permite identificarea utilizatorului în
sistem;
Parola de acces: împreună cu numele de cont, asigură
autentificarea utilizatorului identificat prin cont;
Drepturile de acces: permit unui utilizator să efectueze o
anumită operație asupra unui obiect din baza de date.
Mulțimea seturilor user-drept-obiect constituie drepturile de
acces ale user-ilor la baza de date.
Obiectivele fundamentale ale BD
Conturile de utilizator sunt definite în sistem și formează o
listă de verificare – nu se pot acorda drepturi unui cont
inexistent.
Segmentele din baza de date pentru care se pot acorda
drepturi sunt recunoscute automat de S.G.B.D., fiind
create și gestionate sub controlul său – verificare de tip
listă.
Drepturile de acces sunt specifice S.G.B.D. și formează o
listă predefinită. Exemple:
Drept de citire: utilizatorul poate consulta date;
Drept de inserare: utilizatorul poate adăuga date;
Drept de modificare;
Drept de ștergere etc.
Obiectivele fundamentale ale BD
Utilizarea unei baze de date, funcțiunea MIS
Actualizare
date (1) Consultare
(1)
Actualizare BAZA
date (2) DE DATE Prelucrare (1)
Fișierele bazei
de date
3
Modelul conceptual al datelor
3.3. Nivelul conceptual – definiție. Modelul EAC.
Instrumentele modelului EAC.
Nivelul conceptual asigură o interfață între cerințele formulate
la nivelul extern și modelul fizic specific S.G.B.D. La acest
nivel se stabilesc datele (de intrare) care vor fi reprezentate în
baza de date.
Modelul Entitate-Atribut-Corespondență este unul dintre
modelele utilizate pentru reprezentarea datelor la nivel
conceptual.
Instrumentele și regulile privind reprezentarea acestora sunt
specifice metodei MERISE.
O lucrare de referință despre MERISE este Nanci D., B. Espinasse avec la
collaboration de B. Cohen, J.C. Asselborn et H. Heckenroth (2001), «
Ingénierie des systèmes d'information : Merise deuxième génération »,
Vuibert éditions, Paris. ISBN : 2-7117-8674-9 (416 pages).
Modelul conceptual al datelor
Obiectele din activitatea reală și caracteristicile acestora sunt
reprezentate sub formă de entități. Entitatea se caracterizează
prin denumire, care indică ce obiecte descrie entitatea și
atribute, care corespund caracteristicilor obiectelor.
Un atribut reprezintă un descriptor de date și se caracterizează
prin denumire și domeniu: mulțimea valorilor posibile.
Un atribut poate aparține numai unei entități sau unei asocieri
și poate exista o singură dată în cadrul modelului EAC.
Atributele pot fi atomice (nedecompozabile), cum ar fi numărul
curent, numărul facturii, prețul sau compuse, de exemplu CNP,
cod IBAN, data calendaristică, numele complet. Un atribut de
acest tip poate fi reprezentat în oricare dintre cele două
variante, cu precizarea că este interzisă reprezentarea unui
atribut a cărui valoare se poate determina pe baza valorilor
altui/altor atribute din același model.
Modelul conceptual al datelor
O entitate poate avea mai multe atribute, iar reprezentarea
entității pentru un anume obiect se numește realizare. De
exemplu, o entitate care descrie clienții firmei va avea, pentru
fiecare client individualizat, o realizare.
Pentru o realizare, fiecare atribut are cel mult o valoare. Un
atribut care nu respectă regula nu aparține acelei entități.
Cel puțin un atribut al entității joacă rolul de identificator
pentru realizările acesteia și evidențiază, prin valori/combinații
de valori unice, fiecare realizare.
În principal, entitățile se referă la persoane fizice/juridice
(clienți, furnizori, salariați etc.), documente (facturi,
chitanțeetc.), bunuri (mijloace fixe – autoturisme, terenuri etc.,
active circulante – produse, mărfuri, materii prime etc.).
Aceste trei categorii de „actori” ai activității organizației
constituie un punct de plecare în reprezentarea entităților.
Modelul conceptual al datelor
Restricții referitoare la identificator:
Valori/combinații de valori unice;
Nu se acceptă valori care nu sunt disponibile (NULL);
Dimensiune cât mai restrânsă: nu se poate accepta un
identificator compus dacă o parte a sa respectă restricția de
unicitate.
Exemplu: identificatorul compus Serie document_Număr
document_Data document nu poate fi acceptat atunci când orice
combinație de valori pentru Serie document_Număr document este
unică.
Nu se admit etichete duplicate pentru denumirile
entităților, asocierilor și atributelor, chiar dacă există
similitudini (de exemplu, două atribute care descriu
aceeași proprietate pentru obiecte din categorii distincte,
reprezentate în entități distincte).
Modelul conceptual al datelor
Unirea
Este o operațiune care permite încadrarea mai multor
tipuri de entități (și de realizări de entități) în sfera unei
singure entități.
Se realizează preluarea tuturor atributelor specifice
fiecărui tip de entitate.
Este necesar să existe posibilitatea de identificare, în
mod implicit sau explicit a tipului de entitate căruia îi
aparține o anumită realizare.
Implicit: identificatorul asigură evidențierea, fără
echivoc, a tipului de entitate corespunzător fiecărei realizări.
De exemplu, CNP față de CUI permite diferențierea între
realizările de tip persoane fizice față de cele de tip persoane
juridice, prin dimensiunea valorilor atributului (numărul de
caractere).
Modelul conceptual al datelor
Explicit: se definește un atribut care are rolul specific de
a evidenția, fără echivoc, a tipului de entitate corespunzător
fiecărei realizări.
De exemplu, un atribut Tip client permite diferențierea între
realizările de tip persoane fizice față de cele de tip persoane
juridice, prin valorile sale – o valoare anume pentru fiecare tip de
realizare.
Spre deosebire de identificator, valorile atributului care
implementează modul explicit nu sunt unice, dar sunt distincte
pentru diferite tipuri de realizări, iar realizărilor de același tip le
va corespunde o valoare identică a acestui atribut.
Pentru atributele care nu sunt comune, dar sunt incluse
în entitatea rezultată prin unire, se admit valori nule acolo
unde realizarea aparține unui tip de entitate căruia nu îi sunt
specifice acele atribute.
Modelul conceptual al datelor
Partiționarea
Este o operațiune care permite reprezentarea separată a
unor tipuri de entități care au atât proprietăți comune, dar și
proprietăți distincte.
Se definesc astfel mai multe entități, care includ
atributele specifice, plus o entitate care include atributele
comune.
Nu mai este necesară diferențierea între realizările
diferitelor tipuri de entități.
Este necesară reprezentarea corespunzătoare a
asocierilor.
Unirea este preferabilă partiționării dacă se consideră că
asocierile ating un anumit nivel de complexitate, conform
aprecierii utilizatorilor.
Modelul conceptual al datelor
Asocierea descrie o corelație existentă, în realitate, între
obiectele reprezentate prin entități.
Asocierea are un nume definit și poate avea și atribute
proprii.
Pentru a denumi asocierile se pot utiliza verbe din
limbajul natural, ca expresie a faptului că reprezintă
acțiuni prin care două sau mai multe realizări de entități
sunt corelate.
Pentru o realizare a asocierii, un atribut propriu nu poate
avea decât o valoare.
Asocierea nu are identificator. Realizarea asocierii se
identifică prin identificatorii realizărilor entităților
participante.
Modelul conceptual al datelor
Entitățile, atributele, identificatorii și asocierile se reprezintă astfel:
NUME_ENTITATE 1 NUME_ENTITATE 2
Identificator 1 Identificator 1
Identificator 2 Atribut 2
Atribut 3 Atribut 3
Atribut 4 Atribut 4
. .
Atribut n Atribut n
ASOCIERE 1
[Atribute proprii]
Modelul conceptual al datelor
Un exemplu de alocare a atributelor pentru asociere.
De exemplu, pentru reprezentarea acţiunii de facturare a
mărfurilor, atributele care reflectă cantităţile şi preţurile unitate
înscrise pe factură se vor încadra în asocierea care descrie
această acţiune (aceste atribute se realizează concomitent cu
asocierea:
Modelul conceptual al datelor
Dacă asocierea nu se realizează (dacă nu există o vânzare
de marfă), cele două atribute nu primesc valori – nu se
realizează.
Mai mult, amplasarea celor două atribute în cadrul oricăreia
dintre entităţi conduce la următoarele probleme:
- Dacă se alege entitatea FACTURI ca loc al celor două
atribute, pe fiecare factură se va înscrie o singură marfă,
datorită unicităţii identificatorului (altfel spus, nu se pot
factura mai multe mărfuri pe acelaşi document – factura).
- Dacă atributele sunt încadrate în entitatea MARFURI, nu se
poate asigura păstrarea în timp a valorilor istorice ale
cantităţii şi preţului – de fiecare dată când se facturează o
anumită marfă, identificată prin cod, valorile anterioare ale
cantităţii şi preţului ar trebui înlocuite cu noile valori.
Modelul conceptual al datelor
Se pot reprezenta asocieri distincte între aceleași entități,
care evidențiază corelații distincte, cu realizări distincte.
Pentru explicitarea modului în care o entitate participă la o
asociere, se pot utiliza nume convenţionale, denumite roluri,
care permit de asemenea identificarea asocierilor prin
identificatorii entităţilor la care se referă.
Precizarea rolurilor este obligatorie pentru asocierile
reflexive: asocieri între realizări diferite ale aceleiaşi entităţi.
Exemplu. Pentru evidenţierea rezultatelor unei competiții
de fotbal:
- Echipele pot fi asimilate persoanelor juridice, iar datele lor
reprezentate prin entitatea ECHIPE;
- Dacă scorul se reprezintă în forma Punctaj Echipa A – Punctaj
Echipa B, reținem că echipa A este echipa gazdă, iar B echipa
oaspete .
Modelul conceptual al datelor
Modelul conceptual al datelor
NUME_ENTITATE 1
Identificator 1
Identificator 2
Atribut 3
Atribut 4
. Rol 1
Atribut n
Asociere reflexiva
ORAR
Ziua
Ora
C/S
Modelul conceptual al datelor
Identificarea prin rol
Este un caz particular de identificare, atunci când o entitate nu poate
avea ca identificator numai un atribut sau grup de atribute.
Entitatea aflată într-o astfel de situație (entitatea identificată) se
identifică prin atributul/atributele proprii desemnate ca atare și rolul său
într-o anumită asociere, în care are cardinalitatea 1,1 față de cealaltă
entitate (entitatea identificatoare).
La nivelul logic, în identificare va fi implicat nu rolul, ci
identificatorul entității care identifică.
Identificarea relativă se poate marca prin simbolul (R) în pe linia
dintre entitatea identificată și asociere.
Exemplu: eșalonarea ratelor unui credit
CREDITE RATE
PLATA NrRata
NrContract DataScadentă
DataContract Suma
Eșalonare Se referă la
Modelul conceptual al datelor
Nici unul dintre atributele entității RATE nu poate îndeplini
(independent) funcția de identificator.
Numărul ratei participă la identificare, dar este unic doar pentru un
credit, dar pot exista numere de rată identice care descriu eșalonarea
unor credite diferite.
Prin urmare, identificarea se realizează prin numărul ratei și rolul
entității (ceea ce implică la MLD numărul creditului).
Alternativ, se poate recurge la o reprezentare de genul:
CREDITE RATE
PLATA
NrContract NrRata
DataContract DataScadentă
Suma
Entitatea RATE va avea ca realizări (mono-atribut, deci mono-
valoare) numerele de ordine ale ratelor, de la 1 la numărul maxim de rate
acceptat.
Identificarea prin rol nu mai este necesară.
O astfel de soluție nu are un impact negativ asupra modelului logic
de date.
Modelul conceptual al datelor
Reprezentarea timpului
Reperele de timp (Datele calendaristice, indiferent de
unitatea de măsură-precizia asociată) se reprezintă ca
atribute obișnuite.
Reperul de timp asociat unui document se reprezintă în
entitatea documentului respectiv.
Pentru reprezentarea valorilor istorice ale unui atribut:
Se poate defini o entitate în acest sens, dacă se poate asocia cu o
altă entitate.
Atributul de timp (valori de tip data calendaristică sau alt tip de
valori, cu o precizie diferită) însoțește atributul pentru care se
reprezintă valorile istorice.
Atributul de timp poate fi considerat identificator numai dacă
valorile sale sunt unice.
În caz contrar se aplică identificarea prin rol.
Modelul conceptual al datelor
Se referă la
INDICATOR E-F VALORI
ISTORIC
Cod_IEF Data_val
Denumire Valoare_IEF
Definiție
Descriere
Alternativ, se poate construi o entitate auxiliară care reține lista de
valori a atributului de timp, iar atributul cu rol de valoare se
înscrie în asocierea dintre cele două entități:
NumărFactură CodMarfa
SerieFactură DenMarfa
DataFactură UnitMasura
DataScadentă Caracteristici
1,n 0,n
FACTURARE
Cantitate
PrețUnitar
• În baza unei facturi pot fi comercializate minim una și maxim n (mai multe) mărfuri:
1,n.
• O marfă poate fi comercializată de minim 0 ori (dacă nu există cerere), respectiv
maxim în baza mai multor facturi: 0,n.
• În acest caz, Cantitate și PrețUnitar sunt atribute multivaloare pentru ambele entități.
Modelul conceptual al datelor
Exemple
SALA PROFESORI DISCIPLINA
0,n
1,n ORAR 1,n
Ziua
Ora
C/S
• O sală poate găzdui minim o activitate (curs sau seminar) și maxim n (mai multe)
activități: 1,n.
• Un profesor poate susține minim zero activități (dacă nu are activități în semestrul
respectiv), respectiv mai multe activități: 0,n.
• O disciplină poate avea minim o activitate programată și maxim n (mai multe)
activități: 1,n.
Modelul conceptual al datelor
CREDITE RATE
NrRata
NrContract DataScadentă
DataContract Suma
1,n 1,1
Eșalonare PLATA
Se referă la
Un credit poate avea minimum o rată, maximum mai multe rate: 1,n.
O rată se referă la un singur credit: 1,1.
CREDITE RATE
1,n 1,n
PLATA
NrContract NrRata
DataContract DataScadentă
Suma
Un credit poate avea minimum o rată, maximum mai multe rate: 1,n.
Un număr (de ordine) de rată se poate regăsi în eșalonarea a minim unui credit
(ex. rata 1) și maximum a mai multor credite: 1,n
Modelul conceptual al datelor
Se referă la
INDICATOR E-F VALORI
• 1,n 1,1
ISTORIC
Cod_IEF Data_val
Denumire Valoare_IEF
Definiție
Descriere
Observaţie 1’: deși putem vorbi de două tipuri de documente de plată, acestea
pot fi agregate într-o singură entitate, PLATĂ, prin unire. Pentru a marca
aplicarea unirii, este obligatoriu cel puțin un atribut care să diferențieze între
realizările de diferite tipuri (OP vs. Chitanțe etc.). Un astfel de atribut se poate
denumi Tip document și asigură identificarea explicită între diferite tipuri de
realizări.
Observaţie 2’: nu se vor reprezenta, în model, atribute ale căror valori pot fi
calculate pe baza valorilor altor atribute din același model.
Notă: Soluția prezentată urmărește rezolvarea de la curs. Alte cazuri particulare care
au fost discutate la dezbateri vor fi prezentate separat.
Aplicație 1. Reprezentarea datelor
Etapa III. Reprezentarea asocierilor
În primul rând se vor trata situaţiile corespunzătoare observaţiei nr. 2.
• PRODUSE – INGREDIENTE : RETETA
• FACTURI – BENEFICIARI: VANZARE
• FACTURI – PRODUSE: PFACT (PRODUSE_FACTURATE)
• PRODUSE – TVA: TAXARE, cu rolurile Produs taxat, respectiv Se referă la
• FACTURI – AIM: INSOTIRE
• AIM – AUTO: TRANSPORT
• AIM – DELEGATI: DELEGARE
• FACTURI – FACTURI: STORNARE (asociere reflexivă cu rolurile
Factura de stornare , respectiv Factura stornata.
• FACTURI – PRODUSE: PSTORNO (PRODUSE_STORNATE)
• FACTURI – PLATA: DECONT
A B C
D E
Considerând A, B, C, D și E entități, iar liniile dintre ele asocieri, se observă că, deși
fiecare entitate participă la o asociere (sau două, în cazul entității B), modelul este
segmentat în două submodele: unul include entitățile A, B și C; celălalt entitățile D
și E.
Soluția minimală: reprezentarea unei asocieri între una din entitățile A, B și C și una
din entitățile din submodelul D – E.
c) toate atributele și acţiunile (corelaţiile) din enunţ sunt reflectate în model.
Aplicație 1. Reprezentarea datelor
Reprezentarea cardinalităților
Pentru reprezentarea cardinalităţilor, în fiecare asociere se analizează situaţia
fiecărei entităţi, determinând numărul realizărilor celeilalte entităţi şi stabilind
cardinalităţile corespunzătoare.
Asocierea PRODUSE – INGREDIENTE : RETETA
un PRODUS poate include mai multe INGREDIENTE (cardinalitate 1,n).
un INGREDIENT se poate regăsi în mai multe PRODUSE (cardinalitate 1,n).
Asocierea FACTURI – BENEFICIARI: VANZARE
o FACTURĂ corespunde unui singur BENEFICIAR (cardinalitate 1,1).
un BENEFICIAR poate primi mai multe FACTURI (cardinalitate 1,n).
Asocierea FACTURI – PRODUSE: PRODUSE_FACTURATE
pe o FACTURĂ se pot regăsi mai multe PRODUSE vândute (cardinalitate
1,n).
un PRODUS se poate regăsi pe mai multe FACTURI (cardinalitate 0,n).
PRODUSE – TVA: TAXARE, cu rolurile Produs taxat, respectiv Se referă la :
O Dată de referință și o anumită Cotă TVA se referă la un singur PRODUS
(cardinalitate 1,1).
Pentru un PRODUS se pot înregistra mai multe cote de TVA – istoricul
cotelor de TVA (cardinalitate 1,n).
Aplicație 1. Reprezentarea datelor
Asocierea FACTURI – AIM: INSOTIRE
Pentru o FACTURĂ se pot înregistra mai multe AIM (cardinalitate 1,n).
Un AIM se referă la o singură FACTURĂ (cardinalitate 1,1).
Asocierea AVIZE – AUTO: TRANSPORT
Pentru un AVIZ se consideră un singur AUTO (cardinalitate 1,1).
Un AUTO poate fi utilizat la mai multe AVIZE (cardinalitate 1,n).
Asocierea AIM – DELEGATI: DELEGARE
Pentru un AIM există un singur DELEGAT (cardinalitate 1,1).
Un DELEGAT poate corespunde mai multor AIM (cardinalitate 1,n).
Asocierea FACTURI – FACTURI: STORNARE (asociere reflexivă cu rolurile
Factura care storneaza, respectiv Factura stornata.
O FACTURA DE STORNARE poate storna mai multe FACTURA STORNATA
(cardinalitate 1,n).
O FACTURA STORNATA poate fi stornată de o singură FACTURA CARE
STORNEAZA (cardinalitate 0,1).
Asocierea FACTURI – PRODUSE: PRODUSE_STORNATE
pe o FACTURĂ se pot regăsi mai multe PRODUSE (cardinalitate 1,n).
un PRODUS se poate regăsi pe mai multe FACTURI (cardinalitate 0,n).
Asocierea FACTURI – PLATA: DECONT
o FACTURĂ poate deconta prin mai multe PLATI - transe (cardinalitate 1,n).
o PLATA se poate referi la mai multe FACTURI (cardinalitate 1,n).
Aplicație 1. Reprezentarea datelor
Aplicație 1. Reprezentarea datelor
Reprezentarea celorlalte opțiuni privind plata.
b. se acceptă doar plata integrală, un document de plată se referă la o singură
factură:
* atributul Suma se înscrie în entitatea DOCUMENTE
Care sunt cele trei categorii de cerințe care rezultă în urma colectării
informațiilor la nivelul extern?
Care sunt cele trei tipuri de obiecte care pot fi reprezentate prin entități?
Ce rol are identificatorul entității?
Care este corelația dintre noțiunile entitate și realizare a entității?
Ce este asocierea reflexivă?
Cum se reprezintă corect entitățile și asocierile între entitățile descrise
mai jos:
Un tip de document în baza căruia se realizează tranzacții cu un anumit tip de
bunuri;
Bunurile tranzacționate cu acest document;
Partenerii implicați în tranzacție (persoane fizice/juridice).
TEMA 4.
Nivelul logic
4.1. Definiție. Modelul logic de tip relațional.
4.2. Instrumentele modelului relațional.
4.3. Regulile de trecere la modelul relațional.
4.4. Aplicații.
Modelul logic al datelor
4.1. Definiție. Modelul logic de tip relațional
Modelul logic al datelor presupune reprezentarea datelor utilizând
instrumente compatibile cu SGBD în care va fi implementată
baza de date (de la logiciel în limba franceză = program). Pentru
SGBD relaționale, se va utiliza modelul relațional.
4.2. Instrumentele modelului relațional
- Relația: o structură de date bidimensională, similară unui tabel
(tabel este denumirea instrumentului utilizat la nivel fizic pentru
reprezentarea relației în accepțiunea unor SGBD relaționale).
Termenul de relație, în acest context nu trebuie confundat cu cel
de asociere sau corespondență;
- Orice relație poartă un nume (întrucât relația provine dintr-o
entitate sau asociere a modelului conceptual, este de așteptat să
preia numele obiectului sursă);
- Fiecare coloană a relației corespunde unui anumit atribut, care
are propriul nume, care permite diferențierea atributelor între ele
(ca și în cazul relației, numele poate fi păstrat de la MCD).
Modelul logic al datelor
- Denumirile relațiilor și atributelor trebuie să fie unice, pentru a
nu genera confuzii;
- Fiecărui atribut îi corespunde un domeniu de valori (mulțimea
valorilor acceptate pentru atribut). La trecerea la nivelul fizic,
domeniul atributului se va regăsi în tipul de date și celelalte
restricții definite pentru valorile atributului;
- O relație reprezintă date despre mai multe obiecte, iar pentru
fiecare obiect individual există în cadrul relației un tuplu. Altfel
spus, un tuplu se formează dintr-un grup de valori, cel mult o
valoare pentru fiecare atribut (pot exista valori necompletate,
dacă acestea nu încalcă regulile privind integritatea datelor).
- Inclusiv datele care descriu structura bazei de date (metadatele)
este necesar a fi stocate conform aceluiași principiu.
Modelul logic al datelor
- Cheia primară: „un atribut sau grup de atribute care
identifică, prin valori distincte sau combinaţii de valori
distincte”, fiecare tuplu dintr-o relație. Pentru cheile
primare nu se acceptă valori nule;
- Cheia externă: un atribut dintr-o relație care este cheie
primară în altă relație. Între cele două atribute se stabilește
restricția de integritate referențială.
Orice relație are cel puţin o cheie: primară sau externă.
În baza corespondenței din definiția cheii externe, se
definesc, la nivelul fizic, legăturile dintre tabele.
Conger (2012) are în vedere următoarele avantaje
ale modelului relațional:
- Minimizarea redundanței;
- Corelarea datelor din diferite segmente ale bazei de date.
Modelul logic al datelor
Datele despre fiecare persoană sau bun sunt reprezentate o
singură dată, ca tuplu în relația respectivă, iar dacă o persoană,
sau un bun, sunt implicate într-o acțiune descrisă printr-o altă
relație, se preia doar valoarea corespunzătoare persoanei sau
bunului, în înregistrarea referitoare la acțiunea respectivă, ca
valoare a cheii externe care referă persoana sau bunul.
Simplitatea și aplicabilitatea modelului permit utilizarea
acestuia ca instrument de lucru inclusiv în scop didactic.