Documente Academic
Documente Profesional
Documente Cultură
Materiale.dat Materiale.cbl
101 Ciment Kg 10000 ...
102 Var Kg 15000 Cod 9(3)
Denumire X(6)
UM X(3)
Pret 9(5)
1 – adaptare dupa Gabriel Cozgarea - Baze de date. Microsoft ACCESS, Editura ASE, Bucuresti, 2018
Baze de date - Conf. Univ. Dr. Cozgarea Gabriel 1
1.1.2 Organizarea datelor în baze de date
O bază de date reprezintă un ansamblu structurat de date corelate logic, accesibile prin intermediul
calculatorului electronic de unul sau mai mulți utilizatori simultan în timp real.
Urmând logica nivelelor introduse de ANSI/SPARC, rezultă că, pentru o bază de date se pot defini:
✓ mai multe scheme externe;
✓ o singură schemă conceptuală;
✓ o singură schemă internă.
[1] ANSI/SPARC ‒ American National Standards Institute, Standards Planning And Requirements Committee.
• Modelul ierarhic descrie schema conceptuală a bazei de date sub forma unui graf arborescent (cu un singur nod
rădăcină) în care nodurile reprezintă colecții de date, iar legăturile dintre acestea trebuie să fie de tipul 1÷N (unu
la mai mulți) sau 1÷1 (unu la unu).
• Modelul rețea reprezintă o extensie a modelului ierarhic și descrie schema conceptuală prin intermediul unei
rețele. În modelul rețea, spre deosebire de cel ierarhic, un nod copil poate avea mai mulți părinți. Cu alte cuvinte,
modelul rețea permite realizarea unei legături de tip M÷N (mulți la mai mulți).
• Modelul relațional este fondat pe teoria matematică a relațiilor și pe calculul relațional. Acest model descrie
schema conceptuală cu ajutorul noțiunii de relație. O relație are mai multe coloane (numite atribute) și mai multe
linii (numite tupluri). Facturi
Furnizori
Factura 128
125
+ NumărFactură : Long 121 AB03
+ Serie: String Date AB02
AB01 02/02/2020
+ Data : Date 01/02/2020
+ Explicatii: String 01/01/2020 Cumpărare mijloace
Primire materiale
+ValoareFactură(): Double Primire mărfuri fixe
+ValoareTVA(): Double Operaţii ...
...
+TotalFactură(): Double ...
• Modelul obiect relațional reprezintă o extensie a modelului relațional și îmbină facilitățile acestuia cu cele ale
modelului orientat pe obiecte.
în componență mai multe câmpuri (caracteristici). O adresă fizică Reprezentarea datelor pe suportul tehnic de date
Pentru accesarea datelor stocate pe suporturile tehnice de date există următoarele metode:
•Metoda secvențială – presupune parcurgerea tuturor înregistrărilor logice începând cu prima înregistrare, până la
înregistrarea care conține valoarea căutată (dacă există) sau până la ultima înregistrare (dacă valoarea căutată nu
există).
•Metoda indexată – se bazează pe căutări într-un tabel de indecși, folosind algoritmi pentru căutări în mulțimi
ordonate. Această metodă permite regăsirea mult mai rapidă a unei informații, decât metoda secvențială.
sistemul va asocia câte un tabel cu indecși. În general, un tabel de …01 Alfa S.A. București 001.251.33…
…03 Gama S.A. Brașov 001.253.10…
indecși este format din două câmpuri ce vor conține: …02 Beta S.A. Timișoara 001.258.22…
Înregistrare/tuplu
Baze de date - Conf. Univ. Dr. Cozgarea Gabriel 11
În urma implementării modelului relațional într-un SGBD, se vor folosi termenii de tabel, câmp și înregistrare,
asociați relației, atributului și respectiv tuplului.
Integritatea referenţială definește condițiile cerute pentru realizarea și menținerea unei legături între două relații.
Pentru a se asigura integritatea referenţială, cheia externă trebuie să accepte numai realizările cheii primare
corespondente.
Legăturile de tip m ÷ n (mulți la mulți) pot fi realizate, în cadrul unui SGBD, numai indirect, prin intermediul unei
alte relații, pornind de la ideea că orice legătură de tip m ÷ n se va descompune în două legături de tip 1 ÷ n.
Algebra relațională reprezintă o colecție de operatori care acționează asupra unor relații în vederea obținerii
altor relații. Operatorii relaționali pot fi grupați în două categorii:
• Operatori generali cu mulțimi: reuniunea, intersecția, diferența și produsul cartezian;
• Operatori relaționali specifici: selecția, proiecția, compunerea și diviziunea.
Disciplina (R1)
Cod Denumire
R3=Disciplină x Student
PSI Proiectarea SI
Cod Denumire Marca Nume
TAO Tehnologia aplicatiilor
Office PSI Proiectarea SI 01 Ionescu
Student (R2) PSI Proiectarea SI 02 Popescu
Marca Nume
TAO Tehnologia aplicatiilor 01 Ionescu
01 Ionescu Office
TAO Tehnologia aplicatiilor 02 Popescu
02 Popescu Office
❖ Selecția aplicată asupra relației R1 cu n tupluri, are ca rezultat o relație R2, cu aceeași structură, dar cu m tupluri
(m<=n) care îndeplinesc o anumită condiție. În cadrul condiției se pot utiliza operatori logici (AND, OR, NOT),
operatori de atribuire și comparare (<>, >, <, =, >=, <=), operatori aritmetici (+, -, *, /), precum și alți operatori (Is,
Like, In etc.).
Factura
Serie Numar Data CodFurnizor
❖ Compunerea.
Fie relațiile R1 și R2 care satisfac cerințele produsului cartezian (nu au un atribut sau un grup de atribute comun).
Compunerea relațiilor R1 (după atributul A) și R2 (după atributul B) generează o relație nouă cu următorul conținut:
R1 JOIN A B R2= (R1 x R2) Where A B
Altfel spus, relația obținută prin compunere va conține acele tupluri, care aparțin produsului cartezian al celor două
relații, pentru care condiția de compunere A B este îndeplinită.
În funcție de tipul operatorului , compunerea se numește:
✓ Echicompunere, dacă este operatorul „=”. În acest caz, în relația rezultată vor fi prezente două atribute (sau
grupuri de atribute) ale căror valori vor fi egale în fiecare tuplu. Dacă respectivele atributele (sau grupuri de
atribute) au aceeași denumire și sunt de același tip, compunerea se numește naturală.
✓ - compunere, dacă este un operator diferit de egalitate (>, <. <>, <=, >=).
➢ Compunerea externă (OUTER JOIN) dintre relațiile R1 și R2 are ca rezultat o relație R3 ce va conține atât
tuplurile produsului cartezian dintre cele două relații sursă care îndeplinesc condiția de compunere, cât și
tuplurile fără corespondent din R1 și R2.
În funcție de relația din care sunt preluate toate tuplurile (cu sau fără corespondențe), compunerea externă poate
fi de două tipuri:
- La stânga (LEFT JOIN) – relația R3 va conține toate tuplurile din R1 și acele tupluri din R2 care îndeplinesc
condiția de compunere;
- La dreapta (RIGHT JOIN) – relația R3 va deține toate tuplurile din R2 și acele tupluri din R1 care
îndeplinesc condiția de compunere.
➢ RIGHT JOIN
Marfă-Factură
Serie Număr Data CodMarfă
Diviziunea tabelei Marfă-Factură cu tabela Factură
A1 1 1/1/2017 M1 tabela Marfă
A1 1 1/1/2017 M2
Marfă
A2 2 2/1/2017 M1 CodMarfă
A2 2 2/1/2017 M2 M1
A2 2 2/1/2017 M3 M2
Factură
Serie Număr Data
A1 1 1/1/2017
A2 2 2/1/2017
Scopul procesului de normalizare este obținerea unei baze de date care să respecte cerințele definite de către
utilizator și să fie formată din relații ce nu conțin redundanțe sau anomalii la actualizare.
1 – adaptare dupa Gabriel Cozgarea - Baze de date. Microsoft ACCESS, Editura ASE, Bucuresti, 2018
Baze de date - Conf. Univ. Dr. Cozgarea Gabriel 1
3.2. Dependenţe
Dependențele reprezintă legături logice ce se pot stabili între atribute și au o importanță crucială în procesul de
normalizare a bazelor de date.
➢ Se numește dependență funcțională completă, o dependenţă funcțională de forma X → Y, în care Y este dependent
funcțional de X, fără să fie dependent funcțional de niciuna din componentele lui X. Dependența funcțională
completă mai este numită, în literatura de specialitate, dependenţă funcțională elementară, totală sau deplină.
Exemplu: (NumărComandă, CodProdus) → Cantitate
NumărComandă→Cantitate
CodProdus→Cantitate
CodSectie → → NumarInventarMijlocFix
CodSectie → → MarcaSalariat
1. Dependențe simple (unice): un atribut A determina atributul B (A→B) atunci când o realizare a lui A determina o
singura realizare a lui B.
Exemplu: MarcaAngajat → DenumireAngajat
2. Dependența multiplă: exista o dependenta multipla de la A la B (A ―»B) atunci când o realizare a lui A determina
mai multe realizari ale lui B.
Exemplu:
Serie Număr DataFactura CodFurnizor Denumire Adresa
Factura Factura
AB01 01 01-01-2020 1011 S.C. ALFA Bucureşti
AB02 02 20-02-2020 1012 S.C. BETA Brasov
AB03 03 21-02-2020 1012 S.C. BETA Brasov
O relație care nu a fost supusă procesului de normalizare poate prezenta următoarele proprietăți nedorite:
a) redundanţă
b) anomalii la adăugare
c) anomalii la modificare
d) anomalii la ştergere
Exemple:
1. Persoane{Cod, Denumire, Domiciliu} respecta FN1?
- Respecta FN1 daca nu exista cerinte de grupare/selectare a informațiilor în funcție de localitate, stradă etc.
- Nu respecta FN1 dacă se dorește dezvoltarea unui sistem informatic în care să se urmărească evidența persoanelor
în funcție de localitate, stradă etc. Persoană
Cod Denumire Localitate Adresă
=> Relatia care respecta FN1: 01 Ionescu Bucuresti str. Stefan cel
Mare,nr.2
02 Popescu Ploiesti str. Viitorului, nr.4
2. Comenzi{Numar, Data, Marfuri} nu respecta FN1.
Exemplu:
MaterialeComandate{NumărComandă, CodMaterial, Cantitate, PreţUnitar, DenumireMaterial} nu se află în FN2
deoarece:
Exemplu:
Comenzi{NumărComandă, Data, CodClient, DenumireClient} nu respectă FN3.
NumărComandă → CodClient→ DenumireClient
T
▪ FN3:
Pentru obținerea modelului relațional utilizând matricea dependențelor se vor aplica următoarele reguli:
1. Atributele vor fi preluate din documentele primare, rapoarte etc. și se vor adăuga în dicționarul de atribute.
Se vor elimina atributele calculate și cele sinonime, iar atributele compuse se vor descompune în atribute
atomice.
2. Se identifică atributele care îndeplinesc condițiile cheilor candidate.
3. Dintre cheile candidate se vor alege cheile primare.
4. Se vor identifica tipurile de dependențe (1, M, 1T, MT ) între fiecare cheie primară și restul atributelor definite
în dicționarul de atribute.
1- Adaptare dupa Cozgarea Gabriel, Baze de date. Microsoft Access, Editura ASE, 2018
7. Se elimină eventualele relații derivate. Relațiile derivate conțin informații ce se pot obține prin aplicarea
operatorilor relaționali asupra relațiilor modelului relațional.
Dictionarul de atriubute
1 SerieFactura
2 DataFactura Reguli de gestiune:
Fiecare cheie primară împreună cu atributele determinate funcțional netranzitiv de către aceasta generează
câte o relație nouă.
Modelul relațional final este format din relațiile (tabelele) Factura, Furnizor, Material și MaterialFacturat.
Sistemul de gestiune a bazelor de date (SGBD) Microsoft Access reprezintă o componentă a pachetului Microsoft Office destinată
gestionării bazelor de date relaționale.
O bază de date Access este salvată sub forma unui fişier (cu extensia .accdb) si conţine următoarele obiecte:
1. Tabele (Tables)
2. Legături (Relationships)
3. Indecşi (Indexes)
4. Formulare (Forms)
5. Interogări (Querys)
6. Rapoarte (Reports)
7. Obiecte de tip Macro (Macros)
8. Module (Modules)
Prin opţiunea Design View se stabilesc pentru fiecare câmp următoarele proprietăţi:
A. Numele câmpului (Field Name) trebuie să nu înceapă cu un spațiu, să prezinte o lungime maximă de 64 de caractere și să nu
conțină următoarele caractere speciale: punctul (.), semnul exclamării (!) și parantezele drepte ([]).
B. Tipul de date al câmpului (Data Type). Utilizatorul trebuie să precizeze tipul de date aferent câmpului create: Short Text,
Long Text, Number, Date/Time, Currency - valori numerice în virgulă fixă (4 zecimale), AutoNumber, Yes/No, Ole Object-
stochează obiecte (foi calcul Excel, documente Word etc.), Hyperlink - realizări alfanumerice ce reprezintă adrese URL (Internet
/Intranet) sau adrese UNC), Attachment – se pot atașa imagini, fișiere, documente etc., Calculated – permite crearea de campuri
calculate, Lookup Wizard.
➢ Legătura dintre două tabele se realizează prin intermediul câmpurilor comune, respectiv cheie primară și cheie externă.
Acestea trebuie să fie compatibile din punct de vedere al tipului de date.
➢ Din fereastra Show Table se vor selecta tabelele participante la relaţie.
Tipuri de interogări:
1. Interogări de selecţie
2. Interogări acţiune
3. Interogări de analiză încrucişată
1 – adaptare dupa Gabriel Cozgarea - Baze de date. Microsoft Access, Editura ASE, 2018
Exemplu:
Sa se afle valoarea aferenta fiecarui produs comandat.
Gruparea datelor
Microsoft Access permite elaborarea unor interogări în cadrul cărora se pot folosi funcții de grup (agregat), care se vor aplica
seturilor de înregistrări (opțiunea Totals din meniul Design).
Funcţii de grup:
▪ Sum() – calculează suma unui set de valori;
▪ Count() – returnează numărul de valori existente într-un set de date;
▪ Min() – determină valoarea minimă dintr-un set de date;
▪ Max() – determină valoarea maximă dintr-un set de date;
▪ First() – returnează prima valoare existentă într-un set de date;
▪ Last() – returnează ultima valoare dintr-un set de date;
▪ Avg() – calculează media aritmetică a unui set de valori.
Exemple:
1. Sa se afle cate comenzi a întocmit fiecare client.
Baze de date - Conf. Univ. Dr. Cozgarea Gabriel 4
2. Se doreşte obţinerea valorii totale aferente
comenzilor întocmite în ianuarie 2019.
Exemplu:
Se doreşte sa se afișeze numai comenzile aferente unui client
anume ce va fi specificat la executarea interogării.
Principala caracteristică a acestor cereri o reprezintă setarea câmpurilor ce vor fi afișate pe liniile și coloanele interogării:
✓ În linia Crosstab se va selecta clauza Row Heading pentru câmpurile ce vor fi afișate pe linie;
✓ În linia Crosstab se va selecta clauza Column Heading pentru câmpurile ce vor fi afișate pe coloană;
✓ În linia Crosstab se va selecta clauza Value pentru câmpurile ale căror valori vor fi afișate la intersecția dintre linii și coloane
Exemplu:
Să se afișeze numărul de comenzi întocmite de clienți, în fiecare lună.
Orice interogare Microsoft Access este transformată și salvată intern în limbaj SQL, format
disponibil și utilizatorului prin accesarea opțiunii SQL View. Pentru elaborarea unei interogări în
limbajul SQL se deschide obiectul respectiv în modul SQL View, selectând opțiunea cu același
nume din meniul Home sau Design.
1- Adaptare dupa Cozgarea Gabriel, Baze de date. Microsoft Access, Editura ASE, 2018
6.1.1. CREATE TABLE - permite crearea unei tabele într-o bază de date.
Sintaxa:
CREATE TABLE nume_tabel ( câmp1 tip [(mărime)]
[CONSTRAINT nume_index {PRIMARY KEY|UNIQUE|NOT NULL }]
[,..])
Sintaxa:
ALTER TABLE nume_tabel
{ADD COLUMN câmp1 tip[(mărime)] |
ALTER COLUMN câmp2 tip[(mărime)] |
DROP COLUMN câmp3 }
6.1.3. DROP TABLE - permite ștergerea unui index asociat unei tabele sau a unei tabele din
baza de date.
Sintaxa:
DROP TABLE nume_tabel
6.2.1. INSERT INTO - permite adăugarea unei înregistrări în cadrul unei tabele.
Sintaxa:
INSERT INTO nume_tabel [(câmp1[, ...])] VALUES (valoare1[,...])
Sintaxa:
UPDATE nume_tabel SET câmp1= expresie [, …] [WHERE condiţie]
6.2.3. DELETE - permite ștergerea unor înregistrări dintr-o tabelă, care îndeplinesc anumite
condiții.
Sintaxa:
DELETE [*] FROM nume_tabel WHERE condiţie
Sintaxa:
SELECT [ALL / DISTINCT / DISTINCTROW / TOP N [PERCENT]]
{* / câmp1 [AS etichetă_câmp] [,…]}
FROM nume_tabel1 [AS etichetă_tabel] [,…]
WHERE condiţie_înregistrări_negrupate
GROUP BY câmp1 [,…]
HAVING condiţie_înregistrări_grupate
ORDER BY câmp1 [ASC / DESC] [,…]
Exemple:
2. Sa se afle clientii care au intocmit comenzi (un client se afisează o singură dată):
O subinterogare se referă la o cerere SELECT ce este plasată în cadrul altei comenzi SQL.
O cerere SELECT poate fi utilizată pentru a returna una sau mai multe înregistrări, ce vor
fi folosite într-o comandă INSERT ... INTO, SELECT ... INTO, DELETE, UPDATE,
SELECT sau în cadrul altei subinterogări.
Atunci când subinterogarea returnează mai multe înregistrări, pentru comparații, se pot
utiliza următorii operatori:
• IN – testează apartenența unei valori la o mulțime;
• ANY/SOME – compară o valoare cu oricare element al unei mulțimi;
• ALL – compară o valoare cu toate elementele unei mulțimi;
• EXISTS – verifică dacă o mulțime conține cel puțin un element.
Sintaxa:
INSERT INTO NumeTabel [(CâmpD1[, CâmpD2[, …]])] [IN BDExternă]
SELECT CâmpS1[, CâmpS2[, …] FROM ExpresieTabele
Exemplu:
Se doreste adăugarea înregistrărilor contabile din anul precedent din tabela
OperaţiiContabile(IdOperatie, NrOperatie, DataOperatie, Explicatii) în tabela Arhiva
(care are aceeaşi structură).
Exemple:
1. Sa se afle clientii care nu au intocmit comenzi în luna martie 2020.
1 – preluare din Gabriel Cozgarea, Baze de date. Microsoft Access, Editura ASE, 2018
b. Proprietăţi din categoria Data: precizează proprietăți referitoare la sursa de date. Cele mai importante proprietăți sunt:
• Record Source – indică sursa de date a formularului, care poate fi o tabelă, o interogare sau o comandă SQL care descrie o
cerere de selecție.
• Filter – permite definirea unui criteriu de selecție ce se va aplica asupra înregistrărilor afișate în cadrul formularului.
• Filter On Load – dacă este setată cu Yes, proprietatea Filter devine activă, iar înregistrările vor fi filtrate
la deschiderea formularului.
• Order By – permite definirea câmpurilor după care vor fi sortate înregistrările din cadrul formularului.
• Order By On Load – dacă este setată cu Yes, proprietatea Order By devine activă, iar înregistrările vor fi
sortate la deschiderea formularului.
• Data Entry – dacă este setată cu Yes, formularul va fi folosit doar pentru adăugarea de înregistrări. La
deschiderea formularului, nu vor fi afișate înregistrările existente în baza de date.
• Record Locks – precizează modul în care înregistrările accesate de formular vor fi blocate pentru ceilalți
utilizatori.
Baze de date - Conf. Univ. Dr. Cozgarea Gabriel 3
c. Proprietăţi din categoria Events – indică evenimente ce pot fi tratate cu ajutorul obiectelor de tip Macro sau
procedurilor/funcțiilor scrise în limbajul VBA. Cele mai uzuale evenimente sunt :
• On Current – evenimentul se declanșează în momentul în care se trece de la o înregistrare la alta sau dacă se dorește
actualizarea sursei de date (Requery).
• After Update – acest eveniment se declanșează după actualizarea datelor.
• Before Update – apare înainte de actualizarea datelor.
• Before Insert – evenimentul se manifestă atunci când utilizatorul introduce primul caracter într-o
înregistrare nouă (înainte ca aceasta să fie creată efectiv).
• After Insert – acest eveniment se declanșează după adăugarea unei înregistrări noi.
• On Delete – evenimentul se declanșează înainte de ștergerea efectivă a unei înregistrări.
• On Open – apare atunci când se deschide un formular, dar înainte de a se afișa prima
înregistrare.
• On Close – evenimentul se declanșează atunci când formularul este închis.
d. Proprietăţi din categoria Other: conține alte proprietăți. Cele mai importante proprietăți sunt:
• Modal – permite setarea formularului ca modal (nu permite accesarea altor ferestre din cadrul
aplicației, până când acesta nu este închis) sau nemodal (permite accesarea altor ferestre din cadrul
aplicației).
• Ribbon Name – indică numele Ribbon-ului care va fi afișat la deschiderea formularului.
• Toolbar – precizează bara de instrumente ce va fi afișată la execuția formularului.
• Menu Bar – indică numele meniului definit de utilizator ce va fi afișat la deschiderea formularului.
Butonul de comandă (Button) Controlul este utilizat pentru declanșarea unor acțiuni.
Caseta combinată (Combo Box) Permite fie editarea valorilor, fie introducerea acestora dintr-o listă
derulantă. Acest control este folosit cu precădere pentru actualizarea
câmpurilor cu rol de cheie externă sau a celor care acceptă un număr
limitat de valori (de exemplu, UnitateDeMăsură, CotăTVA etc.).
Caseta listă (List Box) Acest control este utilizat pentru selectarea unei valori dintr-o listă.
Subformular/Subraport (Subform/Subreport) Permite crearea unui subformular sau subraport în cadrul unui
formular/raport.
Baze de date - Conf. Univ. Dr. Cozgarea Gabriel 5
Proprietățile unui control sunt afișate în fereastra Property Sheet, dacă, în prealabil, acesta a fost selectat.
Cele mai importante proprietăți ale unui control sunt următoarele:
✓ Name – indică denumirea controlului în funcție de care acesta este accesat de aplicație.
✓ Status Bar Text – conține un mesaj ce va fi afișat în bara de stare, atunci când controlul este
activ (deține focusul).
➢ Subrapoartele sunt rapoarte incluse în cadrul altor rapoarte numite rapoarte principale.
➢ Legătura dintre raportul principal și subraport se realizează, la fel ca în cazul subformularelor, prin intermediul câmpurilor de
legătură precizate la proprietățile Link Master Fields și Link Child Fields.
2 – pentru detalii, vezi Gabriel Cozgarea, Baze de date. Microsoft Access, Editura ASE, 2018
Baze de date - Conf. Univ. Dr. Cozgarea Gabriel 2
Macrocomenzi standard
Obiectele de tip macro standard pot fi atașate evenimentelor formularelor, rapoartelor sau controalelor. Aceste obiecte macro
se mai pot executa și independent, prin selectarea opțiunii Run fie din meniul Design (dacă obiectul este deschis în Design View),
fie din meniul contextual aferent. Pentru crearea unei macrocomenzi standard se selectează opțiunea Macro din meniul Create.
Spre deosebire de macrocomenzile de date, aceste obiecte macro sunt vizibile în panoul de navigare.
3 – pentru detalii, vezi Gabriel Cozgarea, Baze de date. Microsoft Access, Editura ASE, 2018
Baze de date - Conf. Univ. Dr. Cozgarea Gabriel 3
Exemple:
1. Fie tabelele Comandă și DocPlată. Sa se realizeze un Rezolvare:
obiect Data Macro care sa permita implementarea urmatoarei
restrictii:
DocPlata.Data >= Comanda.Data
Datele stocate în cadrul unui SGBD trebuie să fie coerente, adică să fie conforme cu realitatea. Pentru
aceasta, datele trebuie să respecte anumite restricții (constrângeri) de integritate.
1– preluare din Gabriel Cozgarea, Baze de date. Microsoft Access, Ed. ASE, 2018
c. Restricții care vizează valorile mai multor atribute ce provin din relații diferite.
De exemplu, fie relațiile Factură (SerieFactură, NumărFactură, DatăFactură, CodFurnizor)
și DispozițiePlată (NumărDispozițiePlată, DatăDispozițiePlată, Sumă, SerieFactură,
NumărFactură). Pentru aceste relații se poate defini următoarea restricție de integritate:
DatăDispozițiePlată >= DatăFactură.
d. Restricții care se aplică asupra unor valori obținute pe baza unor operații de sintetizare.
De exemplu, media de vârstă a angajaților unei societăți comerciale trebuie să fie mai mică
de 50 de ani.
A.2.Nenulitatea. În cadrul unui model relațional, unele atribute nu pot accepta valoarea NULL. În
această categorie se înscriu, în primul rând, cheile candidate. Desigur, restricția poate fi valabilă, în
funcție de specificul aplicației, și pentru alte atribute (dată factură, preț de achiziție, simbol cont etc.).
A.3. Atomicitatea. Această restricție se referă la faptul că toate atributele definite în cadrul modelului
relațional trebuie să fie atomice, în sensul că ele nu se mai descompun.
Baze de date - Conf. Univ. Dr. Cozgarea Gabriel 2
A.4. Unicitatea. Într-o relație nu pot exista tupluri care conțin aceleași valori pentru toate atributele.
Orice relație trebuie să dețină o cheie primară care permite identificarea tuplurilor.
A.5. Integritatea referenţială
A.6. Dependența funcțională
B. Restricții de integritate dinamice ‒ sunt acele constrângeri ce privesc trecerea de la o stare la
alta a unui tuplu în urma efectuării modificărilor aferente.
➢Tranzacţia reprezintă o tehnică prin care este asigurată coerenţa bazei de date în cursul
actualizării acesteia.
➢O bază de date se numeşte coerentă dacă respectă toate restricţiile impuse de reflectarea fidelă a
realităţii.
Tranzacţia reprezintă un set de operaţii de actualizare care fie se execută toate, fie nici una.
O tranzacţie poate fi:
❑ Salvată (commited) - toate operaţiile tranzacţiei au fost încheiate cu succes, iar baza de date este
actualizată cu noile modificări.
❑ Derulată înapoi (rollback) – toate operaţiile tranzacţionate sunt anulate, iar baza de date este
restaurată la starea dinaintea tranzacţiei.
Cu ajutorul opțiunilor din meniul External Data, Microsoft Access oferă utilizatorilor posibilitatea de a importa sau
exporta date în diferite formate: Microsoft Excel, Microsoft Access, fișiere text, XML, PDF sau XPS etc.
1– Adaptare dupa Gabriel Cozgarea, Baze de date. Microsoft Access, Editura ASE, 2018
• Conversia bazei de date în format ACCDE se realizează folosind opțiunea Save As / Save Database As / Make
ACCDE din meniul File
7. Personalizarea interfeței
Personalizarea interfeței cu utilizatorul presupune atât particularizarea formularelor și a rapoartelor, cât și a
meniului aplicației. Formularele și rapoartele pot fi personalizate în funcție de preferințele utilizatorului (sunt
disponibile chiar câteva template-uri pentru conceperea acestora). Meniul2 aplicației poate fi personalizat, în general, în
două moduri:
A. prin crearea unui formular afișat automat la deschiderea aplicației, care permite navigarea către celelalte
formulare și rapoarte;
B. prin realizarea unui meniu al aplicației de tip bandă (Ribbon).
2 – Pentru detalii, vezi Gabriel Cozgarea, Baze de date. Microsoft Access, Editura ASE, 2018