You are on page 1of 30

INTRODUCEEA IN BAZE DE

DATE
CATEVA DEFINITII:
Aplicaie (application): un sistem care ofer o mulime de servicii pentru
rezolvarea unor probleme ale utilizatorilor (ESI)
Produs soft (software product): set complet de programe, proceduri de
operare, documentaia i datele aferente, destinate a fi livrate utilizatorului (ISO
9000-3)
Program (program, computer program): o mulime de instruciuni, executate
de un calculator i destinate rezolvrii unei anumite probleme.
Sistem (system): reprezentarea a ceva ce este identificabil, evolueaz i
acioneaz asupra unui mediu, n concordan cu un anumit obiectiv impus de
mediu (Euromethod Dictionary); o colecie de componente organizate pentru a
ndeplini o funcie specific sau o mulime de funcii specifice (IEEE Std 610.121990)
Sistem informaional (information system): aspect al unei organizaii care
produce, folosete i distribuie informaie. El include resursele umane, tehnice i
financiare ale organizaiei. Prin excelen, este un sistem uman care poate conine
un subsistem informatic care automatizeaz anumite elemente ale sistemului
informaional (Euromethod Concepts Manual 2 - Deliverable Model, 1994)
Soft de aplicaie (application software): soft destinat s acopere nevoi
specifice ale utilizatorului; de exemplu soft pentru evidena studenilor, salarii sau
controlul proceselor (IEEE Std 610.12-1990)
Baza de date:
O baza de date este o lista organizata de informatii continand in mod uzual siruri de
caractere, numere sau alte tipuri de informatii
O multime organizata de date.
Sistem de gestiune a bazelor de date: (SGBD) Componenta specifica a calculatorului
gazda, care inglobeaza functii de organizare, memorare si regasire a datelor
folosind formate de memorare specific
Exemple de SGBD: - xBase (Dbase, Fox Pro, Visual Fox)
-Access
-Oracle
- Sybase
-Informix

CLASE DE PROGRAE
Clasificri ale programelor
dup funcionalitate general:
soft de baz i soft aplicativ
dup domeniul de aplicare
aplicaii de gestiune, aplicaii pentru calcule tiinifice, aplicaii de CAD/CAM
(Computer Aided Design - Computer Aided Manufacturing), aplicaii multimedia,
aplicaii bazate pe Internet, etc.
dup tipul prelucrrilor efectuate
dup tipul i intensitatea legturilor cu mediul extern
Clasificri ale programelor - tipuri majore de prelucrare
prelucrare batch (pe loturi): aceeai transformare efectuat o singur dat pentru
un set de date de intrare
prelucrare continu, on-line: transformarea datelor de intrare se execut de fiecare
dat cnd se modific acestea
prelucrare distribuit: transformarea datelor implic folosirea de sisteme
multiprocesor sau de reele distribuite de calculatoare, locale sau dispuse pe o arie
geografic larg; este caracterizat de laten n comunicaie
Clasificri ale programelor dup tipul i intensitatea legturilor cu mediul
extern
aplicaii cu interfa interactiv: menu-driven applications; utilizatorul selecteaz o
opiune dintr-un meniu
aplicaii de simulare dinamic: simuleaz obiecte evolutive din lumea real
simularea traficului ntr-o intersecie; simulatoare de zbor
aplicaii n timp real: modeleaz sisteme dominate de restricii severe de timp
supravegherea i controlul unui reactor nuclear; pilot automat
programe de gestiune a tranzaciilor: memorare, actualizare i regsire de date,
inclusiv acces concurent din diverse locaii fizice
sistemul integrat de gestiune al unei firme (compartimente diferite, baze de date
generale, acces concurent din toate compartimentele, drepturi de acces bine
precizate, etc.).
Clasificri ale aplicaiilor de gestiune (Flaaten, 1989)
sisteme de gestiune a tranzaciilor (transaction processing systems, TPS)
sisteme informatice pentru management (management information systems)

sisteme de sprijin pentru decizii (decision support systems)


sisteme de automatizare a biroului (office automation systems)
sisteme departamentale (departamental systems)
sisteme expert (expert systems)
sisteme informatice pentru conducere (executive information systems, EIS)

Sisteme de gestiune a tranzaciilor


calcul de salarii, facturare
ieri - sisteme batch - operatori introducere date
azi - sisteme on-line - funcionari specializai, care trebuie s ia decizii
baza de date este actualizat continuu
sistem integrat de prelucrare a tranzaciilor, baz de date integrate
Sisteme informatice pentru management
buget, contabilitate
ieri - sisteme batch - rapoarte voluminoase
cutarea manual a informaiei
azi - sisteme on-line - rapoarte la cerere, interogri personalizate
suporturi diferite pentru rapoarte: hrtie, fiier pe suport magnetic, ce se poate
transmite celor interesai prin reeaua de comunicaie
datele se preiau n bun msur de la sistemele de gestiune a tranzaciilor
de obicei preluarea nu se face on-line, ci la intervale prestabilite de timp
Sisteme de sprijin pentru decizii
derivate din sistemele informatice pentru management
ofer analize variate ale acelorai date, fr efort de programare
prezentare tabelar sau grafic a datelor
efectueaz corelaii i analize de tendine
conin instrumente de modelare pentru
decizii tactice (datele se preiau din sistemele informatice pentru management)
decizii strategice (datele se preiau din sistemele informatice pentru conducere
Sisteme de automatizare a biroului

iniial: instrumente de prelucrare a documentelor,


materializare a metafora desktop-ului (biroului de lucru) pe sistemele cu interfa
grafic moderne
conin conin instrumente de comunicare ntre posturile de lucru
ajut la estomparea diferenei dintre prelucrarea tranzaciilor (efectuat de
funcionari) i prelucrrile specifice muncii de secretariat.
includ:
procesoare de texte
procesoare de tabele
instrumente de comunicare, mesagerie, pot electronic
instrumente de navigare n Internet.
Sisteme departamentale
de regul o mixtur ntre sisteme de prelucrare a tranzaciilor, sisteme de sprijin
pentru decizii i sisteme de automatizare a biroului
domeniul de aciune: un singur departament al unei organizaii (sau o filial a
acesteia aflat la distan fa de sediul central)
sunt conectate la sistemele organizaiei, ns au i funciuni specifice
de obicei cnd departamentul are cerine de prelucrare i memorare a datelor care
nu sunt incluse n sistemul informaional al organizaiei, nefiind specifice acesteia n
ansamblul su.
tendina modern: integrarea sistemelor departamentale n intranetul organizaiei
exemplu: sistemul laboratorului unui spital.
Sisteme expert
(de obicei) sisteme bazate pe reguli care ajut utilizatorii nespecialiti s efectueze
activiti (s obin expertiz) n domenii n care n-au pregtirea necesar.
tehnologia folosit: inteligena artificial
scopul: rspndirea cunotinelor deinute de un numr mic de experi
schem de reprezentare a cunotinelor
baz de cunotine dotat cu un motor de inferen
cunotinele se reprezint prin fapte, reguli, aseriuni.
domenii predilecte de aplicare:
medicina,

configurarea hard a calculatoarelor,


analiza compuilor chimici, etc.
Sisteme informatice pentru conducere
destinate conducerii executive a organizaiei (vrfului piramidei ierarhice).
ofer acces conductorilor la
baze de date externe organizaiei (despre ramura industrial respectiv, competiie,
preuri, inovaii tehnice)
baze de date interne organizaiei (la nivel de informaie de sintez).
informaia este prezentat ntr-o manier sintetic
tablou de bord
tabele
grafice
Ciclu de via a unu program:
natere
apare ideea (necesitatea) realizrii programului i se aprob dezvoltarea lui
cretere
dezvoltarea
maturitate
instalarea
exploatarea curent
ntreinerea
btrnee (vrsta a III-a)
exploatare cu probleme
moarte
scoaterea din exploatare
Fazele ciclului de via
definiia (munca de echipa - informatician si client)
ncepe cnd este formulat problema de rezolvat
pune accentul pe CE face programul
CE informaie se prelucreaz

CE funcii sau performane trebuie s aib sistemul


CE interfee cu alte sisteme
CE restricii de proiectare exist
CE criterii de validare sunt necesare
dezvoltarea ( sarcina programatorul)
pune accentul pe CUM trebuie fcut programul
testarea (munca de echipa - informatician si client)
exploatarea (client - asistat de informatician)
ntreinere
Paii fazei de definiie
analiza de sistem (ingineria de sistem)
stabilete rolul pe care-l joac programul n ansamblul sistemului informaional al
organizaiei.
planificarea proiectului
analiza riscurilor, estimarea costurilor i alocarea resurselor necesare pentru
dezvoltare, definirea sarcinilor de lucru i a orarului de derulare al proiectului.
analiza cerinelor
definirea detaliat a informaei care se prelucreaz, specificarea clar a funciilor pe
care trebuie s le execute programul i precizarea restriciilor impuse asupra
acestuia

MODELUL CASCADA:

MODELUL V:

PROTOTIPIZAREA:

Avantaje
implicarea utilizatorului n aproape toate activitile
o mai bun comunicare ntre analist i utilizator
scopul crerii prototipului este completarea analizei cerinelor
existena mediilor vizuale sprijin prototipizarea
se pot realiza prototipuri complet funcionale i eficiente
Dezavantaje
utilizatorul percepe prototipul ca fiind produsul final
realizarea prototipului se face cu anumite compromisuri de implementare (mediu de
implementare, algoritmi, simplificarea funcionalitii)
etapa (6) pleac de multe ori de la zero

Dezvoltarea iterativ i incremental (modelul spiral,


Boehm)

Avantaje
abordare evoluionist
ajut la nelegerea riscurilor i la identificarea modalitilor de inere sub control a
acestora
prototipizarea este folosit ca mecanism de reducere a riscurilor
ciclul clasic de via este ncorporat ntr-un cadru iterativ, care reflect mai bine
lumea real
Dezavantaje
analiza riscurilor este activitatea critic
atenie acordat riscurilor tehnice n toate etapele proiectului
dac un risc major nu este descoperit

Analiza
Etape (sarcini)
(1) recunoaterea problemei
(2) evaluarea i sinteza

(3) modelarea
(4) specificarea
(5) revizuirea

Tehnici de comunicare
Procesul de comunicare
pri:
clientul - are o problem care trebuie rezolvat prin folosirea calculatorului
analistul - ncearc s nceap rezolvarea cererii clientului
scop
colectarea de informaii despre sistemul existent i despre ceea ce se dorete a se
pune n locul lui
Tehnici de comunicare
(1) interviul
(2) modelul propus de Weinberg
(3) tehnica FAST
(4) alte tehnici de comunicare i colectare de informaii
1) interviul
ncercare sistematic de a colecta informaie de la o persoan
pai - derulare
(i) pregtirea
familiarizare cu domeniul problemei, organizaiei, proiectului
(ii) planificarea i orarul
list de ntrebri, persoane, data, ora, locul
(iii) nceputul i terminarea
prima (ultima) impresie conteaz, atmosfer relaxat
prezentare (nceput), rezumat (sfrit)
(iv) desfurarea propriu-zis a interviului
(v) (eventuale) interviuri ulterioare pentru clarificri
(2) modelul propus de Gause-Weinberg - structurarea ntrebrilor pe
care analistul le pune clientului n trei grupuri

primul grup de ntrebri: fr legtur cu contextul problemei de rezolvat


scopuri:
nelegerea n mare a problemei, oamenilor, naturii dorite a soluiei
obinerea justificrii continurii colaborrii cu clientul
sunt axate pe client, obiectivele generale i beneficiile pe care le poate aduce
soluia:
(i) ce este n spatele acestei comenzi pentru noul program?
(ii) cine va folosi programul?
(iii) care va fi beneficiul economic al unei soluii bune?
(iv) exista alternative de rezolvare a problemei?
al doilea grup de ntrebri
scopuri
o mai bun nelegere a problemei de ctre analist
permit clientului s formuleze percepiile sale asupra soluiei
exemple
(i) cum ai caracteriza o buna ieire?
(ii) ce dificulti ar ntmpina (ar produce) o asemenea soluie?
(iii) poi s-mi arai mediul n care ar fi folosit soluia?
(iv) exist anumite aspecte particulare privind performanele sau restriciile care ar
putea afecta modul de abordare a rezolvrii?
al treilea grup - metantrebri se refer la beneficiile ntlnirii client-analist:
(i) suntei persoana potrivit sa rspundei la aceste ntrebri?
(ii) rspunsurile dumneavoastr sunt oficiale?
(iii) ntrebrile mele au fost pertinente fa de dificultile care le avei?
(iv) am pus prea multe ntrebri?
(v) mai avei pe cineva aici care mi-ar putea da informaie suplimentar?
(vi) mai e cineva de cine ar trebui s v ntreb?
DOMENIUL INFORMATIEI
Domeniul informaiei - puncte de vedere
(a) fluxul informaional
(b) coninutul informaiei

(c) structura informaiei


Fluxul informaional caracterizeaz
circulaia informaiei n sistem
maniera n care se modific datele
controlul la fiecare mutare a lor n sistem:
Coninutul informaiei
se refer la semantica informaiei, grupnd-o n tipuri de entiti
este definit de datele individuale i elementele de control care formeaz mpreun
un element mai mare (complex) de informaie - entitate sau tip de entitate
Structura informaiei
definete organizarea intern a elementelor de date (atribute) i de control dintr-un
tip de entitate
structura ilustreaz
(i) legturile unui entati cu alte entitati,
(ii) cte structuri diferite exist (toat informaia este coninut ntr-o singur
structur sau exist structuri distincte?
Termenul de structur a datelor (structur de date) este folosit la proiectare i
implementare.

PROIECTAREA LOGICA A
DATELOR
Pai n modelarea datelor:
Modelarea datelor - puncte de vedere
(a) aria de cuprindere a modelului
model de date al organizaiei
model de date al unei arii de activitate a organizaiei
model de date al unei aplicaii
(b) nivelul de abstractizare a modelului
model conceptual de date: folosete numai elemente din domeniul problemei
model logic de date: folosete i elemente din domeniul soluiei

model fizic de date


Modelarea datelor - puncte de vedere

(c) etapa din ciclul de dezvoltare n care se elaboreaz modelul


ingineria de sistem- modele conceptuale
modelul de date al organizaiei
modelul de date al ariei de activitate
analiz - modele conceptuale
modelul de date al contextului aplicaiei
modelul conceptual de date al aplicaiei
proiectare
logic - modelul logic de date al aplicaiei
fizic - modelul fizic de date al aplicaiei
TIPURI DE MODELE:
Dupa modul de organizare
modelul entitate - relatie
modelul orientat obiect
MODELUL ENTITATE-RELATIE
Construcii folosite (concepte, termeni)
entitate: persoane, locuri, obiecte, evenimente, concepte din mediul
utilizatorului pentru care organizaia dorete s dein date
atribut:
proprietate sau caracteristic a unui tip de entitate care prezint interes
toate instantele unui tip de entitate E au aceleai atribute
valorile unui atribut difer de la o instan a lui E la alta
relatie
Se reprezint grafic prin diagrama entitate-relaie
ATRIBUTE

Clasificarea atributelor unui tip de entitate


atribut cheie: identific o instan a entitii
atribut non-cheie
Tipuri de atribute cheie
cheie candidat: identific unic o instan a entitii
cheie primar: cheia candidat ca identificator pentru tipul de entitate
cheie surogat: atribut artificial pe post de cheie primar
Stabilirea cheii primare CP a unei entiti E
(i) cheia candidat a lui E care nu-i modific valoarea pe toat durata de
via a oricrei instane
(ii) pentru orice instan a lui E, atributele lui CP au valori valide i non-nule
(iii) dac CP are prea multe atribute, se nlocuiete cu o cheie surogat
REALTIE
Gradul unei relaii
numrul de tipuri de entiti care particip n relaie
clasificarea relaiilor dup gradul lor:
unare sau recursive (de gradul 1)
binare (de gradul 2)
ternare (de gradul 3)
Cardinalitatea unei relaii
de la entitatea A la entitatea B: numrul de instane ale entitii B asociate
unei instane a entitii A
de la entitatea B la entitatea A: numrul de instane ale entitii A asociate
unei instane a entitii B
MODEL CONCEPTUAL DE DATE
Identificarea i definirea elementelor din domeniul problemei pentru
care trebuie memorate date
Identificarea i definirea relaiilor dintre acestea
Identificarea i definirea elementelor din domeniul problemei pentru care
trebuie memorate date

Identificarea i definirea relaiilor dintre acestea


MODELAREA LOGICA A DATELOR
Are ca scop producerea unui model adecvat pentru implementare,
bazat pe modelul conceptual, insa:
mai detaliat
mai precis
mai bine structurat
fara entitati redundante

Clase de modele logice de date


ad-hoc
fiecare aplicaie are propriul su model de date
ierarhic
succesul sistemului soft pentru misiunile APOLLO (IBM + NASA)
structura arborescenta
reea
generalizare a modelului ierarhic
CODASYL - standard neacceptat
relaional
algebra relaiilor
SQL - nivel nalt, neprocedural
orientat pe obiecte
anii 90
aplicaii specifice CAD, GIS

Modelul relational
Caracteristici
reprezint datele n tabele (relaii) bidimensionale
corespunde entitii din modelul E-R

coloane - atribute
linii - instane
celule - intersecii de linii i coloane
definete
structura datelor - modul de organizare a datelor n tabele
operaiile de manipulare a datelor - ce operaii se folosesc pentru a
integritatea datelor - precizeaz regulile specifice aplicaiei care ntrein consistena
datelor, la operaiile de manipulare
Proprietile relaiilor
(1) atomicitatea celulelor: atributul aferent coloanei
nu poate avea mai multe valori
nu poate fi grup repetitiv (valoarea sa nu se descompune)
(2) omogenitatea coloanelor
o coloan corespunde unui atribut
(3) unicitatea liniilor
nu exist dou linii identice
este asigurat de un subset de coloane, care formeaz cheia primar
toate coloanele ce formeaz cheia primar trebuie s aib valori valide
(4) ordinea nedefinit a coloanelor
fiecare coloan este identificat prin numele su, nu prin poziia din relaie
(5) ordinea nedefinit a liniilor
fiecare linie este identificat prin cheia primar, nu prin poziia sa n table

Relaii bine structurate i slab structurate


Definiii informale
relaie bine structurat
conine o cantitate minim de redundan
inserarea, modificarea i tergerea de linii n/din relaie se fac fr erori i fr a
produce inconsisten
relaie slab structurat
nu este bine structurat

Definiii
inconsisten a unei relaii: linii diferite ce corespund aceluiai student au valori
diferite pentru atributele cu valoare unic
operaie de actualizare a unei relaii: inserarea unei linii noi, modificarea unei linii
existente i tergerea unei linii existente
anomalie: eroare i/sau inconsisten produs prin operaiile de actualizare a unei
relaii

Tipri de anomalii
de inserare
regul de inserare: toate coloanele care formeaz cheia primar trebuie completate
de tergere
regul de tergere: tergerea unei linii dintr-o relaie nu trebuie s produc pierdere
colateral de informaie
de modificare
regul de conservare a consistenei: atributele ce depind de o parte a cheii primare
(subcheie) trebuie s aib aceeai valoare n toate liniile cu subcheia respective

Ciclul de via al bazelor de date relaionale

PROIECTAREA FIZICA A
DATELOR
Obiectiv
implementarea bazelor de date sub forma unei mulimi de nregistrri, fiiere,
indeci i alte structuri de date care:
asigure cerinele de performan dorite
s conserve integritatea BD
s asigure securitatea i recuperabilitatea informaiei
Elementele cunoscute (datele de intrare) sunt:
(a) structura logic a datelor
exprimat prin modelul logic de date
(b) cerinele de prelucrare ale utilizatorilor
(c) caracteristicile hard i soft ale mediului

Cerinele de prelucrare ale utilizatorilor


identificate la analiza cerinelor
se refer la
(i) dimensiunea i frecvena de utilizare a BD
(ii) timpi de rspuns
(iii) securitate
(iv) salvri
(v) recuperare din situaii de eroare
(vi) arhivare
Caracteristicile hard i soft ale mediului n care se face
implementarea
maina fizic
sistemul de operare
SGBD-ul ales
softul de comunicaie

Componentele proiectului fizic de BD


(1) analiza volumului i utilizrii datelor
(2) strategia de distribuire a datelor
(3) organizarea fiierelor
(4) indexarea
(5) constrngerile de integritate

Analiza volumului i utilizrii datelor


Scop: estimarea
dimensiunii (volumului) datelor
sabloanelor de utilizare a bazei de date
Estimrile de volum servesc la
selectarea perifericelor de stocare
estimarea costurilor de stocare
abloanele de utilizare servesc la
stabilirea organizrii fiierelor i a metodelor de acces
planificarea folosirii indecilor
planificarea strategiei de distribuire a datelor
Analiza volumului
Estimrile de volum se obin prin consultarea utilizatorilor
Analiza utilizrii datelor
Sarcini:
(a) identificarea tranzaciilor i prelucrrilor majore asupra bazelor de date
(b) elaborarea hrii tranzaciei i a formularului de ncrcare pentru fiecare
tranzacie
Pasi
identificarea tranzaciilor
pentru fiecare tranzacie i proces se determin
modalitile de accesare a BD
frecvena de utilizare a tranzaciei/procesului
se elaboreaz formularul de analiz a tranzaciei

Strategia de distribuire a datelor


Strategii de distribuire a datelor
dup strategia de distribuire
centralizat
partiionat
replicat
hibrid
client-server
BD memorat pe mai multe calculatoare
BD distribuit: BD logic este distribuit fizic pe mai multe calculatoare, conectate
n reea
BD descentralizat: BD logic este distribuit fizic pe mai multe calculatoare
neconectate ntre ele
Strategia centralizat
BD pe un singur calculator
avantaje
simplificarea implementrii
dezavantaje
date inaccesibile utilizatorilor aflai la distan
costuri de comunicare mari
aplicaiile client nu funcioneaz cnd BD nu este operaional
Strategia partiionat
BD este mprit n partiii disjuncte numite fragmente
fiecare fragment este memorat ntr-o locaie (calculator)
avantaje
datele sunt mai aproape de utilizatorii locali
criteriul de partiionare
dezavantaje
costuri de comunicare mari pentru datele din alt locaie
Strategia cu replicare

o copie complet a BD (numit replic) este memorat n fiecare locaie (calculator)


avantaje
minimizarea timpului de accesare
dezavantaje
problema sincronizrii replicilor
o actualizare dintr-o locaie trebuie operat n toate replicile)
Strategia hibrid
combinaie ntre strategia partiionat i cea cu replicare
BD este mprit m
fragmente critice: se memoreaz n mai multe locaii
fragmente non-critice: se memoreaz ntr-o singur locaie
avantaje
problema sincronizrii are complexitate mai mic
dezavantaje
sincronizarea fragmentelor critice
Strategia client-server
reea de calculatoare: maini
servere
de fiiere (BD): servicii de accesare a datelor
de aplicaii: logica aplicaiei
clieni: prezentarea datelor, interaciunea cu utilizatorul
avantaje
maini specializate
separarea funcionalitii
ntreinere uoar
dezavantaje
comunicarea ntre maini - costuri
ncrcarea mainilor

Organizarea fiierelor

Definitie: Tehnic de aranjare fizic a nregistrrilor unui fiier


aflat n memoria extern
Organizarea secvenial
nregistrrile din fiier se memoreaz n ordinea valorii cheii primare
Organizarea indexat
nregistrrile din fiier se memoreaz secvenial sau nesecvenial
fiecare nregistrare are o poziie bine determinat n fiier,
sistemul de gestiune a fiierelor dispune de o instruciune de poziionare,
la deschiderea fiierului f se creeaz un index care permite localizarea unei
nregistrri dup valoarea cheii primare
indexul este o tabel sau o alt structur de date care este folosit pentru
determinarea locaiei (nregistrrii) unei linii din fiier (tabela de nregistrri) care
satisface anumite condiii
secvenial indexat (index-sequential)
nregistrrile sunt memorate n fiier secvenial, n ordinea valorii cheii primare
indexul se numete index simplu sau index bloc
nesecvenial indexat (index-nonsequential)
fiierul se mai numete fiier master (master file)
nregistrrile din fiierul master nu sunt memorate n ordinea valorii cheii primare
indexul se numete index inversat i este o tabel ordonat de perechi de forma
(val_cheie, recn), criteriul de ordonare fiind val_cheie
selectiv (selective, random)
adresa fiecrei nregistrri din fiierul master se determin pe baza unui algoritm de
dispersare (hashing), care folosete o funcie de dispersare (hashing function)
funcia de dispersare convertete valoarea cheii la o poziie de nregistrare din
fiierul master
INDEX
Indexare dup cheia primar
tabela T va conine valori distincte pentru fiecare val_cheie
Indexare dup atributele non-cheie
tabela T conine perechi de forma (valoare_atribut, recn)
tabela T este ordonat dup valoare_atribut

Organizarea tabelei de index


structur liniar i ordonat dup val_cheie:list liniar ordonat, tablou ordonat
structur arborescent, B-arbore

Criterii folosite la analiza i stabilirea modului de


organizare a unui fiier
(i) accesul rapid n regsirea informaiei din fiier
(ii) puterea sporit de prelucrare a tranzaciilor
(iii) folosirea eficient a suportului
(iv) protecia la incidente sau pierderi de date
(v) minimizarea nevoii de reorganizare
(vi) adaptarea la creterea volumului fiierului
(vii) protecia datelor din fiier fa de accesul neautorizat

Cazurile in care se recomanda creerea unui fisier index


Este cheie primara, cheie straina sau cheie surogat
Coloana respectiva este utilizata frecvent in interogari
Coloana contine un interval mare de valori
Coloana contine un numar mare de valori nule

Reguli in definirea unui table:

Numele tabelei si numele


coloanelor trebuie sa inceapa cu litera si sa aiba lungimea maxima de 30
Numele poate contine numai A-Z, a-z, 0-9,_.
Numele tabelului trebuie sa fie unui in cadrul bazei de date pe care o creati
Numele nu poate fi un cuvant rezervat
Nu se face deosebire intre literele mici si mari

Componentele unui table

Tipuri de date intr-o baza de date


Numeric - pentru numere cu virgula fixa si mobila
Caracter - pentru siruri de caracter de lungime fixa minim 1 maxim 255
caractere intr-un
Logic ( Boolean )- are valoarea True sau False
Date - se foloseste pentru memorarea datelor caracteristice
Time ( DateTime) - se foloseste pentru stocarea datelor de formatul timp respectiv
format combinat data timp
Blob (Memo)- se foloseste pentru stocarea sirurilor de caractere de lungime
variabila, posibil mai mari de 255 sau pentru stocarea de imagini

Limbajul SQL : A fost produs de catre ANSI in 1986 ca limbaj standard de


manipulare a datelor.
Din 1987 nici un SGBD relational nu poate fi comercializat fara o interfata SQL
1992 revizuirea limbajului SQL de catre ANSI
SGBD-urile actuale inglobeaza limbajul SQL(92), acesta fiind imbogatit cu functii da
catre unii producatori

Crearea unui table : CREATE TABLE


[( nume_coloana tip de data (lungime),
nume_coloana tip de data (lungime),
..
nume_coloana tip de data (lungime))]

Crearea unui tabel index:

numele tabelului

CREATEA INDEX numeindex ON


nume_tabela ( coloana[, coloana])

Algebra relationala
A fost introdusa de Codd ( anii 70) ca o multime de operatii formale actionand
asupra unor relatii si producand ca rezultat alte relatii.
Operatori algebrei relationale:
SELECT
UNION
PROJECT
INTERSEC
DIVISION
JOIN
Limbajul SQL
A fost produs de catre ANSI in 1986 ca limbaj standard de manipulare a datelor.
Din 1987 nici un SGBD relational nu poate fi comercializat fara o interfata SQL
1992 revizuirea limbajului SQL de catre ANSI
SGBD-urile actuale inglobeaza limbajul SQL(92), acesta fiind imbogatit cu functii da
catre unii producatori
Manipularea unei baze de date
INSERT
UPDATE

DELETE
Inserarea unei inregistrari intr-o tabela
INSERT INTO numetabela [(numecamp[,numecamp])]
VALUES (valoare[, valoare])
Inserarea unei multimi de inregistrari dintr-o tabela in alta
INSERT INTO numetabela [(numecamp[,numecamp])]
SELECT [(numecamp[,numecamp])] FROM numetabela
Modificarea unei inregistrari dintr-o tabela sau a unei multimi de
inregistrari
UPDATE numetabela
SET numecamp= valoare[,numecamp = valoare]
[WHERE conditie]

Se modifica doar valorile aferente atributelor numecamp din inregistrarile care


indeplinesc clauza WHERE
Stergerea unei inregistrari dintr-o tabela sau a unei multimi de
inregistrari
DELETE FROM numetabela
[WHERE conditie]

Se sterge doar inregistrarile care indeplinesc clauza WHERE


Interogarea unei tabele
SELECT [DISTINCT] {*|[numecamp, [numecamp]}
FROM numetabela[, numetabela]
[WHERE conditie]
[GROUP BY numecamp]
[ORDER BY numecamp]
Interogare simpla
SELECT [DISTINCT] {*|[numecamp, [numecamp]}
FROM numetabela

SELECT - identifica campurile de selectie


FROM - identifica tabela (sau tabelele)
DISTINCT - elimina duplicatele
Selectie conform unei conditii
SELECT [DISTINCT] {*|[numecamp, [numecamp]}
FROM numetabela
[WHERE conditie]
[ORDER BY numecamp]

Conditia - este o expresie booleana care poate avea urmatorii operanzi: <,>,=,<>,
AND, OR, NOT, IN

ORDER BY- specifica ordinea tabelului rezultat


Functii SQL:
Tipul character
LOWER
UPPER
INITCAP
CONCAT ( || )
SUBSTR
INSTR
LPAD
Numerice
ROUND
TRUNC
MOD
Pentru tipul data
SYSDATE
ADD_MONTH
NEXT_DAY

LAST_DAY
Interogarea mai multor tabele
Equijoin
WHERE tabel1.camp=tabel2.camp
Tabelul rezultat va contine inregistrari din ambele pentru care
atributele de join au valori egale

Outerjoin
WHERE tabel1.camp(+)=tabel2.camp
sau
WHERE tabel1.camp=tabel2.camp(+)
Tabelul rezultat va contine inregistrari din tabela anexata cu operatorul (+), care nu
apar in urma unei operatii equijoin

Interogarea mai multor tabele(cont)


Self join

Se foloseste in cazul in care avem nevoie de join al unei tabele cu ea insasi.

Nonjoin

Fiecare inregistrare dintr-un tabel cu fiecare inregistrare din celalalt tabel ( produs
cartezian)
Functii de grup: AVG
COUNT
MAX
MIN
SUM

Clauza Group By din forma generala SELECT se foloseste in acest caz ( nu este
obligatorie)

SELECT imbricat
SELECT [DISTINCT] {*|[numecamp, [numecamp]}
FROM numetabela
WHERE expresie operator
( SELECT [DISTINCT] {*|[numecamp, [numecamp]}
FROM numetabela)
SELECT imbricat(cont)
Obs:
O subinterogarea trebuie inclusa intre paranteze
Selectul imbricat este obligatoriu operand de dreapta in conditia WHERE
nu se poate folosi clauza ORDER BY intr-un select imbricat
Exista subinterogari simple ( cu o singura inregistrare rezultata) sau subinterogari.
Operatorii posibili sunt:
simple: =,<,>, <>
multiple: ANY, IN, ALL
=ANY <=> IN

You might also like