O baza de date este o colectie persistenta de informatii structurate, organizata si construita pentru
facilitarea accesului si prelucrarii eficiente.
SGBD-(sistem de gestiune a BD)soft ce permite crearea si gestiunea bazelor de date.
sistemul de gestiune a bazei de date (SGBD) ansamblu de programe care realizeaz gestiunea
i prelucrarea complex a datelor, asigurnd interfaa ntre BD i utilizatori.
Reprezint programul software care asigur :
- definirea bazei de date,
- ncrcarea datelor n baza de date,
- accesul la date (interogare, actualizare),
- ntreinerea bazei de date,
- securitatea datelor,
- reorganizarea bazei de date.
2. Proprietatea Nonredundana n baza de date. Exemplu.
.Proprietatea nonredundanta in priectarea BD trebuie sa tindem sa evitam existenta
redundantelor,adica a existentei mai multor cai care arata spre aceeasi valoare.
O relaie este redundant dac aceeai informaie poate fi obinut prin intermediul altor relaii.
Obiectivul este de a realiza un model de date minimal,deci relaiile redundante nu sunt necesare,
acestea trebuie eliminate.
3. Proprietatea Independena n baza de date.
Independenta-e o problema a carei rezolvare constitue un scop in sine in conceptia si organizarea
oricarei bd. Independenta datelor inseamna ca exista o delimitare neta intre reprezentarea fizica a
datelor si imaginea pe care o are utilizatorul asupra acestor date.
Problema independentei datelor prezinta 2 aspecete:
Independenta fizica-masura a imunitatii aplicatiilor fata de modificarile in structura fizica de
merorare a datelor.
Independenta logica- imunitate a modelului propriu al fiecarui utilizator fata de modificarile in
structura logica globala a bd.
4. Utilizatorii BD i rolurile lor. Exemple.
-neinitializati(functionari)
-instruiti(absolventii colegiului)interactioeaza prin limbaje direct cu BD.
-programatori
-administratori-preocupati de mentinerea BD,drept de acces,securitate,operatii de actualizare.
5.Arhitectura ANSI/X3/SPARC
Consta din 3 nivele:
-nivelul fizic(intern)-ne ofera structuri cu care noi construim BD.
-nivelul logic-administratorul proiecteaza BD.Alegem optiunile pentru nivelul fizic prin nivelul logic.
-nivelul extern(utilizatorului)Utilizatorul interactioneaza cu BD.
Nivelul intern constituit din schema interna ce descrie structura de stocare fizica a datelor in
baza de date
Nivelul conceptual sau schema conceptuala descrie structura intregii baze de date pentru o
comunitate de utilizatori. La nivelul conceptual se face o descriere completa a bazei de date,
ascunzind detaliile legate de stocarea fizica, concentrindu-se asupra descrierii entitatilor, tipurilor
de date, relatiilor dintre ele, precum sia restrictiilor asociate.
Nivelul extern sau nivelul vizual (utilizator), include o colectie de scheme externe ce descriu
baza de date prin prisma diferitilor utilizatori. Fiecare grup utilizator descrie baza de date prin
prisma propriilor interese. Exista tendinta la acest nivel ca grupuri de utilizatori sa ascunda detalii
de care nu sint interesate. Si la acest nivel se pot folosi modele de implementare sau modele de
nivel inalt.
6.Nivelul fizic de abstracie n BD. Modele de date. Exemple.
Fisiere:
Modele de date:
-ierarhic
- Nod artificial
-retea
Proiectarea fizic a BD
Urmtoarele aspecte s-ar putea dovedi de importan pentru succesul
proiectrii BD:
lucrul interactiv cu utilizatorii ct de muli trebuie;
urmrirea unei metodologii structurate de-a lungul procesului de
modelare a datelor;
utilizarea unei abordri coordonat prin date;
ncorporarea consideraiilor structurale i de integritate n modelul
de date;
combinarea tehnicilor de conceptualizare, normalizare i validare a
tranzaciilor n metodologia de modelare a datelor;
utilizarea diagramelor, pentru a reprezenta ct mai mult din
modelul de date;
utilizarea unui limbaj de proiectare a BD Data Base Design
Language (BDDL) pentru a reprezenta semantica suplimentar a
datelor;
construirea unui dicionar care s suplimenteze diagramele
modelului de date;
disponibilitatea de a repeta anumite etape.
Metodologia de proiectare a BD const dintr-o serie de etape:
O entitate este un obiect real sau conceptual, cu o existenta independenta. O entitate este un obiect
cu existenta fizica, persoana particulara, automobil, companie, activitate, curs universitar, etc.
Orice entitate are o serie de proprietati numite si atribute ce particularizeaza entitatea respectiva.
De exemplu, pentru o entitate angajat se pot enumera o serie de atribute cum sint nume, adresa,
data nasterii, sex, salariu.
Atribut (attribut): o unitate specific a informaiei despre un subiect; coloan sau cmp n
tabel.
Domeniul o multime finite de valori de acelasi tip pe care le poate lua atributul.
Tuplu-secventa de elemente care merg unul dupa altul dar nu fixam ordinea.
16.Elementele modelului relaional: schem relaional, relaie, baz de date, schem a bazei de date.
Definiii i exemple.
Relatie-multimea finita de tupluri.
Relaiile ntre dou tabele sunt unidirecionale, astfel c o tabel devine principal, iar cealalt devine
subordonat.
Schema relatiei-capul
UPDATE Modific valorile unor atribute ntro relaie specificat n tuplurile specificate de
un criteriu.
DELETE terge tuplurile dintr-o relaie care satisfac un criteriu specificat.
Intersectia q=rs
Diferenta q1=r\s
22.
q2=s\r
Exemple.
Produsul cartezian a doua relatii r(A1An) si s(B1Bm), notat cu r s, este o multime de tupluri (si
nu ntotdeauna o relatie) definite pe multimea de atribute A1An B1Bm. Tuplurile reprezinta toate
posibilele asociatii de tupluri din r si s: daca tr r si ts s, atunci concatenatia trts este un tuplu n r
s; pentru orice pereche de tupluri tr si ts din r si s, respectiv, exista un tuplu t n r s nct
t[Ai]=tr[Ai], 1in si
t[Bj]=ts[Bj, 1jm.
23.
Operaiile complement i complement activ. Proprieti. Exemple.
Fie relatia r(R). Notam prin tup(R) multimea tuturor tuplurilor asupra atributelor schemei R si a
domeniilor lor. Complementul relatiei r, notat cu r, este r = tup(R) \ r.
Fie r o relatie asupra schemei R, AR si adom(A) = {a|adom(A) & tr&t[A] =a}. Multimea
de valori adom(A) se numeste domeniul activ al atributului A. Notam cu atup(R) multimea tuturor
tuplurilor asupra atributelor schemei R si a domeniilor lor active. Atunci complementul activ, notat
cu ~r, este ~r = atup(R) \ r.
Complementul activ
Complementul
24.
Selectia s=
25.
Operaia proiecia. Proprieti. Exemple.
Proiectia e o operatie unara.
Proiectia relatiei r asupra multimii de atribute X, notata cu x(r), e o relatie cu schema X ce
consta din X-valorile tuturor tuplurilor din r: x(r) = t X| t r.
Proiectia s = A,C(r).
26.
Operaia jonciune. Proprieti. Exemple.
Fie doua relatii r(R) si s(S). Jonctiunea relatiilor r si s (notatia uzuala r|x|s) este o relatie cu
schema RS. Tuplul t apartine relatiei rezultat, daca exista tuplurile tr si ts n r si s, respectiv, si
satisfac t[R]=tr si t[S]=ts, adica r |x| s = {t | t[R] = tr& t[S] = ts& trr & ts s}.
Deci, fiecare tuplu din relatia rezultat este o concatenare a unui tuplu din r cu un tuplu din s
ce au (RS)-valori egale. Atributele cu acelasi nume n schema relatiei rezultat se iau o singura
data.
Operatia jonctiunea nu este comutativa. n schimb, ea se bucura de proprietatea asociativa.
Jonctiunea q = r |x| s
27.
Interaciunea dintre operaiile jonciunea i proiecia. Exemple.
Fie relatiile r(A B) si s(B C). Notam q=r|x|s si r1 = AB(q). n urma operatiilor, observam ca
tuplurile relatiei r1 constituie o submultime proprie a relatiei r.
28.
Operaia -jonciune. Proprieti. Exemple.
-jonctiunea relatiilor r(R) si s(S), notata cu r|x|ABs , este o multime de tupluri concatenate de
forma trts , unde tr r, ts s si tr(A) ts(B), adica:
r|x|ABs = { trts | trr & ts s & tr(A) ts(B)}.
Operatia -jonctiunea poate fi exprimata prin operatiile produsul cartezian si selectia.
Rezultatul unei -jonctiuni este acelasi cu rezultatul unei selectii operate asupra unui produs
cartezian, adica r|x|ABs = AB(r s).
29.
Operaia semijonciunea. Proprieti. Exemple.
Semijonctiunea e o operatie binara. Ea consta n construirea unei relatii din cele doua si e formata
numai din tuplurile unei singure relatii ce participa la jonctiune.
Fie doua relatii r(R) si s(S). Semijonctiunea relatiei r si s, notata cu
r|x s, este o multime de tupluri determinata de expresia r|x s = R(r|x|s).
Semijonctiunea q =r|xs
30.
Operaia divizarea. Proprieti. Exemple
Fie r(R) si s(S) doua relaii si S R. Notam Q = R \ S. Diviziunea relatiei r la relatia s, notata cu
r s, este o relatie definita pe multimea de atribute Q: r s = {t| pentru tss(S) tr r(R) ce
satisface tr[Q]=t si tr[S]=ts}.
Operatia diviziunea poate fi conceputa drept operatie inversa produsului cartezian. Fie q=r s.
Atunci qs produce o relatie cu schema R si relatia q va contine numarul maximal de tupluri ce ar
satisface expresia qs r.
Diviziunea q= r s
31. Componentele limbajului SQL2.
DML data manipulation language, implementation select, insert, update, delete, merge;
consult, actualizare, stergerea obiectelor create de DDL precum tabele, index, bazat pe
algebra si calculul relational.
DDL data definition language, maintenance, physical design create, alter, drop, rename,
truncate, comment; defineste, modifica, elimina schemele de relatii din tabel; creare index,
definirea viziunilor, specificarea constringerilor de integritate.
DCL data control language, maintenance, implementation grant, revoke; definirea
permiselor de acces.
Transition Control commit, rollback, savepoint.
aceleiai universiti. Trebuie introdus atributul CodFac i n tabela Studenti. Astfel cele dou
se transform astfel:
Facultate cu atributele: CodFac, Denumire, Adresa, Nume Decan
Studenti cu atributele: CodStud, CodFac, An, Grupa, Media, Bursa
Relaia multe-la-multe este o relaie prin care unui element din mulimea E1 i corespund
unul sau mai multe elemente din mulimea E2, i reciproc. De fapt, pentru modelarea acestei
relaii se folosete o relaie suplimentar, de tip unul-la-multe pentru fiecare din relaiile
iniiale. Exemplu: un student particip la mai multe materii, cursuri, iar o materie este
frecventat de mai muli studeni. S-a introdus o tabel suplimetar numit Note, care va face
legtura ntre tabelele Materii i Studeni. Tabelele iniiale se modific astfel:
Studenti cu atributele: CodStud, CodFac, An, Grupa, Media, Bursa
Materii cu atributele: CodMaterie, Denumire, An, Nume Profesor
Note cu atributele: CodStud, CodMaterie, Nota, Data
Prin introducerea atributului Data n tabela Note s-a soluionat problema care apare atunci
cnd un student trebuie s fie examinat de mai multe ori pn la promovarea materiei
respective.
Relaiile unare folosesc doar o singur relaie, aceasta fiind asociat cu ea nsi. Exemplul
clasic al acestei relaii unare este cazul managerului unei companii, care la rndul su este tot
un angajat al acelei companii. Relaiile unare se modeleaz la fel ca i relaiile binare.
Interogare este o operatie prin care se obtin datele dorite dintr-o baza de date selectate
conform unui anumit criteriu (conditie). Proiectia operatie relationala unara prin care se
selecteaza o submultime de atribute ale relatiei. SELECT consulta o relatie sau mai multe.
Select * from tabel.
UNION
SELECT produse.Model,Pret FROM produse,imprimante
WHERE produse.Model=imprimante.Model AND Producator=B
46.Interogri cu intersecii n SQL2. Exemple.
Interogarile cu operatiile uniune,intersectia si diferenta sunt foarte aproape de interogarile scrise in
algebra relationala.Se formuleaza doua interogari care construiesc relatii cu scheme
compatibile ,adica cu acelasi nr de atribute si de acelasi tip si aceste cereri sunt legate cu cuvintele
cheie UNION,INTERSECT sau EXCEPT.
Pentru a gasi valori ce coincid in doua sau mai multe tabele ,se poate utiliza instructiunea
INTERSECT.
EX:
SELECT Model FROM produse
INTERSECT
SELECT Model FROM pc_uri
Daca INTERSECT este substituit cu EXCEPT, se obtine un rezultat,intr-un fel,invers celui
precedent,adica se vor afisa modelele de produse din primul tabel, care nu sunt in al doilea tabel.
47.Interogri cu diferene n SQL2. Exemple
Interogarile cu operatiile uniune,intersectia si diferenta sunt foarte aproape de interogarile scrise in
algebra relationala.Se formuleaza doua interogari care construiesc relatii cu scheme
compatibile ,adica cu acelasi nr de atribute si de acelasi tip si aceste cereri sunt legate cu cuvintele
cheie UNION,INTERSECT sau EXCEPT.
EX. SELECT Model FROM produse
EXCEPT
SELECT Model FROM pc_uri
48.Interogri cu jonciuni n SQL2. Exemple
Deseori,p/u a obtine un rezultat complet, este necesara selectarea datelor din doua sau mai multe
tabele.
Tabelele din baza de date sunt legate intre ele prin chei.Este important,indeosebi,rolul cheii
primare care face ca coloanele ce o constituie sa posede o valoare unica p/u fiece rind.
De ex.e necesar sa se afiseze producatorul si viteza laptopurilor.Atributul viteza se afla in tabelul
laptop_uri.Informatia referitoare la producatori se afla in tabelul produse,rezultatul este ordonat
dupa cimpul Producator.
EX.
SELECT Producator,Viteza FROM produse,laptop_uri
WHERE produse.Model=laptop_uri.Model ORDER BY Producator
CU Jonctiune interna
EX.
SELECT Producator,Viteza FROM produse INNER JOIN laptop_uri
ON produse.Model=laptop_uri.Model ORDER BY Producator.
from Departament
except
select Dept
from Angajati
where Nume = Ionescu
Go
Create Synonym notebook for calculatoare.dbo.laptop_uri;
Go
Select *from notebook;
Go
viteza de regsire a datelor dar ncetinesc actualizarea datelor datorit faptului c sistemul trebuie s
actualizeze i fiierele index. n general este foarte util s se creeze indeci dup cmpuri care se folosesc n
operaii de join.
tergerea unui index se face cu comanda DROP INDEX:
DROP INDEX nume_index [ON nume_tabela]