Sunteți pe pagina 1din 14

Note de curs Baze de date

Co

t
h
g
i
r
py

 Desemneaz

relaia dintre dou entiti


software care partajeaz sarcini comune
ntr-o reea de calculatoare.
 Un program care poart denumirea de
client, iniiaz o cerere informaional
ctre un alt program, denumit server,
capabil s furnizeze rspunsul la cererea
clientului .
 Avantajul principal:
accesul permanent la date din orice locaie a unei

instituii sau organizaii, prin conectarea tuturor


aplicaiilor client la o singur baz de date.

Ctlin Tudor

Note de curs Baze de date

 Clientul

este entitatea care


asigur interfaa cu utilizatorul,
lanseaz cereri de executare a unor operaii ctre o
entitate server
afieaz datele primite de la server ntr-un format
inteligibil pentru utilizator.

 Serverul

este entitatea care


Recepioneaz cererile lansate de clieni,
interpreteaz comenzile,
execut operaiile necesare
furnizeaz rspunsul ctre client.

Co

t
h
g
i
r
py

Exemplificarea generic a relaiei


Client-Server

Ctlin Tudor

Note de curs Baze de date

Exemplu de utilizare a tehnologiei


Client Server ntr-o organizaie

Co

t
h
g
i
r
py

 Client-Server

se bazeaz pe trei

componente:
logica prezentrii (responsabil cu interfaa grafic expus

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

funcie de modul de grupare


componentelor Client-Server, exist:

Arhitectura client-server pe dou nivele (two tiers)


Arhitectura client-server pe trei nivele (three tiers)
Arhitectura client-server multi-nivel (n tiers)

Ctlin Tudor

Note de curs Baze de date

Tipologia sistemelor Client-Server


Arhitectura client-server pe dou nivele (two tiers)

Logica prezentrii: Calculatorul Client


Logica datelor: Calculatorul Server
Logica procesrii: mprit ntre Client i Server

Co

t
h
g
i
r
py

Tipologia sistemelor Client-Server

Arhitectura client-server pe trei nivele (three tiers)

Logica prezentrii: Calculatorul Client


Logica datelor: Calculatorul Server
Logica procesrii: Serverul de aplicaie

Ctlin Tudor

Note de curs Baze de date

Tipologia sistemelor Client-Server


Arhitectura client-server multi-nivel (n tiers)

Logica prezentrii: Calculatorul Client


Logica datelor: Calculatorul Server
Logica procesrii: Server de aplicaie i Server Web

Co

t
h
g
i
r
py

SQL SERVER 2012 Prezentare general


SQL Server 2012:
o suit software oferind posibilitatea gestionrii bazelor
de date de foarte mari dimensiuni.
compatibil cu cele mai recente tehnologii existente.

SQL Server 2012 este disponibil n mai multe ediii ce


difer prin:
facilitile oferite,
resursele hardware capabile s le exploateze (numr de
procesoare, memorie RAM, etc.)
politica de liceniere (numr de utilizatori, costuri
licene, etc)

Ctlin Tudor

Note de curs Baze de date

SQL SERVER 2012 Versiuni (I)


Enterprise
toate instrumentele necesare privind administrarea i
securitatea datelor precum i un set complet de instrumente
pentru dezvoltarea aplicaiilor business intelligence.

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.

SQL Server 2012 Business Intelligence Edition

t
h
g
i
r
py

destinat n special pentru a deservi aplicaiile pentru asistarea


deciziei n cadrul unei companii.

Co

SQL SERVER 2012 Versiuni(II)


Web
indicat pentru administrarea bazelor de date ce
urmeaz a fi exploatate n mediul online.

SQL Server Express


soluie oferit gratuit pentru utilizatorii ce doresc s
realizeze aplicaii client pentru sisteme de mici
dimensiuni sau pentru a nva

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.

Ctlin Tudor

Note de curs Baze de date

SQL Server 2012 Componente


SQL Server Database Engine
este componenta nucleu
responsabil cu memorarea, procesarea datelor stocate
i asigurarea securitii acestora
Analysis Services
Suit de instrumente software pentru analiza datelor i
interpretarea rezultatelor
Reporting Services
componentele necesare pentru crearea i gestionarea
rapoartelor
Integration Services
set de aplicaii i obiecte programabile ce pot fi utilizate
n copierea, mutarea sau transformarea datelor ntre
diferite destinaii

Co

t
h
g
i
r
py

Tipuri de date n SQL Server


 Categorii de tipuri de date:
 Numere exacte
 iruri de caractere non-Unicode
 iruri de caractere Unicode
 Numere aproximative
 iruri de caractere binare
 Dat i or
 Alte tipuri de date

Ctlin Tudor

Note de curs Baze de date

Tipuri de date n SQL Server


 Numere exacte
 Numere ntregi

 Numere aproximative
 Float

 bigint

 Real

 int

 iruri de caractere non-

 smallint
 tinyint

Unicode
 char

 bit

 Numere cu zecimale
 Decimal

 varchar
 text

 iruri de caractere Unicode

 Numeric
 Money
 Smallmoney

 nchar
 nvarchar
 ntext

Co

t
h
g
i
r
py

Tipuri de date n SQL Server


 iruri de caractere

 Alte tipuri de date

binare

 cursor

 binary

 uniqueidentifier

 varbinary

 xml

 image

 table

 Dat i or
 date
 datetime
 datetime2
 smalldatetime
 time

Ctlin Tudor

Note de curs Baze de date

Crearea tabelelor n SQL Server 2012


 Tabel: obiect din cadrul bazei de date utilizat pentru a stoca

informaii structurate conform definiiei cmpurilor


existente.
 Reprezint elementul de tip nucleu al bazei de date pe care
se bazeaz celelalte obiecte ale bazei de date.
 Tabelele sunt grupate n cadrul grupului Tables.
 Structura unui tabel: - cmpuri (columns), chei (primare,
externe), restricii (constraints), declanatori (triggers),
indeci (indexes).

Co

t
h
g
i
r
py

Crearea tabelelor n SQL Server 2012 (II)


 Instruciuni pentru crearea tabelelor SQL Server:
 Forma minimalist:

CREATE TABLE Nume_tabel


(
nume_cmp1 tip_data(dimensiune) [restricie cmp],
nume_cmp2 tip_data(dimensiune) [restricie cmp],
nume_cmp3 tip_data(dimensiune) [restricie cmp],
....,
Nume_camp_cheie_externa
CONSTRAINT cheie_externa REFERENCES nume_tabel_extern (cheie primar
tabel extern)
);

Ctlin Tudor

Note de curs Baze de date

Crearea tabelelor n SQL Server 2012 (III)


 Exemplu:

CREATE TABLE [dbo].[Produse](


[IdProdus] [int] NOT NULL,
[CodIntern] [nvarchar](255) NULL,
[Denumire] [nvarchar](255) NULL,
[Cantitate per unitate masura] [nvarchar](255) NULL,
[Descriere] [nvarchar](255) NULL,
[TermenValabilitate(zile)] [int] NULL,
[Perisabil] [bit] NOT NULL,
[CodCategorie] [int] NULL,
CONSTRAINT PK_Produs PRIMARY KEY CLUSTERED (IdProdus),
CONSTRAINT FK_Categorie FOREIGN KEY (CodCategorie),
REFERENCES dbo.CategoriiProduse (CodCategorie)

Co

t
h
g
i
r
py

Instruciuni pentru modificarea i


tergerea tabelelor din baza de date
 Instruciunea ALTER TABLE modificarea structurii sau

definiiei tabelului:
ALTER TABLE [dbo].[Produse] WITH CHECK ADD CONSTRAINT [Produse_FK]
FOREIGN KEY([CodCategorie])
REFERENCES [dbo].[CategoriiProduse] ([CodCategorie])
ON DELETE CASCADE
GO

 Intruciunea DROP TABLE elimin definitiv o tabel din cadrul

bazei de date
DROP TABLE dbo.Produse;

Ctlin Tudor

10

Note de curs Baze de date

Tipuri de tabele n SQL Server 2012


 Tabele permanente ale bazei de date sunt cele obinute n urma

definirii modelului relaional formnd baza de stocare pentru datele


reinute pe server;
 Tabele temporare sunt tabele locale ce au existen de via
scurt, definit pe perioada sesiunii n care utilizatorul care le
creeaz este conectat.
 Sunt automat distruse (implicit) la terminarea procedurii n care au fost

utilizate temporar.
 Se regsesc n baza de date cu numele tempdb implicit definit pe server
 Tipuri de tabele temporare:
 globale (disponibile tuturor utilizatorilor i tuturor sesiunilor de lucru)
 locale (disponibile doar utilizatorului curent i sesiunii n care acesta lucreaz)

Co

t
h
g
i
r
py

Tabele temporare - exemple


 Crearea unui tabel temporar local:
create table #Enumerare
(
NumeDepartament varchar(20),
CodDepartament int
)

Crearea unui tabel temporar global:


create table ##SesiuniDeLucru
(
NumeUtilizator nvarchar(50),
IdSesiune int
)

Ctlin Tudor

11

Note de curs Baze de date

Asocieri ntre tabele


 Obiecte care grupeaz totalitatea legturilor ce se creeaz ntre

entitile (tuplurile) a dou tabele (asocieri binare) sau


aparinnd unei singure tabele (asocieri unare).
 Au rolul de a permite accesarea mai multor tabele n acelai
timp.
 Asocierile pot avea:
 caracter permanent: completeaz structura bazei de date i sunt

ataate tabelelor existente, introducnd restricia de integritate


referenial.
 caracter temporar: utilizate n extragerea datelor din baza de
date, fiind prezente doar n obiectele de tip cerere (interogare).

Co

t
h
g
i
r
py

Implementarea restriciilor asupra datelor


 Restricii
Restricii privind integritatea referenial
 Definesc constrngerile legate de relaia dintre cheia

primar i cheia extern


 Restricii de domeniu
 Definesc reguli impuse asupra datelor prin intermediul

cmpurilor din tabele.


 Declanatori (proceduri de tip Trigger)
Trigger)
 Pot fi utilizate pentru implementarea de restricii complexe

care privesc date din mai multe tabele.

Ctlin Tudor

12

Note de curs Baze de date

Specificarea vizual a restriciilor de domeniu la


nivelul tabelelor

Co

t
h
g
i
r
py

Exemplu: Implementarea restriciei privind


datele din factur

Ctlin Tudor

13

Note de curs Baze de date

Restricii privind integritatea referenial

In fereastra de propriet
proprieti ale asocierii
se pot configura restric
restriciile de integritate

Co

Ctlin Tudor

t
h
g
i
r
py

14

S-ar putea să vă placă și