Professional Documents
Culture Documents
2014-2015
CUPRINS
1. Introducere .............................................................................................................................1
1.1
1.2
3.2
7.2
7.1.1
7.1.2
7.1.3
7.1.4
8.2
8.3
8.4
8.4.1
8.4.2
8.4.3
Clasificare dup numrul de staii pe care este stocat baza de date: .................. 26
8.5
8.6
8.6.1
Hardware: ........................................................................................................... 28
8.6.2
Software:.............................................................................................................. 28
8.6.3
Utilizatorii ........................................................................................................... 29
8.6.4
8.7
8.8
8.9
8.10
10.
9.1
9.2
9.3
9.4
9.5
9.6
9.7
9.8
10.2
II
CURS 1
1. INTRODUCERE
Sistemele informaionale pentru management (Management information system MIS) au
aprut la nceputul anilor 80 n companiile americane, iar n ultimii ani, impactul noilor tehnologii
informaionale i curentul descentralizrii i reorganizrii au determinat creterea cererii de
informaii furnizate de SIM i la nivelul managerilor de mijloc.
n prezent nu exist o definiie unanim acceptat a sistemelor informatice pentru management
(SIM), dar se poate opta spre o variant cum ar fi:
Sistemul informaional pentru management (SIM) este o combinaie de resurse umane i
informatice care urmresc colectarea, stocarea, organizarea, apelarea, comunicarea, distribuirea i
utilizarea datelor i informaiilor pe care le folosesc managerii n exercitarea funciilor de
conducere, n scopul realizrii unui management eficient.
Sistemele informaionale pentru management sunt ansamble de instrumente ce ofer acces direct,
on-line la informaiile relevante, ntr-o interfa prietenoas, ntr-un dialog uor de exploatat. Aceste
informaii oferite on-line, n timp real, au o importan deosebit pentru managerii de nivel superior,
pentru fundamentarea deciziilor organizaiei i pentru exercitarea unui control mangerial
corespunztor.
Relevana informaiilor reunete o serie de caracteristici printre care: oportunitate, corectitudine i
utilitate, iar interfaa unui astfel de sistem trebuie s rspund cerinelor unor utilizatori care au puin
timp, puin experien i deprinderi limitate n utilizarea calculatorului.
Scopul i rolul unui SIM este de a oferi conducerii superioare (i medii) acces facil i rapid la
informaiile despre factorii cheie, decisivi n atingerea obiectivelor generale ale ntreprinderii, n
exercitarea controlului managerial eficient i eficace.
Condiiile ce trebuiesc ndeplinite de sistem sunt:
s fie ct mai uor de utilizat, iar timpul de rspuns s fie imediat. S foloseasc intensiv
afiarea n mod grafic i s asigure accesul n timp real la bazele de date interne i externe;
s ofere informaii despre starea curent de fapte i tendinele estimate pentru factorii cheie;
forma de prezentare a informaiilor s fie conform cu preferinele managerului ce utilizeaz
sistemul.
MM
DCC
TM
ML
Fig. 1.1
n Fig. 1.1 este reprezentat un sistem mechanic format dintr-o main motoare (MM), o transmisie
mecanic transmisie prin roi dinate, transmisie prin curele etc. - , o main de lucru (ML) i
modulul denumit dispozitiv de comand i control (DCC).
Pentru a putea da natere unui sistem, elementele trebuie s aib o anumit afinitate, s se atrag,
s depind i s se influeneze unele pe altele.
Sistemele, la rndul lor, sunt organizate pe mai multe niveluri, deoarece elementele lor sint i ele
formate din alte elemente, fiind de fapt nite subsisteme.
Orice sistem de ordin superior este compus dintr-o mulime de subsisteme de ordin inferior.
Sisteme informaionale de
conducere startegic (SCS)
Tipuri de sisteme
informaionale
Manageri
Funcionari
Tipuri de
salariai
Lucrtori n
producie i
service
Fig.1.2Ierarhia tipic a conducerii afacerilor, a tipurilor de salariai
i a sistemelor
Sisteme de prelucrare tranzacii
Finite
Deschise
nchise
Simple
Complexe
Probabilste
Deterministe
Lineare
Neliniare
Fig. 1.3
Organizarea sistemelor a dus la generarea altor sisteme, din ce n ce mai complicate i mai
diverse, diversitatea fiind provocat de substana i energia din care sunt constituite ci modul cum
sunt organizate.
2. ORGANIZAREA SISTEMELOR
Pe parcursul evoluiei lor, diferitele componente ale sistemeor au tensina de a se organiza n
sisteme tot mai complicate, drept urmare pe lng principiul ordinii i organizrii sitematice, exist i
un principiu al integrrii universale.
Integrarea genetic se bazeaz pe capacitatea unor sisteme, ca pe lng capacitatea de autoorganizare, s o aiba i pe cea de auto-regenerare, adic elementele unui sistem fac parte din acesta
pentru c au aprut sau au luat natere cu acl sistem. n cazul acestei integrri prile se creaz
reciproc i necontenit iar pstrarea unora depinde de pstrarea altora.
Integrarea prin constrngere const dintr-o integrare prin for, elementele sistemului fiind
obligate s funcioneze ntr-un anumit cadru organizatoric. Rolul coercitiv, n cele mai multe cazuri,
l reprezint legile, actele normative, regulamentele de organizare i funcionare, etc.
Integrarea prin dependen spre deosebire ce primele dou prezentate anterior acestea se refer
la elementele din cadrul unui sistem care continu s rmn n cadrul lui pentru c depind ntr-un fel
sau altul, de alte elemente. Spre exemplu, sistemul producie depinde de producie depinde de
sistemul financiar i sistemul financiar depinde de cel de producie.
Integrarea la alegere const n posibilitatea elementelor de a alege sistemul cruia s-i aparin.
n aceast situaie, elementele (subsistemele) au posibilitatea de a alege apartanena la un anumit
sistem organizatoric. Prin urmare sistemul trebuie s desfoare o succesiune de procese
informaional decizionale , avnd o mai mare libertate de aciune fa de integrrile precedente.
Integrarea la ntmplare se refer la posibiltatea elemetelor de a face parte dintr-un sistem
sau altul pe baza unei ntmplri.
2.1 Reglarea prin integrare
Reglarea reprezint procesul prin care sistemele fac eforturi pentru a-i menine o anumit stare,
nerealizat n mod spontan. n toate cazurile, procesele de reglare, pe lng elementul reglat, dispun
i de un reglator.
Procesul de reglare presupune din partea sistemului o anumit organizare i oferirea cadrului
propiu desfurrii lui, ceea ce nseamn existena substanei, energiei i informaiei.
Elementele sistemelor pot fi organizate n serie, paralel sau n sistem nchis.
Organizarea n serie, dac un element 2 al unui sistem care urmeaz unui element
1poate influenat de acesta, atunci elementul 2 poate fi reglat de elementul 1. Pentru sistemele
economice un exemplu ar fi modul de influenare a costului de la o faz de fabricaie la alta, n
metoda calcului pe faze.
Organizarea paralel, ofer posibiliateta ca elemntul 1 s poat nlocui sau compensa o
eventual defeciune a elementului 2. Este cazul sistemului de fabricaie n care un utilaj defectat
poate fi suplinit prin ncrcarea suplimentar a altora.
Organizarea n circuit const n facilitatea ca un element 2, care a fost influenat de un
elemnet 1, s influeneze, la rndul lui, elementul 1, putndu-l corecta. Edificator este cazul
creterea cheltuielilor cu materiale reducere beneficiului i invers.
Reglarea presupune cuplarea a cel puin dou elemente din care unul, asupra cruia se exercit
cele mai multe perturbaii, poate fi reglat, iar cellat reglator. Acest proces de reglare a elementelor
componente sau a fenomenelor reprezint un nceput de integrare.
Datorit adugrii de noi elemente cuplate n serie, se poate ajunge la un lan, iar prin cuplarea
elementelor din lanuri diferite se ajunge la o reea.Reglarea n reea este caracteristic sistemelor
integrate n care totul se leag cu totul. n lanuri i reele apar i anumite cicluri, cu rol de reglare a
sistemelor integrate.
Dac numrul elementelor care se nlnuiesc devine foarte mare, se ajunge la un anumit exces
sau redundan (aceasta devenind i ea un mijloc de reglare). Redundana, la rndul ei, face posibil
apariia altor mijloace de reglare; dispunnd de mai multe elemente dect i-ar fi absolut necesare,
sistemele pot recurge la nlocuirea i compensarea unor elemente cu altele.
n concluzie, ca mijloace noi de reglare a sistemelor informaionale sunt: cuplarea i nlnuirea
elementelor, reteele, ciclurile, redundana, substituirea, compensarea, dependena i
constrngerea.
CURS 2
4. PROIECTAREA SISTEMELOR INFORMAIONALE
Funcia corespunztoare a unei organizaii nu se poate realiza fr un sistem informaional
care s pun la dispoziia managerilor i a personalului de execuie, datele i informaiile necesare
pentru stabilirea i ndeplinirea obiectivelor, sarcinilor, competenelor i responsabilitilor ntregului
personal.Este foarte important a nu se confunda sistemul informaional cu cel informatic ntre care
exist un raport ca de la ntreg la parte.
Sistemul informatic se rezum la culegerea, transmiterea i prelucrarea cu mijloace
automatizate a informaiilor n timp ce sistemul informaional este mult mai cuprinztor. Datorit
creterii ntr-un ritm accelerat a performanelor tehnicii de calcul automatizate, tendina actual este
de cretere a ponderii utilizrii acesteia precum i de amplificare a rolului sistemului informatic n
ansamblul sistemului informaional.
n rile dezvoltate, n firmele competitive, sistemul informatic ocup o pondere foarte
nsemnat, apropiindu-se de 90% din totalui sistemului informaional. Cu toate acestea, importana
elementelor informaionale care in strict de natura uman, este deosebit, avnd un rol major n
calitatea sistemului informaional i a celui managerial.
Pe masura dezvoltrii societii, a creterii complexitii activitilor, proceselor de munca si
numarul i complexitatea informatiilor necesare, a crescut i implicit importana sistemului
infomaional. Datorit acestor elemente, a aparut i s-a conturat noiunea de management al
informaiei.
au un coninut semnificativ pentru cel care le prelucreaz (analistul) i pentru cel care le
recepteaz i le folosete. Dup receptarea mesajului informaional, acestea se transform n
date care se stocheaz n vederea unei folosiri ulterioare;
informaiile ofer putere celui care le deine;
au o valoare economic, de piai pot genera eficiena.
Informaiile se clasific astfel:
Dup modul de exprimare:
orale ieftine, rapide, nuanate, necontrolabile, nestocabile;
scrise formale, lente, controlate, stocabile, ieftine
audio-vizuale formale, rapide, sugestive, nuanate, nalt stocabile, costisitoare;
Dup gradul de prelucrare:
primare studii incipiente de prelucrare, frecven mare de prelucrare;
intermediare parial prelucrate, privesc managementul inferior, frecven medie;
finale total prelucrate, sintetice, complexe, privesc managementul mediu i superior;
Dup directia de vehiculare
descendente obligatorii i genereaz aciuni;
ascendente frecven periodic, informatoric;
orizontale cooperare, interdependente;
Dupa modul de organizare a inregistrrii i prelucrrii:
tehnico-operative analitice, frecvene i verific execuia;
de evidena contabil analitice, reflect procesele economice, postoperative;
statistice sintetice, postoperative, periodice, finale;
Dup provenien:
indogene;
exogene;
Dup destinaie:
interne;
externe;
Dup obligativitate:
imperative;
neimperative;
Dup natura proceselor reflectate:
de cercetare-dezvoltare;
comerciale;
de producie;
financiar-contabile;
informaii privind personalul;
complexe.
C. Circuitele informationale
Pentru ca informaiile sa poat fi folosite n procesele decizionale i de execuie, ele trebuie
sa ajung la destinatari prin circuitul informaional.
Circuitul informaional este constituit din traiectul parcurs de date, informaii i decizii.
Parametrii caracterizani:
configuraia traiectului parcurs liniara, zig-zag, ondulatorie;
lungimea traseului determin vitez de trasare a datelor
D. Fluxul informational
Este alctuit din totalitatea datelor, informaiilor i deciziilor referitoare la una sau mai multe
activiti specifice vehiculate pe trasee prestabilite pe anumiti supori informaionali, cu o anumit
vitezi frecven. Dac circuitul informaional poate fi asemuit cu traseul parcurs de o maina pe o
sosea, fluxul internaional poate fi asemuit cu totalitatea autovehiculelor care se deplaseaz pe acel
traseu, pe mai multe benzi de circulaie.
Caracteristici:
viteza de deplasare depinde de densitatea i configuraia circuitelor informaionale i de
numrul punctelor de prelucrare;
coninutul depinde de modul de grupare a datelor, informaiilor i deciziilor pe anumii
supori informaionali;
frecvena;
forma sau configuraia determinat de numarul i modul de plasare a punctelor de emisie i
recepie i de directia de vehiculare.
Caracteristic organizaiei moderne este marea varietate de circuite i fluxuri informaionale.
Aceasta se clasific dupp anumite criterii:
dup direcia de vehiculare:
verticale
orizontale
oblice
dup coninut:
omogene
eteogene
dup frecven
permanente
temporare
periodice
ocazionale
dup configuraie
liniare
ondulatorii
n form de arc
n form de spiral
Indiferent de tip, este necesar ca circuitele i fluxurile informaionale s fie ct mai scurte i
mai directe pentru creterea vitezei de vehiculare a informaiei i diminuarea apariiei deficienelor
informaionale.
E. Procedurile informaionale
Reprezint ansamblul elementelor prin care se stabilesc modalitile de culegere, nregistrare,
trasmitere, prelucrare i arhivare a informaiilor cuprinse n anumite circuite i fluxuri
informaionale, precum i operaiile ce trebuiesc efectuate, succesiunea lor, suporii, formulele,
modelele i mijloacele de tratare a informaiilor.Suporii informaionali pot fi: hrtia, cartelele,
benzile de hartie, benzile magnetice, discurile magnetice.
La baza procedurilor se afl instruciuni, algoritmi de calcul, modele prin care datele sunt
prelucrate i transformate n informaiile cerute de anumite activiti.
10
11
Faza de prelucrare a datelor este aceea care determin caracteristicile organizatorice i funcia
real a unui sistem informaional. Ea poate fi un operator uman sau echipamente de prelucrare
automat a datelor (calculator electronic).
n principiu, orice sistem evoluat de prelucrare a datelor trebuie s satisfac anumite cerine:
s permit intrarea noilor date n sistem;
s asigure prelucrarea datelor dup un program dinainte stabilit;
s asigure existena elementelor operaionale pentru efectuarea
operaiilor aritmetice i logice i a elementelor de comand cu ajutorul crora se conduce
procesul de prelucrare pe baza programului stabilit.
Prin program de prelucrare a datelorse nelege o succesiune de instruciuni dup care se execut
operaiile ce conduc la obinerea rezultatelor din prelucrarea datelor.
Operaiile de prelucrare a datelor sunt: calcule matematice, compararea, sintetizarea, filtrarea,
restaurarea datelor
Faza de ntreinere a fiierelor si bazelor de de date este aceea n care are loc
stocarea/memorarea datele pentru refolosirea lor ori de cte ori este nevoie. n sistemele
informaionale mai puin evoluate, memoria extern o constituie nsi documentele n prelucrare sau
arhivate, iar n sistemele informaionale n care prelucrarea datelor se face automatizat memoria
extern este format din suporturile magnetice i optice pe care se nregistreaz fiierele sau bazele
de date. Tot n aceast faz are loc i protecia datelorn vederea accesului neautorizat.
Faza de extragere a informaiilor (rezultatelor) obinute din prelucrarea datelor n unitatea de
prelucrare. Aceast unitate poate fi un operator uman, sau, n cazul sistemelor de prelucrare
automatve vorba de dispozitive speciale de ieire. Monitorul video i imprimanta sunt principalele
periferice de ieire ale calculatorului electronic utilizate pentru extragerea informaiilor din calculator
sub form de tabele, grafice, text.
Inregistrare - n cadrul acestei funcii, datele generate n cadrul sistemului operaional sunt
recepionate i nregistrate pe un purttor tehnic. Recepionarea poate fi fcut de factorul uman, dar
i de echipamente speciale. n viitor, utilizarea acestor echipamente devine foarte important
deoarece ele contribuie la creterea vitezei de nregistrare i la creterea corectitudinii nregistrrii. n
cadrul echipamentelor speciale pot fi folosite diferite contoare, debitmetre, cititoare magnetice i
scanere.
Stocare - Se asigur memorarea datelor pe purttori de mare capacitate, actualizarea permanent
a acestor date, gestionarea lor n cadrul bazelor de date i asigurarea accesului tuturor utilizatorilor la
ele. Existena unor purttori tehnici de foarte mare capacitate permite entitilor s-i creeze baze de
date complete, care s le asigure o prelucrare integrat a acestora.
Prelucrare - Realizarea operaiunilor aritmetice i logice asupra datelor n vederea transformrii
lor n informaii necesare sistemului decizional formeaz funcia de prelucrare.
Comunicare - Este funciunea n cadrul creia se realizeaz transmiterea ntre diveri utilizatori
situai n locuri geografice diferite att a datelor ct i a informaiilor. Realizrile deosebite din
domeniul comunicaiilor au fcut posibil ca aceast funciune s permit o prelucrare n timp real a
datelor din diferite zone geografice ( prin cablul reelelor sau prin satelit). Transmiterea prin lurile
reelelor cuprind preocupri privind securitatea datelor.
12
CURS 3
7. PROIECTAREA SISTEMELOR INFORMATIONALE
7.1 Aspecte generale ale proiectrii sistemelor informaionale
Proiectarea unui sistem informational este n strns legtur cu planificarea strategic a unitii
economice crei i este dedicat. n cazul unei uniti economice n domeniul productiv mecanic
evaluarea unitii reprezint o etap larg i important. n primul rnd evaluarea unitii, ca baz
pentru evaluarea necesitii unui sistem informaional, se face pe urmtoarele stri:
A. Evaluarea unitii economice la starea zero:
Informaii:
a. Mijoace fixe
b. Mijloace mobile
c. Personal
d. Manageri
e. Furnizori
f. Beneficiari
Obiective la starea zero
a. Metode de realizare ct i realizarea proiectelor, a tehnologiilor adecvate proiectelor propuse, a
planului de producie, a planului de vnzare;
b. Promovarea prin relaii directe a calitii produselor cu furnizorii i beneficiarii
c. Asigurarea pregtirii personalului, privit ca cea mai important resurs
B. Evaluarea unitii economice la starea unu
Obiective la starea zero
a. Activarea segmentului de pia
b. Impunerea unitii economice ca etalon pentru calitatea serviciilor pe un areal geografic (zon,
regiue, ar)
c. Adoptarea unor tehnologii noi n vederea scurtrii ciclului de fabricaie precum i adoptarea unor
tehnologii de fabricaie a produselor noi.
d. Renunarea la criteriul angajaii sunt cea mai important resurs micsorarea numrului de
personal creterea productivitii muncii.
De asemenea este important pentru proiectatntul sistemului informaional s cunoasc planul
strategic al realizrii obiectivelor de la starea unu.
Strategia de realizare a strii unu depinde de capacitatea material i fianciar a unitii
economice. Strategia poate fi de urmtorul tip:
Strategia productorului cu costuri mici (producie cu costuri mici, bazat pe preuri mici
de achiziie a materialelor i costuri mici de utilizare a serviciilor i minii de lucru.
Rezult un nivel calitativ limitat al produsului final.
13
14
15
a.
b.
Fig. 7.1Exemplu de dependen ntre componente
n Fig. 7.1sunt prezentate dou exemple de mprire n componente. n Fig. 7.1 a este prezentat
o aplicaie care const din trei componente fiecare dintre ele depinznd de o a patra component
dezvoltat de o alt companie dect cea care dezvolt aplicaia. Faptul c fiecare component din 3
aplicaie depinde de o component ter constituie un grad ridicat de risc i anume: daca interfaa de
comunicare cu componenta ter se modific toate cele trei componente care depind de ea vor trebuie
s fie modificate. Riscul poate fi ns redus dac se proiecteaz o component care s intermedieze
comunicarea cu componenta ter, aa cum este cazul n Fig. 7.1 b.
Arhitectura specific comunicarea ntre componentele unui sistem software. Odat definite
componentele unui sistem software este necesar s se defineasc modul n care aceste componente
comunic ntre ele, i anume cum se realizeaz transferul de date i al informaiei de control ntre
aceste componente. De exemplu componentele se pot afla n acelai spaiu de memorie, caz n care
ele pot comunica prin apeluri de metode. Se poate ns ntmpla ca ele s se execute n fire de
execuie sau chiar procese diferite, caz n care comunicarea trebuie s utilizeze mecanisme de
sincronizare.
O serie de structuri care faciliteaz comunicarea ntre mai multe componente de un anumit tip i
care au fost folosite cu succes au fost catalogate formnd aa numitele modele de proiectare sau n
englez design patterns. Aceste modele reprezint buci de arhitectur care pot fi reutilizate.
Fiecare model are caracteristici bine cunoscute care l fac potrivit pentru rezolvarea unui anumit tip
de cerin. De exemplu, modelul de comunicare client-server are urmtoarele caracteristici:
comunicarea ntre client i server este sincron, bazat pe cerere-rspuns, iar serverul poate
comunica cu unul sau mai muli clieni printr-o interfa bine definit. Opional clientul poate crea o
sesiune pe server. Arhitectura client-server de asemenea trebuie s ofere un mecanism prin care
clientul poate s localizeze serverul, un mecanism care s permite tratarea erorilor, precum i un
mecanism care opional poate s securizeze accesul pe server.
Marele avantaj al acestor modele de proiectare const n faptul c ele au fost deja testate, iar dac
sunt folosite n mod corespunztor ntr-o arhitectur, practic se refolosesc cunotine de proiectare
deja existente. Sistemele software complexe tind s foloseasc mai multe modele de proiectare,
combinate n aa fel nct satisfac cerinele impuse arhitecturii. Un alt avantaj important al folosirii
modelelor de proiectare const n faptul c ele faciliteaz nelegerea arhitecturii aplicaiei de ctre
toi membrii echipei, reprezentnd un mijloc de comunicare foarte eficient.
16
Arhitectura specific cerine non-funcionale. Cerinele non-funcionale sunt acele cerine care
definesc cum asigur aplicaia funcionalitatea cerut i nu ce trebuie s fac aplicaia. Exist trei
tipuri distincte de cerine non-funcionale:
- Constrngeri tehnologice: constrng arhitectura unei aplicaii prin specificarea anumitor
tehnologii care trebuie folosite; de exemplu: nu avem dect programatori Java, n concluzie trebuie
s folosim Java ca i limbaj de programare.
- Constrngeri impuse de politica firmei: acestea reduc opiunile de proiectare pe baza unor
constrngeri impuse de politica firmei. De exemplu, pentru a lrgi piaa de desfacere trebuie s
interfam cu mai multe produse.
- Indicatorii de calitate: definesc cerinele unei aplicaii n ceea ce privete scalabilitatea,
fiabilitatea, performana etc.
Arhitectura unei aplicaii trebuie s in cont n mod explicit de toate aceste aspecte. Un arhitect
software trebuie s neleag cerinele funcionale ale aplicaiei i s proiecteze o platform care s
satisfac n acelai timp i cerinele non-funcionale.
Arhitectura este o abstractizare.Pentru ca o arhitectur s poat fi neleas de ct mai mult lume
(membrii echipei, client, etc.) este absolut necesar ca n realizarea ei s se foloseasc un anumit nivel
de abstractizare. Astfel, detaliile care nu sunt importante trebuie ignorate pentru a se putea pune
accentul pe problemele care sunt importante din punctul de vedere al arhitecturii. Acest lucru se
realizeaz de cele mai multe ori prin folosirea cutiilor negre ca i reprezentare a componentelor,
specificnd doar proprietile vizibile din exterior ale acestor componente.
Unul din cele mai puternice mecanisme pentru descrierea unei arhitecturi este reprezentat de
descompunerea ierarhic. n Fig. 7.2este prezentat un exemplu de arhitectur care a fost proiectat
utiliznd descompunerea ierarhic. Astfel, la nivelul cel mai de sus aplicaia const din trei
componente care interacioneaz. Componenta C2 este descompus n alte dou componente, C21 i
C22, iar componenta C3 este descompus n trei componente, C31, C32 i C33. Avnd n vedere
arhitectura prezentat este destul de probabil ca cele trei componente s fie dezvoltate de echipe
diferite n acest fel fiind foarte clar care sunt responsabilitile fiecrei echipe.
n exemplul din Fig. 7.2componentele C2 i C3 au fost rafinate pentru c anumite cerine au
sugerat faptul c definirea detaliat a celor dou componente este necesar. Pe de alt parte
componenta C1 nu a fost rafinat pentru c structura ei intern a fost considerat nerelevant pentru
arhitectura de ansamblu a aplicaiei.
17
Perspectivele unei arhitecturi software. Avnd n vedere complexitatea arhitecturii unui sistem
software este evident faptul c exist mai multe moduri (perspective) n care o arhitectur poate fi
privit. n continuare vor fi enunate patru astfel de moduri:
- Perspectiva logic: descrie elementele semnificative ale unei arhitecturi i relaiile dintre ele.
Perspectiva logic surprinde structura unei aplicaii utiliznd diagrame de clase.
- Perspectiva proces: accentul se pune pe descrierea concurenei i a comunicrii ntre
componentele unui sistem software. Principalele obiective din punctul de vedere al acestei
perspective sunt descrierea componentelor multi-threading i a celor replicate, precum i a
mecanismelor de comunicare sincron i asincron.
- Perspectiva fizic: surprinde modul n care principalele procese i componente sunt mapate
peste echipamentul hardware. De exemplu, poate s arate cum baza de date i serviciul web sunt
distribuite peste un anumit numr de maini server.
- Perspectiva dezvoltare: surprinde organizarea intern a componentelor software. De exemplu,
pachetele i clasele unei aplicaii Java reprezint perspectiva dezvoltare.
O alt posibil clasificare a perspectivelor din care poate fi privit o arhitectur a fost introdus n
lucrarea Views and Beyond[3] n care au fost definite urmtoarele perspective:
- Modul: reprezint o perspectiv structural cuprinznd module de cod precum clasele, pachetele
i subsistemele. De asemenea surprinde i descompunerea n module, motenirea, asocierea i
agregarea.
- Component i Conector: aceast perspectiv surprinde aspecte legate de comportamentul
sistemului. Prin componente se nelege obiecte, fire de execuie sau procese, iar un conector descrie
modul n care interacioneaz componentele. Exemple de conectori sunt: socket-urile, memoria
partajat sau middleware-uri (de ex.: CORBA).
- Alocare: arat cum procesele sunt mapate peste hardware i cum se realizeaz comunicare intre
ele prin intermediul reelei i/sau al bazei de date. De asemenea surprinde i codul n sistemul de
management al configuraiei, precum i cine din grupul de dezvoltare este responsabil pentru fiecare
modul.
7.1.2 Rolul unui arhitect software
Un arhitect software are patru roluri eseniale:
- Liant: Un arhitect joac mai multe roluri de liant. El este cel care face legtura ntre client i
echipa tehnic, de cele mai multe ori mpreun cu analiti de cerine i cei de business. Face legtura
ntre diferitele echipe implicate n proiect, el fiind punctul central pentru fiecare dintre echipe.
Comunic cu managerul n vederea justificrii deciziilor i a costului. Comunic cu departamentul de
vnzri n vederea promovrii produsului.
- Inginer software: Capacitatea de a proiecta este ceea ce face dintr-un inginer software un
arhitect. Ingineria software este o calitate care este absolut necesar pentru un arhitect. Proiectul
realizat de un arhitect trebuie s fie foarte bine documentat i comunicat. Trebuie s lucreze cu
echipa de testare, documentare i release.
- Surs de cunotine tehnologice: Un arhitect trebuie s aib o bun nelegere a tehnologiilor
din domeniile care sunt relevante pentru tipul de produs la care lucreaz. Pe baza acestor cunotine
putnd lua decizii de a folosi anumite componente third-party. Trebuie s urmreasc progresul
tehnologic i s neleag cum noile standarde i produse pot fi exploatate cu succes n proiectul la
care lucreaz.
18
19
scalat n ceea ce privete distribuirea de la 100 de utilizatori desktop aflai n locaii geografice
diferite la 10.000 de utilizator fr a crete costul de instalare i configurare . Aceast formulare este
mult mai precis, astfel pentru un arhitect este clar c trebuie s gseasc o soluie care s permit
instalarea i distribuirea sistemului cu efort zero.
Performana (Performance): Performana ca i indicator de calitate reprezint o msur care
definete fie volumul de procesri pe care o aplicaie trebuie s l poat face pe unitatea de timp sau
termenul (deadline-ul) care trebuie respectat pentru finalizarea corect a unei aplicaii. Prima msur
a performanei este important pentru mai toate sistemele software din domeniul financiar, al
telecomunicaiilor i guvernamental, toate aceste aplicaii trebuind s proceseze sute, mii de
tranzacii sau poate chiar zeci de mii de tranzacii pe secund. A dou msur a performanei este
important pentru aplicaiile de timp-real care sunt ntlnite mai ales n domeniul militar; pentru
acest tip de aplicaii ntrzieri de o milisecund pot avea consecine grave. Exist o serie de
modaliti n care performana unui sistem poate fi cuantificat acestea putnd varia de la o aplicaie
la alta. n acest curs vor fi analizate trei modaliti de a cuantifica performana unui sistem software:
puterea de procesare, timpul de rspuns i termenul.
Puterea de Procesare (Throughput) Puterea de procesare (throughput) reprezint o msur a
volumului de procesri care trebuie realizate n unitatea de timp. Volumul de procesri se msoar de
cele mai multe ori n tranzacii pe secund (tps) sau mesaje procesate pe secund (mps). De exemplu,
o aplicaie de online banking poate s garanteze procesarea a 1000 de tranzacii pe secund, iar o
aplicaie pentru gestionarea inventarului poate s proceseze 50 de mesaje pe secund.
Este important s se neleag ce se specific prin puterea de procesare. Astfel ntr-un anumit
context poate fi vorba de puterea de procesare medie calculat pentru un anumit interval de timp sau
poate fi vorba de un vrf de procesare. Aceste dou lucruri sunt diferite i influeneaz n mod diferit
arhitectura sistemului.
Un exemplu elocvent este reprezentat de o aplicaie online care prea pariuri. n majoritatea
timpului puterea de procesare necesar este foarte mic ntruct nu se ntmpl mai nimic. Situaia se
schimb ns atunci cnd are loc o curs de cai, astfel nainte cu 10-5 minute de nceputul cursei
aplicaia poate sa primeasc pn la cteva sute ce cereri. n acest caz este crucial ca aplicaia sa
poat s proceseze n timp util toate cererile primite altfel afacerea va avea de suferit. De aceea n
acest scenariu aplicaia trebuie s fie proiectat astfel nct s asigure o putere de procesare care s
satisfac un vrf de cereri i nu un volum mediu.
Timpul de Rspuns (Response Time):Acest indicator msoar ntrzierea introdus de procesarea
unei tranzacii. Timpul de rspuns este de cele mai multe ori msurat ca timpul necesar unui sistem
software pentru a rspunde la o anumit modificare aprut la intrrile sistemului. Un timp de
rspuns mic face ca utilizatorul unei aplicaii s fie mai eficient, ceea ce evident este benefic pentru
firma n care el lucreaz. Un exemplu sugestiv este o aplicaie de tip punct de vnzare folosit pentru
un magazin de tip supermarket. Astfel atunci cnd este scanat un articol un rspuns rapid, de o
secund sau mai puin, pentru afiarea preului nseamn c, clientul va fi servit rapid.
i n acest caz este important s se disting ntre valoarea medie a acestui indicator i cea
garantat. Unele aplicaii necesit ca toate cererile s fie tratate ntr-un anumit interval de timp, ceea
ce nseamn c este vorba de un timp de rspuns garantat. Altele ns pot s specifice valori medii
pentru timpul de rspuns ceea ce nseamn c ntrzieri mai mari sunt permise atunci cnd sistemul
20
este foarte ncrcat. n acest ultim caz se mai poate impune o restricie de tip limit superioar pentru
timpul de rspuns. De exemplu se poate cere ca 95% din cereri s fie tratate n mai puin de patru
secunde, iar o cerere nu trebuie s dureze mai mult de 15 secunde.
Termenul(Deadline): Acest indicator msoar intervalul de timp n care sistemul software trebuie
s finalizeze un anumit task, finalizarea taskului dup expirarea termenului fiind echivalent cu
apariia unei erori n sistem. Acest indicator este specificat n special pentru sistemele software de
timp real. Astfel de sistem fiind ntlnite chiar i n sistemul bancar, de exemplu, o tranzacie
efectuat la un bancomat este considerat invalid dac dureaz mai mult dect o perioad de timp
specificat.
Scalabilitatea: Scalabilitatea reprezint un indicator ce msoar ct de bine se comport sistemul
dac dimensiunea problemei pentru care el a fost proiectat s o rezolve crete. Pentru ca acest
indicator s devin unul concret este necesar s se stabileasc ce poate s creasc.
Proiectarea sistemelor software scalabile nu este un lucru uor. De foarte multe ori necesitatea
pentru scalabilitate nu este evident nc de la nceput. Este foarte important ca arhitectul s nu
introduc n nucleul arhitecturii structuri care nu sunt scalabile. Chiar dac scalabilitatea este
prevzut ca i o cerin pentru sistem de cele mai multe ori testarea scalabilitii sistemului nu se
poate realiza fie pentru c este prea costisitor din punct de vedere financiar fie fiindc agenda
proiectului nu permite acest lucru.
Securitatea (Security):Cele mai uzuale cerine referitoare la securitate sunt urmtoarele:
- Autentificarea: aplicaia poate verifica identitatea utilizatorilor i a altor aplicaii cu care
comunic;
- Autorizarea: utilizatorii i aplicaiile autentificate au anumite drepturi de acces la resursele
sistemului;
- Criptarea: mesajele trimise de i ctre aplicaie sunt criptate;
- Integritatea: asigur faptul c, coninutul unui mesaje nu este modificat n timpul transmisiei;
- Nerepudierea: expeditorul unui mesaj este sigur c mesajul a ajuns la destinatar, iar destinatarul
este sigur de identitatea expeditorului.
Exist o serie de tehnologii care sunt folosite n prezent pe scar larg i care ofer suport pentru
aceste aspecte ale securitii unei aplicaii. De exemplu, Secure Socket Layer (SSL) i Public Key
Infrastructure (PKI) sunt folosite foarte des pentru aplicaiile Internet pentru a garanta autentificarea,
criptarea i nerepudierea. Autentificarea i autorizarea sunt suportate in Java prin Java
Authentication and Authorization Service (JAAS). i exemplele pot continua.
Disponibilitatea (Availability)Disponibilitatea unei aplicaii este strns legat de fiabilitate. Dac
o aplicaie nu este disponibil atunci cnd este nevoie de ea, atunci este puin probabil c aplicaia i
ndeplinete rolul pentru care ea a fost dezvoltat. Majoritatea aplicaiilor trebuie s fie disponibile
cel puin n timpul orelor de lucru. Aplicaiile Internet trebuie ns s fie disponibile 24 din 24.
Disponibilitatea poate fi msurat ca i raportul de timp n care aplicaia este utilizabil.
Apariia unei defeciuni face ca aplicaia s fie indisponibil. Defeciunile influeneaz fiabilitatea
unei aplicaii care se msoar ca fiind timpul mediu dintre apariia defeciunilor. De obicei sistemele
software care necesit o disponibilitate mare trebuie s nu conin aa numitul singur punct de
21
defectare (single point of failure) i s conin mecanisme care s detecteze defeciunea automat i
s reporneasc componenta defectat.
Replicarea componentelor este o metoda eficient de a crete fiabilitatea i evident
disponibilitatea unui sistem software. Astfel, atunci cnd apare o defeciune la o component
replicat sistemul poate s funcioneze pentru c folosete celelalte replici ale componentei care nc
funcioneaz. Se poate ns ca performana sistemului s fie afectat de defeciune, dar el va fi totui
disponibil.
Recuperarea dup apariia unei defeciuni afecteaz de asemenea disponibilitatea sistemului. Un
sistem software are capacitatea de a se recupera dac el revine la parametrii de funcionare normali
dup ce a aprut o defeciune. Este de dorit ca defeciunea s fie detectat automat, iar procedura de
recuperare, de asemenea s fie iniiat automat. Avnd n vedere c pe parcursul ct se execut
procedura de recuperare sistemul nu este disponibil, este de dorit ca aceast procedur s fie ct mai
scurt ca durat.
Integrarea (Integration): Integrarea este un indicator care msoar uurina cu care sistemul
poate fi incorporat ntr-un context de aplicaii mai larg. De multe ori valoarea unei aplicaii poate
fi mrit dac funcionalitatea sau datele produse de aplicaie pot fi folosite n alte moduri dect
cele care au fost prevzute de cel care a proiectat aplicaia. Cele mai folosite strategii de integrare
sunt cele la nivelul datelor sau cele realizate printr-o interfa API.
Integrarea la nivelul datelor se poate realiza prin stocarea i manipularea datelor n aa fel nct
alte aplicaii s le poat accesa. De exemplu, poate s fie suficient s se foloseasc o baza de date
relaionat pentru stocarea datelor sau poate s fie nevoie de implementarea unei funcii care s
permit exportarea datelor ntr-un format cunoscut (XML sau CSV).
Singurul dezavantaj al integrrii la nivelul datelor l constituie faptul c, aplicaiile care vor accesa
datele nu mai sunt restricionate n nici un fel i pot modifica datele fr s respecte anumite reguli.
Pentru a se evita acest lucru se poate dezvolta o interfaa API prin intermediul creia s se poat
accesa datele, n acest fel putnd fi respectate anumite reguli, n plus se poate asigura i o anumit
securitate. Evident aceast a doua soluie este mai costisitoare dect prima, de aceea arhitectul
trebuie s aleag soluia care este potrivit pentru un anumit sistem software.
Ali Indicatori: Exist o serie de ali indicatori de calitate care pot fi importani pentru anumite
tipuri de aplicaii, de exemplu:
- Portabilitatea (Portability): uurina cu care o aplicaie poate fi executat pe diverse platforme
hardware i software, de obicei este dependent de tehnologia folosit pentru implementare;
- Testabilitatea (Testability): ct de uor sau dificil poate fi test o aplicaie; este bine ca
arhitectura s fie ct mai simpl;
- Suportabilitatea (Supportability): ct de uor se poate oferi suport pentru aplicaie odat ce a
fost scoas n producie; prin suport se nelege diagnosticarea i rezolvarea problemelor aprute n
timpul funcionrii; este bine ca un sistem s fie modular permind astfel actualizarea doar a
modulelor n care a fost gsit o problem.
22
CURS 4
8. BAZE DE DATE
8.1 Aspecte generale ale proiectrii bazelor de date (1)
n sensul larg, o baz de date (database) este o colecie de date corelate din punct de vedere
logic, care reflect un anumit aspect al lumii reale i este destinat unui anumit grup de utilizatori. n
acest sens, bazele de date pot fi create i meninute manual (un exemplu ar fi fiele de eviden a
crilor dintr-o bibliotec,) sau computerizat aa cum sunt majoritatea bazelor de date n momentul
de fa.
O definiie ntr-un sens mai restrns a unei baze de date este urmtoarea: O baz de date este o
colecie de date centralizate, creati meninut computerizat, n scopul prelucrrii datelor n
contextul unui set de aplicaii. Prelucrarea datelor se refer la operaiile de introducere, tergere,
actualizare i interogare a datelor.
Orice baz de date are urmtoarele proprieti implicite:
Baza de date este o colecie logic coerent de date ce are cel puin un neles
Baza de date este destinat, construit i populat de date despre un domeniu bine precizat. Ea are
un grup de utilizatori i se adreseaz unui anumit grup de aplicaii
O baz de date reprezint cteva aspecte ale lumii reale crend orizontul propriu. Schimbrile
orizontului sunt reflectate n baza de date.
23
24
25
De asemenea mai sunt nc n funciune baze de date modele mai vechi: modelul ierarhic i
modelul reea.
D. 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 afost
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 schemeierarhice. 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 excepianodurilor frunz) are
una sau mai multe legturi ctre noduri de pe nivelul imediat inferior (noduri fii).
E. Modelul de date reea (Network Model) folosete o structurde 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.
La fel ca i modelul ierarhic, dezavantajul principal al 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, complexitatea reprezentrii datelor n modelul reea este deosebit de
ridicat, iar programatorii trebuie s o cunosasc pentru a putea realiza aplicaiile necesare.
8.4.2 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. Exist i un numr redus de sisteme
monoutilizator, adic suport accesul doar al unui utilizator (la un moment dat).
8.4.3 Clasificare 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 multe calculatoare interconectate printr-o reea de
comunicaie.
8.5 Securitatea i protecia datelor n bazele de date
Prin protecia i securitatea datelor se nelege totalitatea mijloacelor, metodelor i a mecanismelor
destinate prevenirii distrugerii, modificrii sau folosirii neautorizate a informaiei protejate.
Referitor la protecia i securitatea datelor, n literatura despecialitate se definesc urmtoarele
concepte de baz:
Securitatea datelor totalitatea msurilor de protective mpotriva distrugerii accidentale sau
intenionate, a modificriineautorizate sau a divulgrii acestora.
Caracterul secret este un concept ce se aplic la un individsau organizaie i const n dreptul
acestora de a decide ce informaii se pot folosi n comun i n ce condiii
26
27
Software:
ntre baza de date (colecia de date memorate fizic n fiiere pe harddisk-uri) i utilizatorii
sistemului exist un nivel software, numit sistem de gestiune a bazei de date (SGBD)-(DataBase
Management System). O baz de date computerizat poate fi generat i meninut fie cu ajutorul
unui grup de programe de aplicaie specifice acestui scop, fie cu acest SGBD.
Sistemul de gestiune al bazei de date (SGBD) este un interpretor de cereri, el recepionnd de
la utilizatori anumite cereri de acces la baza de date, le interpreteaz, execut operaiile respective i
returneaz rezultatul ctre utilizatori.
Utilizator
Aplicatie
SGBD
Baza de date
De fapt, SGBD este un sistem de programe general ce faciliteaz procesul definirii, construciei i
manipulrii datelor pentru diverse aplicaii.
Definirea bazei de date presupune specificarea tipurilor de date ce vor fi stocate n baza de
date, precum i descrierea detaliat a fiecrui tip de dat.
Construcia bazei de date reprezint procesul stocrii datelor nsi prin mediul controlat
prin SGBD.
Prin manipulare se neleg o serie de funcii ce faciliteaz implementarea cererilor pentru
gsirea datelor specificate, adugarea de noi date ce reflect modificarea contextului,
generearea de rapoarte pe baza coninutului bazei de date.
n concluzie, pachetul software ce asigur manipularea datelor, mpreun cu datele nsi
(coninutul bazei de date) formeaz ceea ce se numete sistemul de baze de date (DataBase System).
28
8.6.3 Utilizatorii
Programatorii de aplicaii sunt cei care dezvolt aplicaiile de baze de date n anumite medii
de programare. Aplicaiile pot fi aplicaii desktop (stand alone) i aplicaii client-server.
Aplicaiile desktop sunt aplicaiile care se instaleaz i ruleaz pe un anumit
calculator. Visual Basic, Visual C, Java, C++, Delphi etc.
Aplicaiile client - server sunt aplicaii care se instaleaz pe un calculator numit
server i ruleaz de pe orice calculator aflat n acea reea.
Utilizatorii obinuii sunt acei utilizatori care acceseaz baza de date prin intermediul unei
aplicaii de baze de date. Aceti utilizatori au drepturi limitate asupra accesului la datele din
baza de date, ei neavnd cunotine aprofundate asupra structurii i a datelor din acea baz de
date.
Administratorul bazei de date (DataBase Administrator) care este o persoan autorizat,
care are ca sarcin administrarea resurselor, autorizarea accesului la baza de date, a
coordonrii i monitorizrii utilizatorilor acelei baze de date. Administratorul bazei de date
efectueaz i operaii periodice de salvare a datelor (backup) i derefacere a lor atunci cnd
este necesar.
8.6.4 Date persistente
Datele memorate ntr-o baz de date sunt date persistente, adic date care rmn memorate pe
suport magnetic, independent de execuia programelor de aplicaii. Datele persistente ale unei baze
de date se introduc, se terg sau se actualizeaz n funcie de date de intrare provenite de la tastatur.
Datele de intare sunt date nepersistente, ele devenind persistente dup ce au fost validate de
SGBD.
Datele de ieire ale unui sistem de baze de date sunt tot date nepersistenete, ele provenind
din operaii de interogare a bazei de date i puse la dispoziie utilizatorului sunt form de
raport, afiare etc.
8.7 Arhitectura intern a sistemlor de baze de date
Arhitectura intern a unui sistem de baze de date propus prin standardul ANSI/X3/SPARC
(1975) conine trei niveluri funcionale.
Una din caracteristicile fundamentale a bazelor de date este dat de faptul c produce cteva
niveluri de abstractizare a datelor, prin ascunderea detaliilor legate de stocarea datelor, detalii ce nu
sunt utile utilizatorilor bazei de date.
Se definete modelul datelor ca un set de concepte ce poate fi utilizat n descriereea
structurii datelor.
Prin structura bazei de date se nelege tipul datelor, legtura dintre ele, restriciile ce trebuie
ndeplinite de date. Cele mai multe baze de date includ un set de operaii ce specific modul de
acces la date.
Schema bazei de date pe cele trei niveluri poate fi vzut astfel:
Nivelul intern constituit din schema intern ce descrie structura de stocare fizic a datelor n
baza de date, utiliznd un model al datelor fizice. La acest nivel se descriu detaliile complete ale
stocrii, precum i modul de acces la date.
29
Nivelul conceptual sau schema conceptual descrie structura ntregii baze de date pentru o
comunitate de utilizatori. La nivelul conceptual se face o descriere complet a bazei de date,
ascunznd detaliile legate de stocarea fizic, concentrndu-se asupra descrierii entitilor, tipurilor
de date, relaiilor dintre ele, precum i a restriciilor asociate. Poate fi utilizat cu bune rezultate, la
model de nivel nalt sau un model specific de implementare.
Nivelul extern sau nivelul vizual (utilizator) include o colecie de scheme externe ce descriu
baza de date prin prisma diferiilor utilizatori. Fiecare grup de utilizatori descrie baza de date prin
prisma propriilor interese. Exist tendina la acest nivel ca grupuri de utilizatori s ascund detalii de
care nu sunt interesate. i la acest nivel se pot folosi modele de implemetare sau modele de nivel
nalt.
Desigur c n multe SGBD nu se poate face o distinctive net ntre cele trei nivele. Cu toate
acestea se poate remarca la majoritatea SGBD un nivel conceptual puternic ce suplinete aparent de
cele mai multe ori celelalte niveluri. De asemenea, se remarc o contopire mai ales la dezvoltarea
aplicaiilor a nivelului conceptual i extern. Se remarc faptul c arhitectura pe trei niveluri
reprezint numai o descriere a datelor la nivel fizic.
Grupurile de utilizatori se refer numai la schema extern, deci SGBD este cel ce va trebui s
transforme schema extern n schem conceptual.
De la modelul conceptual cererile sunt adresate modelului intern pentru a fi procesate i aplicate
datelor stocate. Procesul transferului cererilor i rezultatelor ntre nivele este numit cartografiere
(mapping). Acest proces este mare consumator de timp pentru care multe SGBD nu posed nivel
extern.
Nivel extern
Vedere grup
utilizator 1
Vedere grup
utilizator 2
Schem conceptual
Nivel conceptual
Schem intern
Nivel intern
Date memorate
Fig. 8.2 Arhitectura intern a unui sistem de baze de date
30
Vedere grup
utilizator n
31
realizate fie ntr-o form interactiv de la terminal, fie prin utilizarea unui limbaj de programare
universal.
Seciunea DML de nivel sczut sau procedural este realizat utiliznd un limbaj de programare
general. Cu aceast seciune se realizeaz operaiile tipice, cum sunt refacerea unei nregistrri
individuale, procesarea separat a nregistrrilor bazei de date. Din motivul c opereaz asupra
nregistrrilor individuale, aceast prelucrare se mai numete i nregistrare cu nregistrare.
O comand pentru DML de nivel nalt specific o cerere de acces la date, dar nu specific modul
n care se realizeaz acasta. Din acest motiv acest limbaj se numete declarativ. Oricum, comenzile
DML fie de nivel nalt, fie de nivel sczut sunt implementate ntr-un limbaj de programare general,
limbaj numit i limbaj gazd, iar DML este numit limbaj de date. DML de nivel nalt utlizat ntr-o
manier interactiv formeaz ceea ce se numete query language.
8.10
Interfee SGBD
32
CURS 5
9. PROIECTAREA BAZELOR DE DATE
Pentru a pune ordine de la nceput ntr-o baz de date, ca structur fix a unui sistem
informaional, n concepia actual de programare orientat obiect, se adopt modelul diagramei
specifice numit diagrama entitate-relaie.
Pentru a descrie acest model trebuie cunoscute principalele concepte folositen crearea bazei de
date i anume:
Entitate: rerezint un obiect concret sau abstract al realitii, caracterizat prin anumite
propieti care-l deosebesc de alte obiecte de acelai tip. ntotdeauna propietatea unui obiect este
evideniat printr-o pereche (atribut, valoarea atributului).
Atributul: reprezint una sau mai multe caracteristici ale entitii, atributul este perceput ca o
variabil care poate lua valori ntr-un anumit domeiu.
Domeniul: caracterizat pe o anumit perioad de timp, reprezint mulimea tuturor valorilor
posibile pe care le poate lua un atribut.
n cazul bazelor de date ce au diferite relaii ntre ele, tipurile de entitate sunt asociate tabelelor,
fiecare rnd dintabel numindu-se tuplu. Atributele corespund denumirilor coloanelor (capul de
tabel), iar numrul de coloane poart denumirea de gradul tabelului.
Client
Vnzare
Fig. 9.2 Diagrama DER pentru relatia client vnzare
Student
Nume
33
n urmtorul caz se stabilete o relaie ntre entiti de tipul unul la mai multe:
Student 1
Grup
Student 2
Student n
Un alt model de relaie este acela ntre produs i furnizor. Astfel, un tip de produs poate fi
achiziionat de la mai muli furnizori dar i un singur furnizor poate aproviziona unitatea economic
cu mai multe produse. Vezi Fig. 9.5.
Produs
Furnizor
Relaia prezentat anterior este de tipul multe (entiti)-la-multe (entiti). Un exemplu foarte
detaliat de relaie multe-la-multe este descris n urmtoarea diagram de relaionare produs-client.
Produs 1
Produs 2
Client 1
Produs m
Client 2
Client n
Tab. 9.1
Reprezentare grafic
Exprimare
(11)
(1m)
(nm)
Este interesant de observat c o relaie multe la mai multe poate fi descompus n dou relaii
de unu la mai multe.
Produs
Furnizor
Produs
Furnizor
Detalierea relaiei se poate face prin introducerea unei entiti de intersecie, o entitate care s
poat da natere la o legtur de tip multe i care s exprime n acelai timp relaia dintre produs i
furnizor. Astfel poate fi introdus o nou entitate numit Achiziie.
Achiziie
Furnizor
Produs
34
Acest entitate exprim faptul c un furnizor poate fi sursa pentru achiziiea orcrui produs (din mai
multe dintr-o list) la un anumit pre i pentru un anumit moment contractual.
n acelai mod se poate face o ierarhizare i n ceea ce privete asocierea entitilor. Legturile
dintre entiti (obieecte) se numesc asocieri. Chiar legturile sau relaiile dintre entiti, legturi ce
semantic pot fi redate prin verbe, se pot ordona dup un rang al relaiilor.
Relaia unar folosete 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.
Diagrama entitate-relaie este modelul entitate-relaie reprezentat prin mulimile de entiti i
relaii dintre acestea. Exist mai multe variante de notaii pentreu redarea acestei diagrame, astfel:
Entitate tip puternic
Entitate tip
Entitate tip
Atribut
Atribut
Tip
relaie
Tipul relaiilor
35
36
37
Cnd un test nu este trecut, tabela va fi descompus n tabele ce trec testele de normalitate.
Forma normal de ordin 1 (FN1)
Forma normal de ordin 1 este considerat ca fiind parte a definiiei formale a unei tabele. Ea nu
permite atribute cu mai multe valori, atribute compuse sau combinaii ale lor. Aceasta stabilete ca
domeniul atributelor trebuie s includ numai valori atomice i valoarea oricrui atribut ntr-un nuplu
este o valoare unic n domeniul atributului respectiv.
Deci, FN1 nu permite un set de valori, un nuplu de valori sau o combinaie a acestora ca valoare a
unui atribut pentru un nuplu. Cu alte cuvinte, FN1 nu permite tabele n tabele sau tabele ca atribute
ale nuplurilor. Valorile permise de FN1 sunt atomice sau indivizibile, pentru un domeniu specificat
de valori.
Forma normal de ordin 2 (FN2)
A doua form normal impune ca fiecare atribut (coloan) s fie dependent de fiecare parte a cheii
principale. Mai exact, o tabel ndeplinete FN2 dac ndeplinete FN1 i conine numai atribute care
dau informaii despre cheia tabelei
Forma normal de ordin 3 (FN3) Pentru a ajunge la a treia form normal, tabelul trebuie s
fie deja n prima i a doua form normal. Pentru a fi n a treia form normal, trebuie ca toate
cmpurile non-primare s depind numai de cmpurile primare.
Dei nu face parte n mod riguros din normalizare, de obicei nu este recomandabil s includei
cmpuri care pot fi derivate din alte cmpuri situate n acelai tabel sau n tabelele aflate n relaie.
9.8 Structuri de indeci n tabelele de date
Un index reprezint o cale rapid de localizare a nregistrrilor dintr-o tabel, prin gruparea
tuturor nregistrrilor pentru un anumit atribut sau grup de atribute.
Indexarea este utilizat n dou scopuri principale:
accelerarea cutrilor n baza de date
asigurarea unicitii nregistrrilor
Indexarea este utilizat n dou scopuri principale:
accelerarea cutrilor n baza de date
asigurarea unicitii nregistrrilor
Vom privi o relaie ca o colecie de date (o mulime) n care nu sunt admise elemente
duplicat. n cazul unei mulimi reprezentate printr-o colecie neordonat de elemente, timpul de
cutare a unui element crete proporional cu numrul de elemente ale mulimii, deoarece n
cazul cel mai ru trebuie parcurse toate elementele mulimii pentru a gsi elementul dorit. Timpul
de cutare a unui element poate fi micorat considerabil dac elementele mulimii sunt ordonate.
Indexul unei tabele este o structur de date adiional memorat n baza de date care permite
accesul rapid la nregistrrile tabelei prin ordonarea acestora.
De fapt, indexul poate fi gndit ca o tabel cu dou atribute:
primul atribut conine valorile atributelor tabelei bazei de date pentru care se creaz indexul,
38
39
Indexul secundar: Metoda de indexare secundar se aplic la tabele neordonate, indiferent dac
valorile cmpului dup care se face indexarea n tabela de date sunt sau nu distincte.
Indexul secundar este un fiier ordonat cu dou cmpuri ca i la ali indeci, n care primul cmp
este identic cu cel al tabelei de date, iar al doilea cmp este un pointer. Cmpul pentru care indexul
este construit se numete i cmp de indexare.
n concluzie, orice cmp al unei tabele poate fi cmp de indexare secundar.
Indexul de grup: Astfel de indeci sunt folosii cnd nregistrrile tabelei de date sunt ordonate
fizic dup un cmp care nu este cheie (noncheie), deci un cmp ce nu are valori distincte la fiecare
nregistrare. Un astfel de cmp identific un grup de nregistrri (clustering field). n aceast situaie
se poate crea un index ce faciliteaz gsirea nregistrrilor ce aparin unui cmp.
Un index de grup este deci un fiier ordonat cu dou cmpuri, primul cmp coninnd aceeai
informaie cu cea a cmpului noncheie de ordonare, al doilea fiind destinat unui pointer ctre un bloc
de date. n acest mod, fiierul index conine cte o intrare pentru fiecare valoare distinct a cmpului
de ordonare. Al doilea cmp al nregistrrii index conine un pointer ctre blocul n care apare pentru
prima oar valoarea cmpului de ordonare din primul cmp al indexului.
40
41
CURS 6
10. TIPURI DE FISIERE CARACTERISTICE UNUI SISTEM
INFORMATIONAL PENTRU MANAGEMENT
10.1 Tipuri de fisiere caracteristice unui sistem informational pentru management
Fisierele sau bazele de date sunt folosite pentru a stoca sub diferite forme informatii referitoare la
orice activitate asociata unui sistem si care prezinta o parte fixa, de cumulare a informaiilor.
n funcie de tipul de date stocate ct i de perioada de timp minim propusa pentru ca datele sa fie
mentinute in aceeasi forma intalnim:
Fisiere cu caracter permanent
Fisiere cu caracter variabil
Fisiere de stare
Datele si informatiile inscrise in aceste fisiere reflecta caracterul fisierului.
Datele permanente: nu-si schimba masura caracteristicilor pentru o lunga perioada de timp.
Aceste fisiere sunt cunoscute sub numele de master file.
Datele variabile: pot contine, de exemplu balanta de plati pentru ziua curenta, numere de
ordine de intrare zilnic atribuite de catre un cabinet medical, Aceste fisiere sunt pastrate pentru
scurte perioade, numai pentru probleme ce ar putea sa apara la scurt timp dupa utilizare.
Datele de stare: sunt acele date care isi schimba valoarea la intervale regulate de timp, prin
operatiuni de intretinere a fisierelor. Cel mai bun exemplu il repreinta cele care pastreaza
stocurile sau soldurile unor conturi.
Alte tipuri de fisiere intalnite in structura unui sistem informational de management sunt:
Fisiere tabel: este un fisier permanent al datelor referite prin programe, de regula numerice,
folosite pentru facilitarea unor calcule. (Ex: tabel de dobanzi, tabele pt. Calculul ratelor).
Fisire de indexare: este un fisier de tip permanent al identificatorilor de inregistrari, in
corespondenta cu locurile unde sunt depuse. (ex: catalogul de carti dintr-o biblioteca)
Fisiere de back-up: sunt foarte des utilizate. Ele sunt copii ale fisierelor permanente sau ale
ator fisiere folosite pentru reconstituirea evidentei in caul eventualelor pierderi. Necesita
conditii speciale de pastrare.
Fisiere de raportare: sunt fisiere temporare, generate intr-un pas intermediar al pregatirii
unui raport.
Baza de date
Tipuri de fisiere si managementul documentelor simple: in general aceste fisiere sunt cele care
contin text. Exista, functie de aplicatia utilizata fisiere cu diferite tipuri de extensii:
doc. document word
rtf. ritch text format
txt. text only
ans. text with layout
42
Abreviere
Denumire / Aplicatii
BMP
Bitmap
DWG
Format AutoCAD
DXF
JPEG
IGES
TIFF
WMF
AVI
EXE
PNG
XLS
WAV
MDB
43
Structural un formular este un element tiparit, cu antet si alte componente pretiparite, precum si
spatii (rubrici) pentru completare de date.
Majoritatea formularelor au in structura patru elemente determinante:
Introducerea
Instructiunile
Partea principala (corpul)
Concluziile
Introducerea in general, trebuie sa apara la inceputul formularului si sa contina titlul, numarul
formularului i, daca formularul trebuie distribuit altcuiva, numele si adresa organiatiei respective.
Instructiunile sunt in general de doua feluri:
ele precizeaza modul de completare a formularului
sau destinatia lui dupa completare
Partea principala este cea care concura la utiliarea unor formulare cat mai simple. Relatiile logice
dintre casute trebuie sa fie grupate, casutele si coloanele trebuie sa fie foarte clar conturate si, evident
locul unde trebuiesc completate, mai ales cand datele din el vor fi supuse prelucrarii automate.
Concluziile se refera la inregistrarea informatiilor cu privire la dispozitiile finale si/sau aprobarile
necesare in legatura cu operatiile consemnate, inclunand semnaturile (electronice) si data.
2. Raportul este un document tehnico-economic in care sunt incluse doar date predefinite, ceea ce
inseamna ca poate fi denumit si document pasiv, folosit in mod exclusiv pentru a fi citit sau
viualizat.
In situatia unor aplicatii flexibile (Excel) se pot proiecta diferite forme de iesire ale rapoartelor.
Rapoarte programate (la termen) au un continut predeterminat si formatul lor este dinainte
stabilit; aceste rapoarte se reactualizeaza la o anumita perioada de timp.
Rapoartele neprogramate - cu rol special deseori numite si rapoarte ad-hoc nu au
continutul si forma predefinite si nu sunt realizate conform unor programari anterioare. De fapt
sunt formulate ca raspuns la intrebarile managerilor referitoare la diverse probleme.
Rapoarte declansate de exceptii - au un continut prederminat si un format anume, dar sunt
elaborate numai cand sunt realizate unele conditii de exceptie (depasirea costurilor, stocuri
supradimensionate s.a.)
Rapoarte la cerere au de asemenea, continut si forma predeterminate, dar sunt elaborate
numai ca raspuns la cererea managerilor sau a altor angajati.
Atat rapoartele la cerere cat si cele declansate de exceptie sunt facilitati care explica puterea
sistemelor informationale deosebit de eficiente in procesul de conducere.
44