Documente Academic
Documente Profesional
Documente Cultură
Cap. 1. Introducere........................................................................................2
Cap. 2. Tema de Proiect: Summit sporting goods.3
Cap. 3. Schema conceptuala..4
3.1. Noiuni teoretice...4
3.2. Schema conceptual.....................................................................6
Cap. 4. Schema logic...................................................................................7
4.1. Noiuni teoretice...........................................................................7
4.2. Schema logic...............................................................................8
Cap. 5. Normalizarea Bazelor de Date...........................................................9
5.1. Noiuni teoretice............................................................................9
5.2. Normalizarea Bazei de Date........................................................10
Cap. 6. Denormalizarea Bazelor de Date......................................................10
6.1. Noiuni teoretice..........................................................................10
6.2. Denormalizarea Bazei de Date....................................................10
Cap. 7. Sisteme de gestiune a bazelor de date: MySQL...............................11
7.1. Noiuni teoretice..........................................................................11
7.2. Aplicaii.......................................................................................12
Cap. 8. Concluzii..........................................................................................21
BIBLIOGRAFIE .....................................................................................22
Capitolul 1. Introducere
2
Capitolul 2. Tema de Proiect: Summit Sporting Goods
Sunt managerul unei companii care realizeaz articole sportive en-gros i care
primete comenzi de la magazine cu profil i le furnizeaz acestora produsele dorite.
Magazinele sunt clienii notri(unii dintre angajaii notri prefer s-i numeasc astfel). n
acest moment avem 15 clieni din toat lumea, dar ncercm s mrim numrul de
cumprtori cu 10% n fiecare an, ncepnd din acest an. Doi dintre cei mai mari clieni ai
notri sunt Big Johns Sports Emporium din San Francisco, CA, USA i Womansports din
Seattle, Washington, USA. Pentru fiecare client noi trebuie s avem un ID i un nume. Mai
trebuie s avem o adres(incluznd oraul, statul, codul potal i ara) i numrul de telefon.
Avem depozite n diferite regiuni pentru a le livra clinenilor notri ct mai repede
comenzile. Pentru fiecare comand trebuie s avem un ID. Trebuie s avem data comenzii,
data cnd a fost livrat comanda i modul de plata, cnd aceast informaie este disponibil.
n acest moment am mprit lumea n 5 regiuni: America de Nord, America de Sud,
Orientul Mijlociu, Asia i Europa. Avem nevoie doar de ID i de nume pentru aceastea.
ncercam s atribuim fiecrui client o regiune astfel ncat s tim cea mai buna locaie de la
care s livrm fiecare comand. Fiecare depozit trebuie s aib un ID. Trebuie s aib i o
adres(incluznd oraul, statul, codul potal i ara) i numrul de telefon. n acest moment
avem doar un depozit pe regiune, dar sperm s avem mai multe ct de curand.
Administrez ordinea n care sunt realizate articolele sportive en-gros ale afacerii
nostre. Departmentul meu este responsabil pentru plasearea i livrarea comenzilor cnd
clienii notri sun. Pentru fiecare departament trebuie s avem un ID i un nume. Uneori,
clieii pur i simplu ne trimit un e-mail cnd sunt grbii, dar, de cele mai multe ori, ne sun
sau ne trimit un fax cu comenzile lor. Sperm s extindem afacerea prin oferirea ct mai
rapid$ a informaiilor privind comenzile primite. Credei c aceast aplicaie poate fi pus
pe internet(pe site-ul nostru)?
Putem promite s livrm chiar a doua zi, att timp ct articololele respective sunt n
stoc( sau invetariate) la unul dintre depozitele noastre. Cnd informia este disponibil,
punem la dispoziie cantitatea pe care o avem n stoc, momentul n care poate fi facut din
nou comanda, cantitatea maxim de articole pe care o avem n stoc, un motiv pentru care
nu avem articolul respectiv n stoc i data cnd o s l avem din nou n stoc. Cnd produsele
sunt livrate vrem s trimitem automat, prin fax, informaiile legate de livrarea respectiv,
prin sistemul nostru de livrare. Nu, nu eu administrez acea regiune. Departamentul meu
doar i asigur pe clienii notri c au informaiile corecte despre suma pe care trebuie s o
plteasc i verific, de asemenea, dac contul lor este ntr-o stare bun de a face
tranzacii. Putem, de asemeanea, nregistra informaii generale despre un client.
Noi ne asigurm c toate articolele pe care le-au cerut clienii notri sunt n stoc.
Pentru fiecare articol avem un ID. Trebuie, de asemenea, s avem preul fiecrui articol,
cantitatea i cantitatea livrat, dac aceast informaie este disponibil. Dac sunt n stoc,
vrem s procesm comanda i vrem s le spunem clienilor notri ce ID are comanda
respectiv i cat de mult nseamn comanda lor total. Dac articolele nu sunt n stoc,
clientul ne spune dac ar tebui s ateptm pn putem s livrm toat comanda sau dac ar
trebui s o livrm parial.
Departamentul de contabilitate este responsabil cu meninrea de informaii despre
clienii notri, n special cu atribuirea de ID-uri noilor clieni. Departamentul meu are voie
3
s actualizeze informaii despre clieni, doar cnd o comand este pus i cnd modul de
plat sau adresa de livrare s-au schimbat. Nu, noi nu suntem responsabili pentru colecii.
Cu acestea se ocup contabilii, cred de asemenea c reprezentanii de vnzri se implic
deoarece comenzile lor depind de clienii care pltesc! Pentru fiecare reprezentant de
vnzri sau angajat trebuie s tim un ID i numele de familie. Ocazional, avem nevoie s
tim prenumele, ID-ul de utilizator, data de incepere, titlul i salariul. Este posibil s vrem
s aflm rata de vnzare a angajatului i orice alt informaie despre el.
Personalul nostru este bine instruit n ceea ce privete linia noastr de produse.
inem sedine frecvente despre marketing pentru ca ei s ne informeze despre noi produse
aprute. Din acest lucru rezult o mai buna satisfacere a clienilor notri pentru c cei care
se ocup cu primirea comenzilor pot s raspund la mai multe ntrbari. Acest lucru este
posibil pentru c avem de-a face cu civa clieni seleci i meninem o linie de producie de
specialitate. Pentru fiecare produs trebuie s tim ID-ul i numele. Ocazional, mai trebuie
s tim descrierea, preul sugerat i unitatea de vnzare a produsului. Am vrea, de
asemenea, s avem posibilitatea de a avea descrieri foarte amnunite ale produselor
noastre i poze cu acestea, cnd este necesar.
4
entitate este descris prin atributele sale. Un atribut (attribute ) este o proprietate care
descrie un anumit aspect al unei entiti. Toate entitile similare, care pot fi descrise prin
aceleai atribute, aparin aceluiai tip de entitate (entity type), iar colecia tuturor entitilor
de acelai tip dintr-o baz de date constitue o mulime de entiti (entities set).
n general, n modelul E-A se folosete aceeai denumire att pentru un tip de
entitate ct i pentru mulimea entitilor de acel tip. De exemplu, tipul de entitate
angajat (al unei instituii) reprezint orice persoan angajat a instituiei, care are o
anumit funcie i primete un anumit salariu. 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
instituia respectiv (Functie,Salariu).
n proiectarea bazelor de date se consider dou categorii de entiti: entiti
normale (obinuite -regular entities) i entiti slabe (dependente -weak entities).
Entitile normale au o existen proprie n cadrul modelului, n timp ce entitile slabe nu
pot exista dect daca exist o entitate normal (puternic) cu care sunt asociate.
O asociere (relationship ) este o coresponden ntre entiti din doua sau mai
multe mulimi de entiti. Gradul unei asocieri este dat de numrul de mulimi de entiti
asociate. Asocierile pot fi binare (de gradul 2, ntre 2 mulimi de entiti) sau multiple (ntre
k mulimi de entiti, k> 2).
Asocierile binare sunt, la rndul lor, de trei categorii, dup numarul elementelor
din fiecare dintre cele doua mulimi puse n coresponden de asocierea respectiv. Fiind
date dou mulimi de entiti, E1 i E2, se definesc urmatoarele categorii de asocieri binare:
5
asocierii se noteaz prin nscrierea multiplicitii pe fiecare link care conduce la un tip de
entitate. Este posibil ca o asociere s prezinte ea nsi atribute, i aceste atribute se
reprezint prin elipse conectate la asocierea respectiv.
6
Capitolul 4. Schema logic
4.1. Noiuni teoretice
Proiectarea relaiilor
Mulimile de entiti puternice (normale) din diagrama E-A devin relaii, cu
atributele date de atributele entitilor. n astfel de relaii, cheia primar se definete fie ca o
cheie natural (combinaie de atribute care definesc n mod unic un tuplu al relaiei), fie ca
o cheie primar artificial. Mulimile de entiti slabe din diagrama E-A devin, de regul,
relaii aflate n asociere N:1 cu relaia coresunztoare mulimii de entiti de care acestea
depind. Pentru realizarea acestei asocieri, n relaia dependent se adaug o cheie strain
care refer cheia primar a relaiei referite (puternice). Cheia primar a unei relaiii
dependente poate fi o combinaie formata din atributul cheie strain si alte atribute care
asigur posibilitatea de identificare unic a unui tuplu, sau poate fi o cheie artificial.
Mulimile de entiti care sunt subtipuri ale unui tip de entitate dat devin relaii aflate n
asociere 1:1 cu relaia corespunztoare mulimii de entiti de tipul respectiv (supertip).
Pentru realizarea acestei asocieri, n relaia corespunztoare subtipului de entiti se
definete o cheie strain care refer cheia primar din relaia corespunztoare supertipului
de entitai; aceast cheie strain este n acelai timp i cheie primar n relaia corespunz-
toare subtipului de entiti.
Proiectarea asocierilor
Asocierea binar N:1 dintre dou mulimi de entiti puternice din diagrama E-A se
realizeaz n modelul relaional prin intermediul unei chei strine n prima relaie (cea cu
multiplicitatea N a asocierii) care refer cheia primar (sau o cheie candidat) din relaia
referit (cea cu multiplicitatea 1 a asocierii). Asocierea binar M:N dintre dou mulimi de
entiti din diagrama E-A se realizeaz n modelul relaional prin intermediul unei noi
relaii, numit relaie de asociere. Aceast nou relaie se afl n asociere M:1, respectiv
N:1 cu fiecare din cele dou relaii date prin intermediul a dou chei strine care refer
cheile primare (sau chei candidate) din relaiile date. Cheia primar a unei relaii de
7
asociere poate fi o cheie artificial sau poate fi compus din cheile strine care refer cele
dou relaii asociate, eventual mpreun cu alte atribute ale relaiei, care caracterizeaz
asocierea respectiv.
Asocierea binar 1:1 ntre dou mulimi de entiti puternice se poate transpune n
modelul relaional n dou moduri: fie prin intermediul unei chei strine (ca un caz
particular al unei asocieri N:1), fie printr-o relaie de asociere (ca un caz particular al unei
asocieri M:N).
Asocierea binara 1:1 dintre o mulime de entiti de un subtip i mulimea de entiti
supertip din diagrama Entitate-Asociere este tot o asociere binar cu raportul de
cardinalitate 1:1 ntre relaiile corespunztoare n modelul relaional. Acest tip de asociere
se realizeaz prin definirea n relaia corespunztoare subtipului de entiti a unei chei
strine care refer cheia primar din relaia corespunztoare supertipului de entiti; aceast
cheie strin este n acelai timp i cheie primar n relaia corespunzatoare subtipului de
entiti.
Asocierea multipl M:N:P:... dintre mai mult de dou mulimi de entiti din
diagrama E-A se realizeaz n mod asemntor cu asocierea binar, prin intermediul unei
noi relaii care se afl n asociere M:1, N:1, P:1 etc, cu fiecare din relaiile date. Aceast
asociere este realizat prin intermediul mai multor chei strine, fiecare cheie strain
referind cheia primar (sau o cheie candidat) dintr-una din relaiile date.
8
Capitolul 5. Normalizarea Bazelor de Date
5.1. Noiuni teoretice
9
A 4-a form normal (4NF Fourth Normal Form)
Definiie: Fie R un tabel relaional, X i Y dou submulimi de coloane ale lui R i Z = R
X Y mulimea coloanelor din R care nu sunt nici n X nici n Y. Spunem c exist o
dependen multivaloare Y de X sau c X determin multivaloare pe Y (notaia folosit:
X->->Y), dac, pentru orice valoare a coloanelor lui X, sunt asociate valori pentru
coloanele din Y care nu sunt corelate n nici un fel cu valorile coloanelor lui Z.
10
Capitolul 7. Sisteme de gestiune a bazelor de date: MySQL
7.1. Noiuni teoretice
a) SGBD ierarhic
Modelul ierarhic stocheaz datele n structuri de tip arbore. Se consider c ntre date exist
o relaie de tip printe-copil. Nivelul superior al arborelui (rdcina) poate avea orice
numr de descendeni care i ei, la rndul lor, au ali descendeni etc. n prezent, modelul
ierarhic este depit i nu se mai folosete aproape deloc.
c) SGBD relaional
Reprezint cea mai simpl structur pe care o poate avea o baz de date. Datele sunt
organizate n tabele formate din nregistrri i cmpuri. n acest caz bazele de date
relaionale sunt foarte flexibile i uor de mnuit. Cele mai populare baze de date
relaionale: Oracle, Acces, Informix i Sybase. Altele : SQL server i DB2.
11
obiecte complexe (date neconvenionale) (texte, grafice, hri imagini sunete); obiecte
dinamice (programe, simulri). Tehnologia este la nceput (Oracle 8 i 9)
7.2. Aplicaii
Comanda SELECT:
12
2. select id_produs, nume, pret from Produs;
Operatori Aritmetici:
13
Aliasuri de coloane:
14
Clauza ORDER BY:
Clauza WHERE:
Operatori relaionali:
Operatorii relaionali sunt: = egal; <> i != diferit; > mai mare; < mai mic; >= mai mare
sau egal; <= mai mic sau egal.
15
1. select * from Produs
where pret < 25;
Operatori SQL:
Exist patru tipuri de operatori SQL, care pot opera cu toate tipurile de date: BETWEEN. .
.AND. . . ; IN ; LIKE ; IS NULL.
16
select * from Angajat
where id_angajat between 18 and 24;
17
Funcii referitoare la mai multe nregistrri: count, min, max, cum, avg etc.
18
Subinterogri:
Comanda INSERT:
19
2. select * from Comanda
where id_comanda = 27;
Comanda UPDATE:
20
Capitolul 8. Concluzii
- Integritate ncorporat la mai multe nivele. Integritatea datelor este integrat n cadrul
modelului la nivel de cmp pentru a asigura precizia datelor. La nivel de tabel asigur
faptul c o nregistrare nu mai poate fi introdus nc o dat n baza de date, precum i
detectarea lipsei valorilor din cmpurile cheie primar. La nivel de relaie asigur
validitatea acestora ntre tabele. La nivel logic, asigur acurateea logic a datelor.
- Independena logic i fizic a datelor de programele aplicaie: nici modificrile
efectuate de ctre utilizator modelului logic al bazei de date, nici modificrile efectuate
de ctre productorul bazei de date implementrii fizice a acesteia, nu vor afecta
programele aplicaiilor care utilizeaz baza de date.
- Garanteaz consistena i precizia datelor: datele sunt consistente i precise datorit
multiplelor nivele de integritate ce pot fi introduse n baza de date.
- Extragerea cu uurin a datelor din baza de date. n urma comenzilor introduse de
ctre utilizator, datele din baza de date pot fi extrase fie dintr-un singur tabel, fie dintr-
o multitudine de tabele asociate prin intermediul relaiilor, ceea ce ofer posibilitatea
prezentrii datelor ntr-un numr nelimitat de moduri.
21
BIBLIOGRAFIE
22