Documente Academic
Documente Profesional
Documente Cultură
t
h
g
i
r
py
Co
Fr calculator
Cu calculator,
fr baze de date
Cu baze de date
Ctlin Tudor
t
h
g
i
r
py
Co
Structuri de date:
Ctlin Tudor
Integritatea datelor:
Datele trebuie s respecte diverse restricii i corelaii
logice ntre ele, restricii ce mpiedic apariia erorilor
logice sau structurale la nivelul bazei de date.
t
h
g
i
r
py
Co
Ctlin Tudor
t
h
g
i
r
py
Co
Ctlin Tudor
t
h
g
i
r
py
Co
Ctlin Tudor
Flexibilitate
Performate crescute in procesarea datelor
Facilitati complexe de administrare
Instrumente specifice pentru analiza datelor
(implementarea tehnologiilor Datawarehouse si
Dataminining)
Securitate sporita a datelor
Scalabilitate
Desemneaz
t
h
g
i
r
py
Co
Clientul
Serverul
Ctlin Tudor
t
h
g
i
r
py
Co
Ctlin Tudor
Client-Server
utilizatorilor);
logica procesrii (responsabil cu gestionarea i aplicarea
tuturor regulilor legate de managementul i prelucrarea datelor);
logica stocrii datelor (ce va gestiona pstrarea i extragerea
datelor).
n
t
h
g
i
r
py
Co
Ctlin Tudor
t
h
g
i
r
py
Co
Ctlin Tudor
t
h
g
i
r
py
Co
Standard
toate instrumentele pentru administrarea bazelor de date i
pentru programare
Developer
dedicat dezvoltatorilor de aplicaii. Prezint toate facilitile
disponibile n varianta Enterprise dar nu este destinat
utilizrii ca server productiv, ci doar pentru teste i
programare.
Ctlin Tudor
10
Compact
soluie gratuit pentru gestionarea bazelor de date
destinate aplicaiilor de tip desktop, a aplicaiilor
pentru dispozitive mobile sau de tip client web pe
platforme Windows.
t
h
g
i
r
py
Co
Ctlin Tudor
11
t
h
g
i
r
py
Co
Numere cu
zecimale
Decimal
Numeric
Money
Smallmoney
Numere aproximative
Float
Real
Unicode
char
varchar
text
iruri de caractere
Unicode
nchar
nvarchar
ntext
Ctlin Tudor
12
binare
cursor
binary
uniqueidentifier
varbinary
xml
image
table
Dat i or
date
datetime
datetime2
smalldatetime
time
t
h
g
i
r
py
Co
Ctlin Tudor
13
t
h
g
i
r
py
Co
Ctlin Tudor
14
t
h
g
i
r
py
Co
definit pe server
Ctlin Tudor
15
t
h
g
i
r
py
Co
Ctlin Tudor
16
t
h
g
i
r
py
Co
Ctlin Tudor
17
t
h
g
i
r
py
Co
Ctlin Tudor
18
t
h
g
i
r
py
Co
Ctlin Tudor
19
Vocabularul SQL:
Instruciuni permit execuia anumitor aciuni (CREATE,
ALTER, SELECT, UPDATE, DELETE, etc.)
Clauze specific argumentele unei instruciuni (FROM,
WHERE, ORDER BY, etc.)
Funcii efectueaz prelucrri asupra datelor (care devin
argumente sau parametrii) n scopul afirii unor rezultate
specifice (SUM, ROUND, UPPER, LEFT, GETDATE, ISNULL
etc.).
Operatori acioneaz asupra datelor (care devin operanzi),
permind definirea unor expresii, calcule, etc. (aritmetici, de
comparare, logici, de concatenare, etc.).
t
h
g
i
r
py
Co
Ctlin Tudor
20
t
h
g
i
r
py
Co
Ctlin Tudor
21
t
h
g
i
r
py
Co
Functia CONVERT
Sintaxa:
CONVERT (tip_date_rezultat [(lungime)], expresie [, stil_coversie])
tip_date_rezultat tipul de date in care se converteste expresie
lungime lungimea tipului de date, doar pentru tipurile de date care suporta
expresie orice expresie admisibila SQL, al carei rezultat se va converti in
tip_date_rezultat
stil_conversie cod folosit atunci cand se doreste utilizarea unor modele de conversie SQL;
Ctlin Tudor
Cod
101
mm/dd/yyyy
103
dd/mm/yyyy
108
hh:mi:sec
113
22
t
h
g
i
r
py
Co
Ctlin Tudor
23
Functia GETDATE()
Exemplu: data si ora serverului
returneaza data si ora serverului
t
h
g
i
r
py
Co
Functia NEWID()
Ctlin Tudor
24
DAY (expresie)
MONTH(expresie)
YEAR(expresie)
t
h
g
i
r
py
Co
Functia DATEPART
Sintaxa:
Ctlin Tudor
Informatie_calendaristic
(valori uzuale)
Rezultat
year
An
month
Luna
day
Zi
dayofyear
Numar zi din an
quarter
Trimestru
week
hour
Ora
minute
Minutele
second
Secundele
25
t
h
g
i
r
py
Co
Functia DATEDIFF
Sintaxa:
Ctlin Tudor
26
Functia DATEADD
Sintaxa:
t
h
g
i
r
py
Co
Ctlin Tudor
27
t
h
g
i
r
py
Co
Ctlin Tudor
28
t
h
g
i
r
py
Co
Ctlin Tudor
29
Pasul 1: Filtrarea
nregistrrilor
Pasul 2: Gruparea i
agregarea datelor
t
h
g
i
r
py
Co
Ctlin Tudor
30
t
h
g
i
r
py
Co
Afiai numrul total de pli, numrul total de bonuri de cas i numrul distinct al bonurilor de
cas, tiind c anumite bonuri de cas sunt achitate prin mai multe tipuri de pli i alte bonuri de
cas nu sunt achitate nc.
Select
FROM
LEFT JOIN
Ctlin Tudor
Count(*) as NrTotalInregistrari,
COUNT( P.NrBonCasa ) as NrBonuriCasa,
COUNT(Distinct P.NrBonCasa ) as NrBonuriCasaDistincte
BonuriDeCasa BC
Plati P on P.NrBonCasa=BC.NrBonCasa
31
t
h
g
i
r
py
Co
NTile(NrGrupe)
Permite
Clauza
Ctlin Tudor
32
t
h
g
i
r
py
Co
Ctlin Tudor
33
ISDATE (expresie )
evalueaz dac o expresie poate fi evaluat ca o dat
ISNUMERIC(expresie)
evalueaz dac o expresie poate fi evaluat ca valoare
t
h
g
i
r
py
Co
<sir de caractere> irul sau tiparul ce urmeaz a fi regsit n cadrul expresiei pe care
se efectueaz cutarea
[^ ] - orice caracter n afar de cele din enumerarea sau intervalul specificat dup
simbolul ^ intre paranteze.
Ctlin Tudor
34
de la N la R.
1978.
Select * from Vanzatori
WHERE CNPVanzator like '_[^7][^8]%'
t
h
g
i
r
py
Co
[ELSE expresie_Rezultat_F]
END
CASE
WHEN expresie_logica1 THEN expresie_Rezultat
[WHEN expresie_logica2] THEN expresie_Rezultat
[ELSE expresie_Rezultat_F]
END
Ctlin Tudor
35
t
h
g
i
r
py
Co
Ctlin Tudor
36
t
h
g
i
r
py
Co
Ctlin Tudor
37
t
h
g
i
r
py
Co
INSERT INTO nume-tabela SELECT nume-atribut1, numeatribut2, FROM nume-tabela-sursa [WHERE Conditii ]
Exemplu: S se adauge n tabela Parteneri toi Furnizorii din localitatea
Bucureti
INSERT INTO Parteneri SELECT * FROM Furnizori WHERE Localitate=Bucureti
Ctlin Tudor
38
t
h
g
i
r
py
Co
Ctlin Tudor
39
t
h
g
i
r
py
Co
Ctlin Tudor
40
Conceptul de tranzacie
O tranzacie este o singur operaiune sau set de
t
h
g
i
r
py
Co
Conceptul de tranzacie
O tranzacie poate fi:
Salvat
Derulat
Ctlin Tudor
41
Tranzacii - Exemplificare
t
h
g
i
r
py
Co
Ctlin Tudor
42
SQL.
Roluri
utilizatori
t
h
g
i
r
py
Co
Server
Tabel 1
Vedere user 1
CmpR1
CmpR2
CmpR3
Tabel 2
Vedere user 2
Ctlin Tudor
43
Personalizarea datelor:
Utilizatorii vor vedea aceleai date, dar prezentate din
perspective diferite.
t
h
g
i
r
py
Co
Tipuri de vederi:
anterior.
Ctlin Tudor
44
t
h
g
i
r
py
Co
Selectare
tabele surs
Ctlin Tudor
45
Grila de cmpuri
t
h
g
i
r
py
Co
Selectarea cmpurilor ce
formeaz vederea
Ctlin Tudor
46
t
h
g
i
r
py
Co
S se creeze o vedere a tabelelor care s afieze pentru fiecare bon de cas emis n
anul 2011 valoarea total i numrul de produse din cadrul acestuia.
Pasul 1:
Selectarea
tabelelor surs
Ctlin Tudor
47
t
h
g
i
r
py
Co
S se creeze o vedere a tabelelor care s afieze pentru fiecare bon de cas emis n
anul 2011 valoarea total i numrul de produse din cadrul acestuia.
Pasul 3: Precizarea
gruprilor de date i
aplicarea funciilor de
grupare specifice
Ctlin Tudor
48
t
h
g
i
r
py
Co
Ctlin Tudor
49
Proceduridesistem:aucaracteradministrativi
informaionalnlegturcuobiectelebazeide
date,fiindstocatedebazadedategeneric
numitMaster.
Proceduridefinitedeutilizator:suntcreaten
scopuldearealizadiverseoperaiincadrul
bazeidedatecanecesitateaunuigrupde
utilizatori:
SELECT,INSERT,UPDATE,DELETE;
Prelucrriasupradatelordindiferitetabelei
afiarearezultatului;
Introducereaderestriciidevalidaresuplimentare;
Trimitereademesajeprinemail,etc.
t
h
g
i
r
py
Co
Creareauneiproceduristocate:
Vizual,prininterfaaSSMS;
PrincomandaSQL:
CREATEPROC |Procedure<<NumeProcedur>>
[ListParametri]
AS
InstruciuniSQL
Modificareauneiproceduristocate:
PrincomandaSQL:ALTERPROC| Procedure
tergereauneiproceduristocate:
PrincomandaSQL:DROPPROC| Procedure
Ctlin Tudor
50
Pasul1:Generareauneinoi
proceduristocate
CTRL+SHIFT+M
t
h
g
i
r
py
Co
Ctlin Tudor
Pasul2:Precizarea
instruciunilorSQLaferente
proceduriistocate
51
Selectareatabelelorsurs
t
h
g
i
r
py
Co
Construireainterogriideselecie
aferenteproceduriistocate
Ctlin Tudor
52
Executareacoduluidecrearea
proceduriistocatepeserver
t
h
g
i
r
py
Co
Procedura parametrizat:
prezintabilitateadeatransmitevaloareaunei
condiiiprinintermediulunuiparametru;
Permiteprintrosingurdefiniieacoperireanevoilor
informaionalealemaimultorutilizatori.
Moddedefinire:
CREATEPROC<nume_procedura>
@<Nume_parametru> <tip_de_date> [OUTPUT]
AS
<instruciuniSQL>
Ctlin Tudor
53
Ssecreezeoprocedurstocatprincaresseafiezetoi
vnztoriiangajaintrunanprecizatcaparametru:
CREATEPROCusp_VanzatoriParametru
@AnAngajare smallint
AS
BEGIN
Select
Nume,Prenume,DataAngajarii
FROM
Vanzatori
WHERE
YEAR(DataAngajarii)=@AnAngajare
t
h
g
i
r
py
END
Co
Declarare:
Atribuirevalorivariabil:
Set @NumeVariabil = Valoare
sau
Select @NumeVariabil=Valoare
Ctlin Tudor
54
Sserealizezeoprocedurstocatcaresafiezesumacomisioanelor
totalecuveniteunuivnztoracruimarcsevaprecizaprinparametru.
t
h
g
i
r
py
Co
Sserealizezeoprocedurstocatcaresafiezentrovariabilde
ieireprocentulcomisionuluiunuivnztorspecificatnprealabil
Ctlin Tudor
55
EXECnume_procedur
EXECnume_procedur [val_param1,
val_param2,..]
Exec usp_ListaVanzari
Exec usp_VanzatoriParametru 2007
Exec usp_VanzatoriParametru 2005
Identiccu
Exec usp_VanzatoriParametru @AnAngajare= 2005
t
h
g
i
r
py
Co
Reguli:
Enumerareaparametrilordeintraresevafaceprin
separareaacestoraprinvirgul;
Definireaparametrilordeintraresepoaterealizaprin
imbricareaparametrilorobligatoriicuceiopionali;
Laexecutareaproceduriistocatesevainecontde
ordineancareparametriiaufostprecizaidoardac
nusevaspecificanmodexplicitnumeleparametrului.
Cndunparametruopionalaparenainteaaltor
parametriobligatorii,nespecificareauneivaloripentru
acestadeterminutilizareanumelorcelorlali
parametrinprecizareavaloriloracestorasubforma:
@NumeParametru=Valoare.
Ctlin Tudor
56
Utilizareamaimultorparametrisimultan
Definire:
Apelare:
t
h
g
i
r
py
Co
Ctlin Tudor
57
Funciidetipscalar(scalarfunctions)
Realizeazoprelucrareconformunuialgoritm
conceputdeutilizatorinndcontdevalorile
parametrilorspecifici.
Returneazosingurvaloareprezentnduntipde
datscalar(predefinitsaudefinitdeutilizator)
t
h
g
i
r
py
Co
Acceptzerosaumaimuliparametri
Returneazosingurvaloare
Constndoupri:
Antetulfuncieincaresedefinescnumelefunciei,listaparametrilori
tipuldedatreturnatdefuncie.
Corpulfuncieincareestedefinitalgoritmuldecalculalvaloriirezultat
caresetermincuclauzaRETURN.
Apelareafuncieipoatefifcutncadrul
instruciunilorSQLnclauzeprecumSELECT,
WHERE,GROUPBY,HAVINGsauORDERBY.
Serecomandatuncicndunanumitcodsau
secvenSQLesteutilizat/nmaimulte
proceduri.
Pentruapelareaeisevautilizainclusivnumele
proprietarului.
Ctlin Tudor
58
Pentrumodificare:
ALTERFUNCTION.....
Pentrutergere:
DROPFUNCTION.....
t
h
g
i
r
py
Co
Ctlin Tudor
59
A.VariantaINLINE.
sereturneazuntabelcarezultat,frafi
nevoies sedefineascstructuraacestuia
nusuntpermiseBEGIN.END
estepermisosingurfrazSQLdetipSELECT
fiecarecmpdininterogareasurstrebuies
aibunnume
clauzaORDERBYestepermisnumaidacse
utilizeazmpreuncuTOP
nusuntpermiseprelucrricomplexe
Coloanelepecarefunciadetiptabelleva
returnasuntdictatedeinstruciuneaSELECT
carestlabazaei,
t
h
g
i
r
py
Co
A.VariantaINLINE.
CREATEFUNCTION [numeproprietar.]nume_funcie([@parametru_1AStip_de_date],
[@parametrul_nAStip_de_date])
RETURNS TABLE
As
RETURN (fraza_SQL_SELECT)
Ctlin Tudor
60
t
h
g
i
r
py
Co
B.variantaMULTIINSTRUCIUNE
sereturneazuntabelrezultat
estenecesarssedefineascexplicitstructura
tabeluluirezultat
poateincludeprelucrricomplexe
Ctlin Tudor
61
B.variantaMULTIINSTRUCIUNE
CREATEFUNCTION [numeproprietar.]nume_funcie
([@parametru_1AStip_de_date],.[@parametrul_nAStip_de_date])
RETURNS @variabila_ieireTABLE
(cmp_1tipdedate,cmp_Ntipdedate)
AS
BEGIN
INSTRUCIUNISQL
RETURN
END
t
h
g
i
r
py
Co
Ctlin Tudor
62