Documente Academic
Documente Profesional
Documente Cultură
i
C
o
m
e
*
i
;
)
r
o
d
u
s
e
$
e
c
i
i
C
o
m
e
n
*
i
v
i
n
d
i
d
e
n
p
r
o
d
u
s
d
e
n
J
c
o
m
a
n
d
a
d
e
n
J
p
r
o
d
u
s
p
r
e
t
p
u
n
c
t
e
c
a
n
t
i
t
a
t
e
d
e
n
J
p
r
o
d
u
s
p
u
n
c
t
e
ma
s
a
s
u
m
a
d
a
t
a
J
c
o
m
e
n
*
i
i
d
e
s
c
r
i
e
r
e
d
e
n
J
s
e
c
t
i
e
d
a
t
a
J
n
a
t
e
r
i
i
n
u
m
e
7
p
r
e
n
u
m
e
f
u
n
c
i
e
Modelul relaional al ba*ei de date %riflame
1
Modelul relaional al ba*ei de date e compus sin - tabele7 precum i ( vederi7 iat structura lor:
Tabelul +ateJconsultanti cu c8mpurile:
id!consultant5codul consultantului6
functie 5funcia6
nume "numele consultantului6
prenume 5prenumele consultantului6
#en 5se4ul6
data!nasterii 5data naterii6
buletin 5numrul buletinului6
parola "parola consultantului de intrare 8n sistem6
i cheile de inde4are:
id!consult care este cheie primar
idcons!par o cheie regular compus din cimpurile idJconsultant i parola
2
Tabelul Comen*i e alctuit din c8mpurile:
id!comanda 5codul comen*ii6
id!consultant 5codul consultantului6
data!comenzii 5data efecturii comen*ii6
suma 5suma comen*ii6
masa 5masa comen*ii6
pb 5punctele acumulate 8n comand6
cantitate!produse5cantitatea de produse din comand6
i cheia de inde4are
id!consultant Kcheie primar
/
Tabelul Comen*iJproduse cu c8mpurile:
id!comanda
id!produs 5codul produsului comandat6
cantitatea 5cantitatea produsuli comandat6
i cheile de inde4are de tip regular:
id!produs
id!comanda
0
Tabelul )roduse:
id!produs 5codul produsului6
den!produs5denumirea produsului6
pret 5preul produsului6
pb 5punctele pentru comandarea produsului6
id!sectie 5codul seciei crei aparine produsul6
i cheile de inde4are:
cod!produs K cheie primar
id!sectie; secundar
"!
i ( vederi
$uma
)uncte
""
Cantitate
$ormalizarea tabelelor
.ormali*are este procesul prin care se elimin redundana datelor 8n proiectul
ba*ei de date i se construiete un model de ba* de date care susine diverse
cerine funcionale i structuri alternative ale ba*ei de date#
Ea elaborarea acestei 3+ au fost aplicate urmtoarele trei 'orme .ormale:
Forma $ormal% &'Toate atributele trebuie specificate o singur dat 8n
tabele#
Forma $ormal% ( ' Atributele depind 8n 8ntregime de identificatorul unic al
entitii pe care o descrie7adic depind e4clusiv de o cheie principal# .u se
utili*ea* tabele 8n care atributele s nu depind e4clusiv de o singur cheieC
Forma $ormal% ) ''iecare tabel posed o singur cheie primar7 iar datele
din tabel depind e4clusiv de cheia primar a tabelei#
"
escrierea fizic% a tabelelor:
Tabelul ate!consultan*i
Tabelul Comenzi
"(
Tabelul Comenzi!produse
Tabelul Produse
",
Tabelul Sectii
@ederea $uma
"-
@ederea )uncte
@ederea Cantitate
"1
Securitatea bazei de date
Autentificarea
)e seama programatorului rm8ne securi*area ba*ei de date# Ea discreia lui rm8ne
stabilirea proteciei contra accesului nedorit care ar putea interveni din partea
utili*atorilor# +eobicei se stabilesc grupuri de utili*atori7fiecare av8nd drepturi de
acces i manipulare a datelor difereniate# Astfel 8n ba*a de date %riflame am
difereniat accesul administratorului ba*ei de date care are totalitatea de drepturi in
manipularea ba*ei de date i al consultanilor companiei care au privilegiile
necesare doar activitii lor#
Accesul are loc prin forma:
$e introduce codul login;ul administratoruluiLconsultanilor
$e introduce parola utili*atorului
Clic: pe buton pentru autentificare
"2
Integritatea referenial
Ea fel de protecia ba*ei de date ine integritatea referenial a relaiilor dintre
tabele: actuali*area7 stergerea i inserarea datelor in cimpurile tabelului;parinte
care se rsfr8ng i asupra tabelului;copil#
Astfel pentru a garanta o e4ploatare a ba*ei de date c8t mai corect7reuit i fr
erori7 programamtorul trebuie s stabileasc restriciile de integritate referenial
pentru Mpdate
+elete
Insert
"/
atele de intrare 8n ba*a de date au fost:
Introduse direct de la tastatur
Introduse din programe utili*8nd informaia din vederi:
$uma#prg :
Use Comenzi IN 10 ALIAS comenzi
USE view1 IN 7 ALIAS suma1
SELECT 10
scan
SELECT 7
GO top
DO WILE not EO!"#
I! comenzi$i%&coman%a'suma1$i%&coman%a
(ep)ace comenzi$suma WIT suma1$suma
ENDI!
s*ip
ENDDO
SELECT 10
ENDSCAN
)uncte#prg :
SELECT comenzi
USE view+ IN , ALIAS puncte1
SCAN
SELECT ,
GO TO-
DO WILE NOT EO!"#
I! comenzi$i%&coman%a'puncte1$i%&coman%a
(ep)ace comenzi$p. WIT puncte1$puncte
ENDI!
S/I-
ENDDO
SELECT comenzi
ENDSCAN
Cantitate#prg :
SELECT comenzi
USE view0 IN 1 ALIAS cantitate1
SCAN
SELECT 1
GO TO-
DO WILE NOT EO!"#
I! comenzi$i%&coman%a'cantitate1$i%&coman%a
(ep)ace comenzi$cantitate&p(o%use WIT cantitate1$cantitate
ENDI!
S/I-
ENDDO
SELECT comenzi
ENDSCAN
"0
ate de ie+ire pot fi sub form de rapoarte7 etichete7 interogri7 forme#
Intero#area ",uer-. repre*int procesul de e4tragere a datelor dintr;o ba* de date i de
pre*entare a lor 8n vederea utili*rii# )oate fi privit ca un set specific de instruciuni care
permite e4tragerea repetat a anumitor date# In @isual 'o4 )ro7 interogrile de tip DuerF sunt
implementate prin comen*i $DE $EEECT salvate ca fiiere te4t cu e4tensia #Npr#
Interogarea ce afisea* comen*ile pe luna mai:
Codul de program al acestei interogri este:
SELECT Date&consu)tanti$nume2 Date&consu)tanti$p(enume23
Comenzi&p(o%use$i%&coman%a2 Comenzi$suma41$7 AS suma&)ei3
!5O6 3
o(i7)ame8Comenzi 3
INNE5 9OIN o(i7)ame8comenzi&p(o%use 3
ON Comenzi$i%&coman%a ' Comenzi&p(o%use$i%&coman%a 3
INNE5 9OIN o(i7)ame8Date&consu)tanti 3
ON Date&consu)tanti$i%&consu)tant ' Comenzi$i%&consu)tant3
WE5E 6ONT"Comenzi$%ata&comenzii# ' " : #3
AND ;EA5"Comenzi$%ata&comenzii# ' " +010 #3
O5DE5 <; Date&consu)tanti$nume2 Comenzi&p(o%use$i%&coman%a
!
Interogarea ce afiea* lista comen*ilor 8n sum mai mare de !! lei:
Re*ultatul acestei interogri este:
"
Interogarea ce afiea* lista produselor din secia )arfumerie:
SELECT -(o%use$i%&p(o%us2 -(o%use$%en&p(o%us2 Sectii$%en§ie3
!5O6 3
o(i7)ame8Sectii 3
INNE5 9OIN o(i7)ame8-(o%use 3
ON Sectii$i%§ie ' -(o%use$i%§ie3
WE5E Sectii$i%§ie ' " = #