+ All Categories
Home > Documents > Baze de date.docx

Baze de date.docx

Date post: 07-Apr-2016
Category:
Upload: diana-hang
View: 244 times
Download: 1 times
Share this document with a friend
35
INTRODUCEEA IN BAZE DE DATE CATEVA DEFINITII: Aplicaţie (application): un sistem care oferă o mulţime de servicii pentru rezolvarea unor probleme ale utilizatorilor (ESI) Produs soft (software product): set complet de programe, proceduri de operare, documentaţia şi datele aferente, destinate a fi livrate utilizatorului (ISO 9000-3) Program (program, computer program): o mulţime de instrucţiuni, executate de un calculator şi destinate rezolvării unei anumite probleme. Sistem (system): reprezentarea a ceva ce este identificabil, evoluează şi acţionează asupra unui mediu, în concordanţă cu un anumit obiectiv impus de mediu (Euromethod Dictionary); o colecţie de componente organizate pentru a îndeplini o funcţie specifică sau o mulţime de funcţii specifice (IEEE Std 610.12- 1990) Sistem informaţional (information system): aspect al unei organizaţii care produce, foloseşte şi distribuie informaţie. El include resursele umane, tehnice şi financiare ale organizaţiei. Prin excelenţă, este un sistem uman care poate conţine un subsistem informatic care automatizează anumite elemente ale sistemului informaţional (Euromethod Concepts Manual 2 - Deliverable Model, 1994) Soft de aplicaţie (application software): soft destinat să acopere nevoi specifice ale utilizatorului; de exemplu soft pentru evidenţa studenţilor, 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.
Transcript
Page 1: Baze de date.docx

INTRODUCEEA IN BAZE DE DATE CATEVA DEFINITII:

Aplicaţie (application): un sistem care oferă o mulţime de servicii pentru rezolvarea unor probleme ale utilizatorilor (ESI)

Produs soft (software product): set complet de programe, proceduri de operare, documentaţia şi datele aferente, destinate a fi livrate utilizatorului (ISO 9000-3)

Program (program, computer program): o mulţime de instrucţiuni, executate de un calculator şi destinate rezolvării unei anumite probleme.

Sistem (system): reprezentarea a ceva ce este identificabil, evoluează şi acţionează asupra unui mediu, în concordanţă cu un anumit obiectiv impus de mediu (Euromethod Dictionary); o colecţie de componente organizate pentru a îndeplini o funcţie specifică sau o mulţime de funcţii specifice (IEEE Std 610.12-1990)

Sistem informaţional (information system): aspect al unei organizaţii care produce, foloseşte şi distribuie informaţie. El include resursele umane, tehnice şi financiare ale organizaţiei. Prin excelenţă, este un sistem uman care poate conţine un subsistem informatic care automatizează anumite elemente ale sistemului informaţional (Euromethod Concepts Manual 2 - Deliverable Model, 1994)

Soft de aplicaţie (application software): soft destinat să acopere nevoi specifice ale utilizatorului; de exemplu soft pentru evidenţa studenţilor, 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

Clasificări ale programelor

după funcţionalitate generală:

Page 2: Baze de date.docx

soft de bază şi soft aplicativ

după domeniul de aplicare

aplicaţii de gestiune, aplicaţii pentru calcule ştiinţifice, aplicaţii de CAD/CAM (Computer Aided Design - Computer Aided Manufacturing), aplicaţii multimedia, aplicaţii bazate pe Internet, etc.

după tipul prelucrărilor efectuate

după tipul şi intensitatea legăturilor cu mediul extern

Clasificări ale programelor - tipuri majore de prelucrare

prelucrare batch (pe loturi): aceeaşi 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ă când se modifică acestea

prelucrare distribuită: transformarea datelor implică folosirea de sisteme multiprocesor sau de reţele distribuite de calculatoare, locale sau dispuse pe o arie geografică largă; este caracterizată de latenţă în comunicaţie

Clasificări ale programelor după tipul şi intensitatea legăturilor cu mediul extern

aplicaţii cu interfaţă interactivă: menu-driven applications; utilizatorul selectează o opţiune dintr-un meniu

aplicaţii de simulare dinamică: simulează obiecte evolutive din lumea reală

simularea traficului într-o intersecţie; simulatoare de zbor

aplicaţii în timp real: modelează sisteme dominate de restricţii severe de timp

supravegherea şi controlul unui reactor nuclear; pilot automat

programe de gestiune a tranzacţiilor: memorare, actualizare şi regăsire de date, inclusiv acces concurent din diverse locaţii 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.).

Clasificări ale aplicaţiilor de gestiune (Flaaten, 1989)

sisteme de gestiune a tranzacţiilor (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)

Page 3: Baze de date.docx

sisteme informatice pentru conducere (executive information systems, EIS)

Sisteme de gestiune a tranzacţiilor

calcul de salarii, facturare

ieri - sisteme batch - operatori introducere date

azi - sisteme on-line - funcţionari specializaţi, care trebuie să ia decizii

baza de date este actualizată continuu

sistem integrat de prelucrare a tranzacţiilor, bază de date integrate

Sisteme informatice pentru management

buget, contabilitate

ieri - sisteme batch - rapoarte voluminoase

căutarea manuală a informaţiei

azi - sisteme on-line - rapoarte la cerere, interogări personalizate

suporturi diferite pentru rapoarte: hârtie, fişier pe suport magnetic, ce se poate transmite celor interesaţi prin reţeaua de comunicaţie

datele se preiau în bună măsură de la sistemele de gestiune a tranzacţiilor

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 aceloraşi date, fără efort de programare

prezentare tabelară sau grafică a datelor

efectuează corelaţii şi analize de tendinţe

conţin 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

iniţial: instrumente de prelucrare a documentelor,

materializare a metafora desktop-ului (biroului de lucru) pe sistemele cu interfaţă grafică moderne

conţin conţin instrumente de comunicare între posturile de lucru

Page 4: Baze de date.docx

ajută la estomparea diferenţei dintre prelucrarea tranzacţiilor (efectuată de funcţionari) şi prelucrările specifice muncii de secretariat.

includ:

procesoare de texte

procesoare de tabele

instrumente de comunicare, mesagerie, poştă electronică

instrumente de navigare în Internet.

Sisteme departamentale

de regulă o mixtură între sisteme de prelucrare a tranzacţiilor, sisteme de sprijin pentru decizii şi sisteme de automatizare a biroului

domeniul de acţiune: un singur departament al unei organizaţii (sau o filială a acesteia aflată la distanţă faţă de sediul central)

sunt conectate la sistemele organizaţiei, însă au şi funcţiuni specifice

de obicei când departamentul are cerinţe de prelucrare şi memorare a datelor care nu sunt incluse în sistemul informaţional al organizaţiei, nefiind specifice acesteia în ansamblul său.

tendinţa modernă: integrarea sistemelor departamentale în intranetul organizaţiei

exemplu: sistemul laboratorului unui spital.

Sisteme expert

(de obicei) sisteme bazate pe reguli care ajută utilizatorii nespecialişti să efectueze activităţi (să obţină expertiză) în domenii în care n-au pregătirea necesară.

tehnologia folosită: inteligenţa artificială

scopul: răspândirea cunoştinţelor deţinute de un număr mic de experţi

schemă de reprezentare a cunoştinţelor

bază de cunoştinţe dotată cu un motor de inferenţă

cunoştinţele se reprezintă prin fapte, reguli, aserţiuni.

domenii predilecte de aplicare:

medicina,

configurarea hard a calculatoarelor,

analiza compuşilor chimici, etc.

Sisteme informatice pentru conducere

Page 5: Baze de date.docx

destinate conducerii executive a organizaţiei (vârfului piramidei ierarhice).

oferă acces conducătorilor la

baze de date externe organizaţiei (despre ramura industrială respectivă, competiţie, preţuri, inovaţii tehnice)

baze de date interne organizaţiei (la nivel de informaţie de sinteză).

informaţia este prezentată într-o manieră sintetică

tablou de bord

tabele

grafice

Ciclu de viaţă a unu program:

naştere

apare ideea (necesitatea) realizării programului şi se aprobă dezvoltarea lui

creştere

dezvoltarea

maturitate

instalarea

exploatarea curentă

întreţinerea

bătrâneţe (vârsta a III-a)

exploatare cu probleme

moarte

scoaterea din exploatare

Fazele ciclului de viaţă

definiţia (munca de echipa - informatician si client)

începe când este formulată problema de rezolvat

pune accentul pe CE face programul

CE informaţie se prelucrează

CE funcţii sau performanţe trebuie să aibă sistemul

CE interfeţe cu alte sisteme

Page 6: Baze de date.docx

CE restricţii de proiectare există

CE criterii de validare sunt necesare

dezvoltarea ( sarcina programatorul)

pune accentul pe CUM trebuie făcut programul

testarea (munca de echipa - informatician si client)

exploatarea (client - asistat de informatician)

întreţinere

Paşii fazei de definiţie

analiza de sistem (ingineria de sistem)

stabileşte rolul pe care-l joacă programul în ansamblul sistemului informaţional al organizaţiei.

planificarea proiectului

analiza riscurilor, estimarea costurilor şi alocarea resurselor necesare pentru dezvoltare, definirea sarcinilor de lucru şi a orarului de derulare al proiectului.

analiza cerinţelor

definirea detaliată a informaţei care se prelucrează, specificarea clară a funcţiilor pe care trebuie să le execute programul şi precizarea restricţiilor impuse asupra acestuia

Page 7: Baze de date.docx

MODELUL CASCADA:

Analiza cerintelor

verificare

specificatii

proiectare

implementare

testare

integrare

testare

mentenanta

Actualizare cerinte

verificare

verificare

verificare

MODELUL V:

Definirea cerintelor

Proiectarea functionala

Proiectarea tehnica

Specificare componente

Test de acceptare

Testarea sistemului

Testarea pentru integrare

Testarea componentelor

Generare cod

Page 8: Baze de date.docx

PROTOTIPIZAREA:

Colectarea cerinţelor şi rafinarea lor

Proiectare rapidă

Construirea prototipului

Evaluarea prototipului de către client

Rafinarea prototipului

Realizarea

produsului

Start

Stop

Avantaje

implicarea utilizatorului în aproape toate activităţile

o mai bună comunicare între analist şi utilizator

scopul creării prototipului este completarea analizei cerinţelor

existenţa mediilor vizuale sprijină prototipizarea

se pot realiza prototipuri complet funcţionale şi eficiente

Dezavantaje

utilizatorul percepe prototipul ca fiind produsul final

realizarea prototipului se face cu anumite compromisuri de implementare (mediu de implementare, algoritmi, simplificarea funcţionalităţii)

etapa (6) pleacă de multe ori de la zero

Dezvoltarea iterativă şi incrementală (modelul spirală, Boehm)

Page 9: Baze de date.docx

Planificare Analiza riscurilor

InginerieEvaluarea clientului

Colectarea cerinţeloriniţiale şi planificareaproiectului

Planificare bazatăpe comentariileclientului

Evaluarea clientului

Analiză de riscbazată pe cerinţeleiniţiale

Analiză de riscbazată pe reacţiaclientului

Decizie go, no-go

Spre un sistemcomplet

Prototipul iniţialUrmătorul prototip

Produsul final

Avantaje

abordare evoluţionistă

ajută la înţelegerea riscurilor şi la identificarea modalităţilor 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ă

atenţie acordată riscurilor tehnice în toate etapele proiectului

dacă un risc major nu este descoperit

Analiza Etape (sarcini)

(1) recunoaşterea problemei

(2) evaluarea şi sinteza

(3) modelarea

(4) specificarea

Page 10: Baze de date.docx

(5) revizuirea

Tehnici de comunicare Procesul de comunicare

părţi:

clientul - are o problemă care trebuie rezolvată prin folosirea calculatorului

analistul - încearcă să înceapă rezolvarea cererii clientului

scop

colectarea de informaţii despre sistemul existent şi despre ceea ce se doreşte 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 informaţii

1) interviul

încercare sistematică de a colecta informaţie de la o persoană

paşi - derulare

(i) pregătirea

familiarizare cu domeniul problemei, organizaţiei, proiectului

(ii) planificarea şi orarul

listă de întrebări, persoane, data, ora, locul

(iii) începutul şi terminarea

prima (ultima) impresie contează, atmosferă relaxată

prezentare (început), rezumat (sfârşit)

(iv) desfăşurarea propriu-zisă a interviului

(v) (eventuale) interviuri ulterioare pentru clarificări

(2) modelul propus de Gause-Weinberg - structurarea întrebărilor pe care analistul le pune clientului în trei grupuri

primul grup de întrebări: fără legătură cu contextul problemei de rezolvat

scopuri:

Page 11: Baze de date.docx

înţelegerea în mare a problemei, oamenilor, naturii dorite a soluţiei

obţinerea justificării continuării colaborării cu clientul

sunt axate pe client, obiectivele generale şi beneficiile pe care le poate aduce soluţia:

(i) ce este în spatele acestei comenzi pentru noul program?

(ii) cine va folosi programul?

(iii) care va fi beneficiul economic al unei soluţii bune?

(iv) exista alternative de rezolvare a problemei?

al doilea grup de întrebări

scopuri

o mai bună înţelegere a problemei de către analist

permit clientului să formuleze percepţiile sale asupra soluţiei

exemple

(i) cum aţi caracteriza o buna ieşire?

(ii) ce dificultăţi ar întâmpina (ar produce) o asemenea soluţie?

(iii) poţi să-mi araţi mediul în care ar fi folosită soluţia?

(iv) există anumite aspecte particulare privind performanţele sau restricţiile care ar putea afecta modul de abordare a rezolvării?

al treilea grup - metaîntrebări se referă la beneficiile întâlnirii client-analist:

(i) sunteţi persoana potrivită sa răspundeţi la aceste întrebări?

(ii) răspunsurile dumneavoastră sunt oficiale?

(iii) întrebările mele au fost pertinente faţă de dificultăţile care le aveţi?

(iv) am pus prea multe întrebări?

(v) mai aveţi pe cineva aici care mi-ar putea da informaţie suplimentară?

(vi) mai e cineva de cine ar trebui să vă întreb?

DOMENIUL INFORMATIEI

Domeniul informaţiei - puncte de vedere

(a) fluxul informaţional

(b) conţinutul informaţiei

(c) structura informaţiei

Page 12: Baze de date.docx

Fluxul informaţional caracterizează

circulaţia informaţiei în sistem

maniera în care se modifică datele

controlul la fiecare mutare a lor în sistem:

Conţinutul informaţiei

se referă la semantica informaţiei, grupând-o în tipuri de entităţi

este definit de datele individuale şi elementele de control care formează împreună un element mai mare (complex) de informaţie - entitate sau tip de entitate

Structura informaţiei

defineşte organizarea internă a elementelor de date (atribute) şi de control dintr-un tip de entitate

structura ilustrează

(i) legăturile unui entati cu alte entitati,

(ii) câte structuri diferite există (toată informaţia este conţinută î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 Paşi în modelarea datelor:

Modelarea datelor - puncte de vedere

(a) aria de cuprindere a modelului

model de date al organizaţiei

model de date al unei arii de activitate a organizaţiei

model de date al unei aplicaţii

(b) nivelul de abstractizare a modelului

model conceptual de date: foloseşte numai elemente din domeniul problemei

model logic de date: foloseşte şi elemente din domeniul soluţiei

model fizic de date

Modelarea datelor - puncte de vedere

Page 13: Baze de date.docx

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

ingineria de sistem- modele conceptuale

modelul de date al organizaţiei

modelul de date al ariei de activitate

analiză - modele conceptuale

modelul de date al contextului aplicaţiei

modelul conceptual de date al aplicaţiei

proiectare

logică - modelul logic de date al aplicaţiei

fizică - modelul fizic de date al aplicaţiei

TIPURI DE MODELE:

Dupa modul de organizare

modelul entitate - relatie

modelul orientat obiect

MODELUL ENTITATE-RELATIE

Construcţii folosite (concepte, termeni)

entitate: persoane, locuri, obiecte, evenimente, concepte din mediul utilizatorului pentru care organizaţia doreşte să deţină date

atribut:

proprietate sau caracteristică a unui tip de entitate care prezintă interes

toate instantele unui tip de entitate E au aceleaşi atribute

valorile unui atribut diferă de la o instanţă a lui E la alta

relatie

Se reprezintă grafic prin diagrama entitate-relaţie

ATRIBUTE

Clasificarea atributelor unui tip de entitate

Page 14: Baze de date.docx

atribut cheie: identifică o instanţă a entităţii

atribut non-cheie

Tipuri de atribute cheie

cheie candidat: identifică unic o instanţă a entităţii

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 entităţi E

(i) cheia candidat a lui E care nu-şi modifică valoarea pe toată durata de viaţă a oricărei instanţe

(ii) pentru orice instanţă a lui E, atributele lui CP au valori valide şi non-nule

(iii) dacă CP are prea multe atribute, se înlocuieşte cu o cheie surogat

REALTIE

Gradul unei relaţii

numărul de tipuri de entităţi care participă în relaţie

clasificarea relaţiilor după gradul lor:

unare sau recursive (de gradul 1)

binare (de gradul 2)

ternare (de gradul 3)

Cardinalitatea unei relaţii

de la entitatea A la entitatea B: numărul de instanţe ale entităţii B asociate unei instanţe a entităţii A

de la entitatea B la entitatea A: numărul de instanţe ale entităţii A asociate unei instanţe a entităţii B

MODEL CONCEPTUAL DE DATE

Identificarea şi definirea elementelor din domeniul problemei pentru care trebuie memorate date

Identificarea şi definirea relaţiilor dintre acestea

Identificarea şi definirea elementelor din domeniul problemei pentru care trebuie memorate date

Page 15: Baze de date.docx

Identificarea şi definirea relaţiilor 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 aplicaţie are propriul său model de date

ierarhic

succesul sistemului soft pentru misiunile APOLLO (IBM + NASA)

structura arborescenta

reţea

generalizare a modelului ierarhic

CODASYL - standard neacceptat

relaţional

algebra relaţiilor

SQL - nivel înalt, neprocedural

orientat pe obiecte

anii 90

aplicaţii specifice CAD, GIS

Modelul relational Caracteristici

reprezintă datele în tabele (relaţii) bidimensionale

Page 16: Baze de date.docx

corespunde entităţii din modelul E-R

coloane - atribute

linii - instanţe

celule - intersecţii de linii şi coloane

defineşte

structura datelor - modul de organizare a datelor în tabele

operaţiile de manipulare a datelor - ce operaţii se folosesc pentru a

integritatea datelor - precizează regulile specifice aplicaţiei care întreţin consistenţa datelor, la operaţiile de manipulare

Proprietăţile relaţiilor

(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 său, nu prin poziţia din relaţie

(5) ordinea nedefinită a liniilor

fiecare linie este identificată prin cheia primară, nu prin poziţia sa în table

Relaţii bine structurate şi slab structurate Definiţii informale

relaţie bine structurată

conţine o cantitate minimă de redundanţă

inserarea, modificarea şi ştergerea de linii în/din relaţie se fac fără erori şi fără a produce inconsistenţă

relaţie slab structurată

Page 17: Baze de date.docx

nu este bine structurată

Definiţii

inconsistenţă a unei relaţii: linii diferite ce corespund aceluiaşi student au valori diferite pentru atributele cu valoare unică

operaţie de actualizare a unei relaţii: inserarea unei linii noi, modificarea unei linii existente şi ştergerea unei linii existente

anomalie: eroare şi/sau inconsistenţă produsă prin operaţiile de actualizare a unei relaţii

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 relaţie nu trebuie să producă pierdere colaterală de informaţie

de modificare

regulă de conservare a consistenţei: atributele ce depind de o parte a cheii primare (subcheie) trebuie să aibă aceeaşi valoare în toate liniile cu subcheia respective

Ciclul de viață al bazelor de date relaționale

Stabilirea cerintelor informationaleDeterminarea

cerintelor

Modelare conceptuala

Transformarea in tabele

Normalizare

Integrarea vederilor

mentenanta

implementare

denormalizare

Selectare indecsi

Proiectarea logica

Proiectarea fizica

vedere unica

vedere multipla

implementare

restrictii speciale

altfel

renuntare

altfe

l

Page 18: Baze de date.docx

PROIECTAREA FIZICA A DATELOR Obiectivimplementarea bazelor de date sub forma unei mulţimi de înregistrări, fişiere, indecşi şi alte structuri de date care:

asigure cerinţele de performanţă dorite

să conserve integritatea BD

să asigure securitatea şi recuperabilitatea informaţiei

Elementele cunoscute (datele de intrare) sunt:

(a) structura logică a datelor

exprimată prin modelul logic de date

(b) cerinţele de prelucrare ale utilizatorilor

(c) caracteristicile hard şi soft ale mediului

Cerinţele de prelucrare ale utilizatorilor

identificate la analiza cerinţelor

se referă la

(i) dimensiunea şi frecvenţa de utilizare a BD

(ii) timpi de răspuns

(iii) securitate

(iv) salvări

(v) recuperare din situaţii de eroare

(vi) arhivare

Caracteristicile hard şi soft ale mediului în care se face implementarea

maşina fizică

sistemul de operare

SGBD-ul ales

softul de comunicaţie

Componentele proiectului fizic de BD

Page 19: Baze de date.docx

(1) analiza volumului şi utilizării datelor

(2) strategia de distribuire a datelor

(3) organizarea fişierelor

(4) indexarea

(5) constrângerile de integritate

Analiza volumului şi utilizării datelor Scop: estimarea

dimensiunii (volumului) datelor

sabloanelor de utilizare a bazei de date

Estimările de volum servesc la

selectarea perifericelor de stocare

estimarea costurilor de stocare

Şabloanele de utilizare servesc la

stabilirea organizării fişierelor şi a metodelor de acces

planificarea folosirii indecşilor

planificarea strategiei de distribuire a datelor

Analiza volumului

Estimările de volum se obţin prin consultarea utilizatorilor

Analiza utilizării datelor

Sarcini:

(a) identificarea tranzacţiilor şi prelucrărilor majore asupra bazelor de date

(b) elaborarea hărţii tranzacţiei şi a formularului de încărcare pentru fiecare tranzacţie

Pasi

identificarea tranzacţiilor

pentru fiecare tranzacţie şi proces se determină

modalităţile de accesare a BD

frecvenţa de utilizare a tranzacţiei/procesului

se elaborează formularul de analiză a tranzacţiei

Page 20: Baze de date.docx

Strategia de distribuire a datelor Strategii de distribuire a datelor

după strategia de distribuire

centralizată

partiţionată

replicată

hibridă

client-server

BD memorată pe mai multe calculatoare

BD distribuită: BD logică este distribuită fizic pe mai multe calculatoare, conectate în reţea

BD descentralizată: BD logică este distribuită fizic pe mai multe calculatoare neconectate între ele

Strategia centralizată

BD pe un singur calculator

avantaje

simplificarea implementării

dezavantaje

date inaccesibile utilizatorilor aflaţi la distanţă

costuri de comunicare mari

aplicaţiile client nu funcţionează când BD nu este operaţională

Strategia partiţionată

BD este împărţită în partiţii disjuncte numite fragmente

fiecare fragment este memorat într-o locaţie (calculator)

avantaje

datele sunt mai aproape de utilizatorii locali

criteriul de partiţionare

dezavantaje

costuri de comunicare mari pentru datele din altă locaţie

Strategia cu replicare

Page 21: Baze de date.docx

o copie completă a BD (numită replică) este memorată în fiecare locaţie (calculator)

avantaje

minimizarea timpului de accesare

dezavantaje

problema sincronizării replicilor

o actualizare dintr-o locaţie trebuie operată în toate replicile)

Strategia hibridă

combinaţie între strategia partiţionată şi cea cu replicare

BD este împărţită îm

fragmente critice: se memorează în mai multe locaţii

fragmente non-critice: se memorează într-o singură locaţie

avantaje

problema sincronizării are complexitate mai mică

dezavantaje

sincronizarea fragmentelor critice

Strategia client-server

reţea de calculatoare: maşini

servere

de fişiere (BD): servicii de accesare a datelor

de aplicaţii: logica aplicaţiei

clienţi: prezentarea datelor, interacţiunea cu utilizatorul

avantaje

maşini specializate

separarea funcţionalităţii

întreţinere uşoară

dezavantaje

comunicarea între maşini - costuri

încărcarea maşinilor

Page 22: Baze de date.docx

Organizarea fişierelor Definitie: Tehnică de aranjare fizică a înregistrărilor unui fişier aflat în memoria externă

Organizarea secvenţială

înregistrările din fişier se memorează în ordinea valorii cheii primare

Organizarea indexată

înregistrările din fişier se memorează secvenţial sau nesecvenţial

fiecare înregistrare are o poziţie bine determinată în fişier,

sistemul de gestiune a fişierelor dispune de o instrucţiune de poziţionare,

la deschiderea fişierului f se creează un index care permite localizarea unei înregistrări după valoarea cheii primare

indexul este o tabelă sau o altă structură de date care este folosită pentru determinarea locaţiei (înregistrării) unei linii din fişier (tabela de înregistrări) care satisface anumite condiţii

secvenţial indexată (index-sequential)

înregistrările sunt memorate în fişier secvenţial, în ordinea valorii cheii primare

indexul se numeşte index simplu sau index bloc

nesecvenţial indexată (index-nonsequential)

fişierul se mai numeşte fişier master (master file)

înregistrările din fişierul master nu sunt memorate în ordinea valorii cheii primare

indexul se numeşte index inversat şi este o tabelă ordonată de perechi de forma (val_cheie, recn), criteriul de ordonare fiind val_cheie

selectivă (selective, random)

adresa fiecărei înregistrări din fişierul master se determină pe baza unui algoritm de dispersare (hashing), care foloseşte o funcţie de dispersare (hashing function)

funcţia de dispersare converteşte valoarea cheii la o poziţie de înregistrare din fişierul master

INDEX

Indexare după cheia primară

tabela T va conţine valori distincte pentru fiecare val_cheie

Indexare după atributele non-cheie

tabela T conţine perechi de forma (valoare_atribut, recn)

Page 23: Baze de date.docx

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 fişier

(i) accesul rapid în regăsirea informaţiei din fişier

(ii) puterea sporită de prelucrare a tranzacţiilor

(iii) folosirea eficientă a suportului

(iv) protecţia la incidente sau pierderi de date

(v) minimizarea nevoii de reorganizare

(vi) adaptarea la creşterea volumului fişierului

(vii) protecţia datelor din fişier faţă de accesul neautorizat

Cazurile in care se recomanda creerea unui fisier indexEste 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

Page 24: Baze de date.docx

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 numele tabelului

[( nume_coloana tip de data (lungime),

nume_coloana tip de data (lungime),

…..

nume_coloana tip de data (lungime))]

Page 25: Baze de date.docx

Crearea unui tabel index:CREATEA INDEX numeindex ON

nume_tabela ( coloana[, coloana])

Algebra relationalaA 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

Page 26: Baze de date.docx

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]}

Page 27: Baze de date.docx

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

Page 28: Baze de date.docx

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

Page 29: Baze de date.docx

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


Recommended