Documente Academic
Documente Profesional
Documente Cultură
TEXT secven simpl de caractere care poate include cifre, litere i simboluri. Un
cmp text poate conine pn la 255 de caractere.
Relaia One-To-Many Este cea mai frecvent n proiectarea bazelor de date ACCESS
i are urmtoarele caracteristici:
Dac T1 (Tabela CLIENTI) i T2 (Tabela Operatii) sunt dou tabele n care exist o rela ie
One-To-Many atunci: Tabela T1 este tabela primar iar T2 este tabela legat. Cheia de legtur
din tabela primar trebuie s fie declarat cheie primar. Tabela legtur poate avea cheie
primar dar diferit de cea de legtur. Fiecrei nregistrri din tabela One i corespunde 0, 1 sau
mai multe nregistrri din tabela Many; Fiecrei nregistrri din tabela Many i corespunde cel
mult o nregistrare din tabela One.
Relaia One-To-One Este utilizat mai rar n proiectarea bazelor de date ACCESS i
are urmtoarele caracteristici:
Cheile de legtur din ambele tabele sunt chei primare; fiecrei nregistrri din una din tabele i
corespunde cel mult o nregistrare din cealalt. Una din tabele este primar iar cealalt legat.
Doua tabele se afl n relaia Many-to-Many dac fiecrei nregistrri din prima tabel i
corespunde 0,1 sau mai multe nregistrri din a doua i invers. n ACCESS astfel de rela ii pot fi
introduse prin crearea unei a treia tabele, numit de legtura (de jonc iune) cu existen a a dou
relaii de tip One-to-Many.
Indexarea tabelelor
Pentru un tabel, se poate preciza o cheie primar i una sau mai multe chei secundare.
O cheie este format din una sau mai multe coloane.Valorile unei chei se pstreaz ntr-un index.
Rolul unui index este ca al unui catalog ntr-o bibliotec. Orice operaie de actualizare ntr-un
tabel genereaz i actualizarea indecilor. n fereastra Indexes, se pot gestiona informaiile
necesare unui index (ordine Ascending/Descending, Unique, Primary, Ignore Nulls).
nou categorie de baze de date numite obiect-relaionale, care combin caracteristicile modelului
relaional cu caracteristicile modelului orientat obiect.
Modelul de date relaional (Relational Model) se bazeaz pe noiunea de relaie din
matematic, care corespunde unei entiti de acelai tip i are o reprezentare uor de neles i de
manipulat, ce const dintr-un tabel bidimensional, compus din linii i coloane. Fiecare linie din
tabel reprezint o entitate i este compus din mulimea valorilor atributelor entitii respective,
fiecare atribut corespunznd unei coloane a tabelului.
Modelul de date orientat obiect (Object Model) este un concept unificator n tiina
calculatoarelor, fiind aplicabil n programare, n proiectarea hardware, a interfeelor, a bazelor de
date etc. Sistemele de baze de date orientate obiect se bazeaz pe limbaje de programare
orientate obiect cu capaciti de persisten, n care datele sunt independente de timpul de via al
programelor care le creeaz sau acceseaz, prin memorare pe suport magnetic (disc).
Modelul de date obiect-relaional (Object-Relational Model) reprezint extinderea
modelului relaional cu caracteristici ale modelului obiect, extindere necesar pentru realizarea
bazelor de date care definesc i prelucreaz tipuri de date complexe.
n esen, modelul obiect-relaional pstreaz structurarea datelor n relaii (reprezentate
ca tabele), dar adaug posibilitatea definirii unor noi tipuri de date, pentru domeniile de valori ale
atributelor. Tipurile de date definite de utilizator pot fi extinse prin mecanismul de motenire i
pentru fiecare tip sau subtip se pot defini metode pe care le pot executa obiectele de acel tip.
De asemenea mai sunt nc n funciune baze de date modele mai vechi: modelul ierarhic
i modelul reea.
n modelul de date ierarhic (Hierarchical Model) o baz de date se reprezint printr-o
structur ierarhic de nregistrri de date (records) conectate prin legturi (links). Modelul
ierarhic a fost primul model folosit pentru dezvoltatea bazelor de date.
Schema conceptual a unei baze de date n modelul ierarhic se reprezint printr-un numr
oarecare de scheme ierarhice. O schem ierarhic este un arbore direcionat, reprezentat pe mai
multe niveluri, n care nodurile sunt tipurile de nregistri, iar arcele sunt tipurile de legturi.
Fiecare nod (cu excepia nodului rdcin) are o singur legtur ctre un nod de pe un
nivel superior (nodul printe) i fiecare nod (cu excepia nodurilor frunz) are una sau mai multe
legturi ctre noduri de pe nivelul imediat inferior (noduri fii).
Modelul de date reea (Network Model) folosete o structur de graf pentru definirea
schemei conceptuale a bazei de date; nodurile grafului sunt tipuri de entiti (nregistrri,
records), iar muchiile grafului reprezint n mod explicit asocierile (legturile, links) dintre
tipurile de entiti. modelului reea este acela c fiecare interogare trebuie s fie prevazut nc
din faza de proiectare, prin memorarea explicit a legturilor ntre tipurile de entiti. n plus,
6
complexitatea reprezentrii datelor n modelul reea este deosebit de ridicat, iar programatorii
trebuie s o cunosasc pentru a putea realiza aplicaiile necesare.
Clasificare dup numrul de utilizatori.
Majoritatea sistemelor de baze de date sunt sisteme multiutilizator, adic permit accesul
concurent (n acelai timp) a mai multor utilizatori la aceeai baz de date. Problematica
organizrii informaiilor n mediul electronic redus de sisteme monoutilizator, adic suport
accesul doar al unui utilizator (la un moment dat)
Clasificare dup numrul de staii pe care este stocat baza de date
O alt clasificare este cea dup numrul de staii pe care este stocat baza de date Exist
dou categorii de sisteme de baze de date: centralizate i distribuite. Un sistem de baze de date
centralizat (Centralized Database System) este un sistem de baze de date n care datele i
sistemul de gestiune sunt stocate pe un singur calculator. Un sistem de baze de date distribuit
(Distributed Database System) poate avea att datele, ct i sistemul de gestiune, distribuite pe
mai calculatoare interconectate printr-o reea de comunicaie.
Limbajul SQL
Generaliti
SQL (Structured Query Language - Limbaj Structurat de Interogare) este un limbaj de
programare specific pentru manipularea datelor n sistemele de manipulare a bazelor de date
relaionale (RDBMS), iar la origine este un limbaj bazat pe algebra relaional. Acesta are ca
scop inserarea datelor, interogaii, actualizare i tergere, modificarea i crearea schemelor,
precum i controlul accesului la date. A devenit un standard n domeniu (standardizat ANSIISO), fiind cel mai popular limbaj utilizat pentru creearea, modificarea, regsirea i manipularea
datelor de ctre SGBD-urile (Sistemele de Gestiune a Bazelor de Date) rela ionale. Pe lng
versiunile standardizate ale limbajului, exist o mulime de dialecte i variante, unele proprietare,
fiind specifice anumitor SGBD-uri i de asemenea con innd extensii pentru a suporta SBD-urile
(Sistemele de Baze de Date) obiectuale (obiectual-relaionale).
SQL permite att accesul la coninutul bazelor de date, ct i la structura acestora.
Limbajul structurat de interogare SQL(Structured Query Language) este limbajul
standard pentru bazele de date(BD). Peste o sut de sisteme de gestiune a bazelor de date
recunosc limbajul SQL.
Ca orice limbaj de baze de date, SQL permite:
Predicates, pot specifica condiii care sunt evaluate de SQL conform logicii
ternare sau logicii booleene, n scopul limitrii efectelor instruciunilor, sau pentru a influena
cursul programului.
Interogrile, au ca scop regsirea datelor dup criterii specifice.
Instruciunile, pot avea un efect persistent asupra datelor sau structurii datelor, sau pot
controla tranzaciile, conexiunile sau cursul programului. n general, instruciunile SQL se
termin cu caracterul punct-virgul (";"), dei acest lucru nu este obligatoriu n toate
platformele SQL. Spaiile albe suplimentare sunt ignorate, dar ele pot fi folosite pentru
lizibilitatea codului SQL.
- dac o clauz are mai multe pri, fiecare dintre ele trebuie s apar pe cte o linie separat i
trebuie s fie indentat fa de nceputul clauzei, pentru a indica relaia.
Pentru scrirea corect a instruciunilor SQL trebuie s fie respectate cu strictee regulile
de sintax. Unele dintre aceste reguli sunt:
- orice instruciune SELECT se va termina prin ; ;
- ntr-o interogare unde se folosesc cmpuri din mai multe tabele, numele tabelului se separ de
numele cmpului prin .;
- parantezele drepte ncadreaz numele de cmpuri doar dac acestea conin spaii sau sinboluri
neacceptate de SQL;
- parametrii dintr-o list se separ prin virgul;
- valorile de tip ir de caractere se marchez prin apostrof sau ghilimele;
- inegalitile din cadrul clauzelor se specific prin <>;
- simbolurile ? i * nlocuiesc unul sau mai multe caractere;
- pentru specificarea valorilor de tip dat\timp se utilizeaz #;
- majusculele sunt utilizate pentru a reprezenta cuvinte rezervate i trebuie scrise exact aa cum
se arat;
- literele mici sunt utilizate pentru a reprezenta cuvinte definite de utilizator;
- o bar vertical ( | ) indic posibilitatea unei alegeri dintre mai multe alternative;
- acoladele indic un elememnt necesar;
- parantezele drepte indic un element opional;
- punctele de suspensie ( .....) se utilizeaz pentru a indica o repetare opional a unui articol de
zero sau mai multe ori.
Sintaxa construciilor SELECT
Instruciunea SELECT are ca scop regsirea i afiarea datelor din unul sau mai multe
tabele. Este cea mai utilizat comand SQL. Este o comand foarte puternic,capabil de a
efectua echivalentul operaiilor de selecie, proiecie i uniune din algebra relaional, n cadrul
unei singure instruciuni.
SELECT [DISTINCT|ALL] nume_cmp1,.....
FROM denumire_tabel [alias] [,.]
[WHERE condiie]
[GROUP BY nume_cmp2.....[HAVING condiie]]
[ORDER BY nume_cmp3 [ASC| DESC]......]
unde:
- nume_cmp1,.....precizeaz n mod explicit cmpurile dup care se face proiecia i cuprinde
toate cmpurile care vor aprea n tabela cu rezultatele interogrii. Dac exist ambiguiti
9
referitor la tabelele din care fac parte cmpurile specificate, atunci acestea vor fi precedate de
numele tabelului din care fac parte. Dac n locul acestei liste se folosete caracterul * atunci
proiecia se face dup toate cmpurile tabelelor specificat n clauza FROM. n cazul cel mai
general, parametrul nume_cmp1 poate fi o expresie aritmetic combinnd cmpuri i/sau funcii
de agregare avnd ca operanzi unul sau mai multe cmpuri. De asemenea, se pot utiliza i
informaii din interogri care au fost deja create.
- [DISTINCT|ALL] specific domeniul rndurilor asupra crora se efectueaz interogarea.
Clauza DISTINC elimin rndurile care conin duplicate n cmpurile selectate i are ca efect
afiarea o singur dat n cazul datelor cu apariii multiple. Clauza ALL include n rezultat toate
rndurile care ndeplinesc condiiile specificate i este implicit.
- FROM specific tabelul sau tabelele care vor fi utilizate. Se poate utiliza un alias pentru
tabelul specificat n clauza FROM. Aliasul este separat de numele tabelului prin spaiu. Aliasul se
utilizez oriunde n locul numelui tabelului i se poate utiliza pentru specificarea unei coloane
cnd exist ambiguitate privind sursa acesteia;
- WHERE filtreaz rndurile care vor fi supuse unei anumite condiii. Vor fi afiate numai
rndurile care ndeplinesc condiia specificat;
- GROUP BY are ca efect gruparea rndurilor unui tabel pe baza valorilor unui cmp sau grup
de cmpuri, cu aceei valoare a coloanei. Parametru nume_cmp2 furnizeaz criteriul de grupare
al rndurilor unui tabel n submulimi de rnduri, toate avnd aceeai valoare pentru cmpul
nume_cmp2. criteriul de grupare este fomat din mai multe cmpuri. Aceste submulimi sau
grupuri de rnduri urmeaz a fi tratate ca un tot unitar m anumite operaii cum ar fi aplicarea
funciilor de grup care se calculeaz nu pe ntreaga relaie, ci pe fiecare grup de rnduri n parte;
- HAVING filtreaz grupurile supuse unei anumite condiii;
- ORDER BY specific ordonarea rndurilor unui tabel rezultat dup valorile parametrului
nume_cmp3, iar cuvintele cheie ASC i DESC indic modul n care se face ordonarea, dup
valorile cresctoare, respectiv descresctoare ale atributului specificat. Implicit ordonarea va fi n
funcie de valorile cresctoare. Ordinea clauzelor n instruciunea SELECT nu poate fi
schimbat. Singurele clauze obligatorii sunt SELECT i FROM, restul sunt opionale. Rezultatul
unei interogri este un alt tabel.
Pe lng nume de coloane i operatori, o expresie poate include una sau mai multe
funcii:
11
12
Interogri:
SELECT simplu
Inculpaii care au ca obiect la dosar: furt calificat.
13
SELECT n SELECT
Inculpaii care au ca obiect la dosar vtmare corporal din culpa i numrul
dosarului care au termene ntre 01.12.2011 i 31.03.2012
SELECT cu legturi
Selectarea prilor civile a cror aciune civil este formulat sau din oficiu.
14
GROUP BY
Afiarea grupat instanelor din tabelul termene, unde numrul dosarului din acest
table coincide cu numrul dosarului din tabelul aciunea civil.
15
HAVING
Bibliografie
16
17