Baze de Date

38
La CEBDC “ Tema: „Analiza performantelor firmei” CHIŞINĂU 2013 Cuprins INTRODUCERE 3 1

Transcript of Baze de Date

Page 1: Baze de Date

La ” CEBDC “ 

Tema: „Analiza performantelor firmei”

CHIŞINĂU 2013

CuprinsINTRODUCERE 3

1. Introducere in SGBD 5

1.1 Notiuni generale 5

1.2 Sisteme de baza de date 6

1.3 Conceptul de sistem de gestiune a bazelor de date 7

1.4 Activitatile asigurate de SGBD 8

1

Page 2: Baze de Date

1.5 Obiectivele unui SGBD 9

1.6 Functiile unui SGBD 10

2. Programare Web 11

2.1 HTML 11

2.2 PHP 15

2.3 Administrarea Bazelor de Date cu MySQL 17

3.Mersul lucrarii 19

3.1.Modelul conceptual 19

3.2.Legaturile intre atributele obiectelor-schema BD 20

3.3.Structura bazei de date 21

3.4.Structura site-ului 26

CONCLUZII 31

BIBLIOGRAFIE 32

ANEXA1 33

Introducere

Termenul de bază de date apare în 1967 şi reprezintă o colecţie de informaţii corelate despre

subiectul studiat, relaţiile logice dintre aceste informaţii şi tehnicile de prelucrare corespunzătoare

(sortare, regăsire, apreciere, ştergere, adăugare, inserare, modificare).

Sistemul de gestiune a bazelor de date S.G.B.D. reprezintă sistemul de programe care

permite construirea bazelor de date, introducerea de înregistrări în bazele de date şi dezvoltarea

2

Page 3: Baze de Date

de aplicaţii privind bazele de date, permiţând astfel accesul utilizatorului la date printr-un limbaj

de nivel înalt, apropiat modului obişnuit de operare; el reprezintă o interfaţă între utilizator şi

sistemul de operare.

Orice sistem de gestionare a bazelor de date conţine:

- limbajul de descriere a datelor (LDD), care permite descrierea structurii bazei de date, a

componenţei, a relaţiilor dintre componente, a drepturilor de acces al utilizatorilor la baze de

date (BD);

- limbajul de cereri (LC) este limbajul în care se scriu programele pentru realizarea

prelucrării datelor;

- limbajul de prelucrare a datelor (LPD), care permite operaţii asupra BD, cum ar fi

încărcarea BD, inserarea, ştergerea, căutarea sau modificarea unui element, realizarea de

statistici.

Principalele sarcini ale gestionarului bazei de date sunt:

- reducerea redundanţei prin identificarea informaţiilor comune şi alcătuirea

corespunzătoare a aplicaţiilor;

- eliminarea inconsistenţelor ce rezultă din reducerea redundanţei;

- utilizarea simultană a datelor de mai mulţi utilizatori;

- standardizarea informaţiilor;

- asigurarea securităţii BD prin acordarea şi urmărirea modului de acces al utilizatorilor la

componentele BD;

- asigurarea integrităţii BD;

- asigurarea sincronizării în cazul utilizării simultane a BD de mai mulţi utilizatori sau a

distribuirii informaţiei pe mai multe sisteme.

În raport de modul de exploatare a BD, utilizatorii se împart în următoarele clase:

- utilizatorii obişnuiţi sunt utilizatorii care obţin informaţiile fără a avea cunoştinţe de

programare;

3

Page 4: Baze de Date

- programatorii de aplicaţii scriu programe în limbajul de cereri, acestea sunt apoi

compilate şi memorate în fişiere program, putând fi lansate în execuţie prin invocarea numelui

asociat lor.

Administratorul bazei de date este cel care stabileşte structura iniţială a bazei de date şi

modul de memorare a datelor la nivel fizic, acordă utilizatorilor dreptul de acces la baza de date

sau părţi ale ei, stabileşte condiţiile pentru asigurarea securităţii şi integrităţii datelor, modifică

structura BD dacă este nevoie, asigură întreţinerea BD făcând copii periodice şi reconstituind BD

în cazul în care au apărut erori şi răspunde de modul de utilizare a bazei de date.

Administratorul sistemului de baze de date, care stabileşte bazele de date de pe un sistem

de calcul, alocă spaţii de memorare şi asigură drepturi de acees.

Cele mai multe SGBD-uri conţin şi o colecţie de utilitare folosite în diferitele aplicaţii,

cum sunt:

- procesoare de limbaje de cereri;

- editoare de rapoarte;

- subsisteme de reprezentări grafice;

- posibilităţi de lucru tabelat;

- procesoare de limbaje naturale;

- programe statistice;

- generatoare de aplicaţii.

1. Introducere in SGBD

1.1. Notiuni generale

O bază de date este un instrument pentru colectarea și organizarea informațiilor. Bazele de date

pot stoca informații despre persoane, produse, comenzi sau orice altceva. Multe baze de date

încep sub formă de liste într-un editor de text sau într-o foaie de calcul. Pe măsură ce lista crește,

încep să apară redundanțe și inconsistențe în datele prezente. Datele devin greu de înțeles în

4

Page 5: Baze de Date

formă de listă, iar posibilitățile de a căuta și a extrage subseturi de date pentru revizuire sunt

limitate. Odată ce încep să apară aceste probleme, este o idee bună să se transfere datele într-o

bază de date creată de un sistem de gestionare al bazelor de date (DBMS), cum ar fi Office

Access 2007.

O bază de date computerizată este un container de obiecte. O bază de date poate conține mai

mult de un tabel. De exemplu, un sistem de urmărire al inventarului care utilizează trei tabele nu

reprezintă trei baze de date, ci o bază de date care conține trei tabele. În afara cazului în care a

fost proiectată în mod special pentru a utiliza date sau cod din altă sursă, o bază de date Access

stochează tabelele sale într-un singur fișier, împreună cu alte obiecte, cum ar fi formulare,

rapoarte, macrocomenzi și module. Bazele de date create în format Access 2007 au

extensia .accdb, iar cele create în formatele anterioare Access au extensia .mdb. Aveți

posibilitatea să utilizați Access 2007 pentru a crea fișiere în formate anterioare (de exemplu,

Access 2000 și Access 2002-2003).

Utilizând Access, aveți posibilitatea să:

Adăugați date noi la o bază de date, cum ar fi un element nou dintr-un inventar.

Să editați datele existente dintr-o bază de date, cum ar fi modificarea locației curente a

unui element.

Să ștergeți informații, de exemplu în cazul în care un element este vândut sau înlăturat.

Să organizați și să vizualizați datele în mai multe moduri.

Să partajați datele cu alții prin intermediul rapoartelor, mesajelor de poștă electronică, un

intranet sau prin Internet.

O bază de date reprezintă un ansamblu de date integrat, anume structurat şi dotat cu o descriere a

acestei structuri. Descrierea structurii poartă numele de dicţionar de date sau metadate şi crează o

interdependenţă între datele propriu-zise şi programe.

Baza de date poate fi privită ca o colecţie de fişiere interconectate care conţin nucleul de date

necesare unui sistem informatic. Astfel, poate fi considerată drept un model al unor aspecte ale

realităţii unei unităţi economice, modelată prin intermediul datelor. Diferitele obiecte din cadrul

5

Page 6: Baze de Date

realităţii ce prezintă interes sunt denumite clase sau entităţi. Pentru aceste obiecte sunt

achiziţionate şi memorate date referitoare la diferite caracteristici (atribute). Baza de date se

constituie ca un ansamblu intercorelat de colecţii de date, prin care se realizează reprezentarea

unei realităţi. Datele constituie orice mesaj primit de un receptor, sub o anumtă formă.

Informaţiile reprezintă cantitatea de noutate adusă de un mesaj din exterior (realitate). Un fişier

este un ansamblu de înregistrări fizice, omogene din punct de vedere al conţinutului şi al

prelucrării.

O înregistrare fizică este o unitate de transfer între memoria internă şi cea externă a

calculatorului. O înregistrare logică este unitatea de prelucrare din punct de vedere al

programului utilizator. O înregistrare se compune din câmpuri (atribute) care descriu anumite

aspecte ale realităţii. Câmpurile sunt înregistrări logice.

O baza de date trebuie să asigure:

• abstractizarea datelor (baza de date fiind un model al realităţii),

• integrarea datelor (baza de date este un ansamblu de colecţii de date intercorelate, cu

redundanţă controlată),

• integritatea datelor (se referă la corectitudinea datelor încărcate şi manipulate astfel încât

să se respecte restricţiile de integritate),

• securitatea datelor (limitarea accesului la baza de date),

• partajarea datelor (datele pot fi accesate de mai mulţi utilizatori, eventual în acelaşi timp),

• independenţa datelor (organizarea datelor să fie transparentă pentru utilizatori,

modificările în baza de date să nu afecteze programele de aplicaţii).

1.2. Sisteme de baze de date Sistemele de baze de date sau băncile de date reprezintă un sistem de organizare şi prelucrare,

respectiv teleprelucrare (prelucrare la distanţă) a informaţiei, constituit din următoarele 3

elemente:

• colecţie de date aflate în interdependenţă creare baza de date

• descrierea datelor şi a relaţiilor dintre ele

• un sistem de programe care asigură exploatarea bazei de date (actualizare, interogare)

Arhitectura sistemului de baza de date este formată din următoarele componente (fig.1):

• baza/bazele de date – reprezintă componenta de tip date a sistemului (colecţiile de date

propriu-zise, indecşii);

6

Page 7: Baze de Date

• sistemul de gestiune a bazei/bazelor de date – ansamblul de programe prin care se

asigurăgestionarea şi prelucrarea complexă a datelor şi care reprezintă componenta

software a sistemului de baze de date (Sistem de Gestiune a Bazelor de Date – SGBD);

• alte componente – proceduri manuale sau automate, inclusiv reglementări administrative,

destinate bunei funcţionări a sistemului, dicţionarul bazei de date (metabaza de date) care

conţine informaţii despre date, structura acestora, elemente de descriere a semanticii,

statistici, documentaţii, mijloacele hardware utilizate, personalul implicat.

1.3. Conceptul de sistem de gestiune a bazelor de date

Sistemele de gestiune a bazalor de date (SGBD) sunt sisteme informatice specializate în stocarea

şi prelucrarea unui volum mare de date, numărul prelucrărilor fiind relativ mic.

Termenul de bază de date se va referi la datele de prelucrat, la modul de organizare a acestora pe

suportul fizic de memorare, iar termenul de gestiune va semnifica totalitatea operaţiilor ce se

aplică asupra datelor din baza de date.

Un SGBD trebuie să asigure următoarele funcţii:

• definirea – crearea bazei de date;

• introducerea (adăugarea) datelor în baza de date;

• modificarea unor date deja existente în baza de date;

• ştergerea datelor din baza de date;

• consultarea bazei de date – interogare/extragerea datelor.

În plus un SGBD mai asigură şi alte servicii:

• suport pentru limbaj de programare;

• interfaţă cât mai atractivă pentru comunicare cu utilizatorul;

• tehnici avansate de memorare, organizare, accesare a datelor din baza de date;

• utilitare încorporate: sistem de gestiune a fişierelor, liste, tabele etc.;

• “help” pentru ajutarea utilizatorului în lucrul cu baza de date.

Apariţia şi răspândirea reţelelor de calculatoare a dus la dezvoltarea SGBD-urilor în direcţia

multiuser: mai mulţi utilizatori folosesc simultan aceeaşi bază de date.

Principalul avantaj al reţelelor a fost eficienţa mult sporită de utilizare a resurselor sistemelor de

calcul: la o bază de date aflată pe un server central au acces simultan mai mulţi utilizatori, situaţi

la distanţă de server, de unde rezultă o bună utilizare a resurselor server-ului şi o economie de

memorie datorată memorării unice a bazei de date.

7

Page 8: Baze de Date

Un SGBD este dotat cu un limbaj neprocedural de interogare a bazei de date SQL care permite

accesul rapid şi comod la datele stocate în baza de date.

În arhitectura unui sistem de baze de date SGBD ocupă locul central. Un SGBD este un

ansamblu complex de programe care asigură interfaţa între o bază de date şi utilizatorii acesteia.

SGBD este componenta software a unui sistem de baze de date care 9 Baze de date

interacţionează cu toate celelalte componente ale acestuia asigurând legătura şi interdependenţa

între ele.

1.4. Activităţile asigurate de SGBD Un SGBD trebuie să asigure următoarele activităţi:

• definirea şi descrierea structurii bazei de date – se realizează printr-un limbaj propriu,

limbaj

• de definire a datelor (LDD), conform unui anumit model de date;

• încărcarea datelor în baza de date – se realizează prin comenzi în limbaj propriu, limbaj

de

• manipulare a datelor (LMD);

• accesul la date – se realizează prin comenzi specifice din limbajul de manipulare a

datelor.

Accesul la date se referă la operaţiile de interogare şi actualizare.

Interogarea este complexă şi presupune vizualizarea, consultarea, editarea de situaţii de ieşire

(rapoarte, liste, regăsiri punctuale). Actualizarea presupune 3 operaţiuni: adăugare, modificare

efectuate prin respectarea restricţiilor de integritate ale BD şi ştergere;

• întreţinerea bazei de date – se realizează prin utilitare proprii ale SGBD;

• reorganizarea bazei de date – se face prin facilităţi privind actualizarea structurii de date

• modificarea strategiei de acces. Se execută de către administratorul bazei de date;

• securitatea datelor – se referă la asigurarea confidenţialităţii datelor prin autorizarea şi

• controlul accesului la date, criptarea datelor.

1.5. Obiectivele unui SGBD

Un SGBD are rolul de a furniza suportul software complet pentru dezvoltarea de aplicaţii

informatice cu baze de date.

El trebuie să asigure:

• minimizarea costului de prelucrare a datelor,

8

Page 9: Baze de Date

• reducerea timpului de răspuns,

• flexibilitatea aplicaţiilor şi

• protecţia datelor.

Pentru satisfacerea performanţelor enumerate, SGBD trebuie să asigure un minim de obiective.

1. Asigurarea independenţei datelor – trebuie privită din două puncte de vedere:

• independenţa logică – se referă la posibilitatea adăgării de noi tipuri de înregistrări de

date sau extinderea structurii conceptuale, fără a determina rescrierea programelor de

aplicaţie;

• independenţa fizică – modificarea tehnicilor fizice de memorare fără a determina

rescrierea programelor de aplicaţie.

2. Asigurarea redundanţei minime şi controlate a datelor – stocarea informaţiilor în bazele de

date se face astfel încât datele să nu fie multiplicate. Totuşi, pentru a îmbunătăţi

performanţele legate de timpul de răspuns, se acceptă o anumită redundanţă a datelor,

controlată, pentru a asigura coerenţa bazei de date şi eficienţa utilizării resurselor hardware.

3. Asigurarea facilităţilor de utilizare a datelor – presupune ca SGBD-ul să aibă anumite

componente specializate pentru:

• folosirea datelor de către mai mulţi utilizatori în diferite aplicaţii – datele de la o aplicaţie

trebuie să poată fi utilizate şi în alte aplicaţii.

• accesul cât mai simplu al utilizatorilor la date – fără ca ei să fie nevoiţi să cunoască

structura întregii baze de date; această sarcină cade în seama administratorului bazei de

date.

• existenţa unor limbaje performante de regăsire a datelor – care permit exprimarea

interactivă a unor cereri de regăsire a datelor.

• sistemul de gestiune trebuie să ofere posibilitatea unui acces multicriterial la informaţiile

din baza de date – spre deosebire de sistemul clasic de prelucrare pe fişiere unde există

un singur criteriu de adresare, cel care a stat la baza organizării fişierului.

4. Asigurarea securităţii datelor împotriva accesului neautorizat.

5. Asigurarea coerenţei şi integrităţii datelor împotriva unor ştergeri intenţionate sau

neintenţionate – se realizează prin intermediul unor proceduri de validare, a unor protocoale

de control concurent şi a unor proceduri de refacere a bazei de date.

6. Asigurarea partajabilităţii datelor – se referă pe de o parte la asigurarea accesului mai multor

utilizatori la aceleaşi date şi de asemenea la posibilitatea dezvoltării unor aplicaţii fără a se

modifica structura bazei de date.

9

Page 10: Baze de Date

7. Asigurarea legăturilor între date – corespund asocierilor care se pot realiza între obiectele

unei aplicaţii informatice. Orice SGBD trebuie să permită definirea şi descrierea structurii de

date, precum şi a legăturilor dintre acestea, conform unui model de date (de exemplu

modelul relaţional).

8. Administrarea şi controlul datelor – sunt asigurate de SGBD, în sensul că datele pot fi

folosite de mai mulţi utilizatori în acelaşi timp, iar utilizatorii pot avea cerinţe diferite şi care

pot fi incompatibile. SGBD trebuie să rezolve probleme legate de concurenţă la date,

problemă care apare mai ales în lucrul în mediu de reţea de calculatoare.

1.6. Funcţiile unui SGBD Evidenţiem următoarele funcţii ale unui SGBD.

• funcţia de descriere a datelor – se face cu ajutorul LDD, realizându-se descrierea

atributelor din cadrul structurii BD, legăturile dintre entităţile BD, se definesc eventualele

criterii de validare a datelor, metode de acces la date, integritatea datelor. Concretizarea

acestei funcţii este schema BD.

• funcţia de manipulare – este cea mai complexă şi realizează actualizarea şi regăsirea

datelor.

• funcţia de utilizare – asigură mulţimea interfeţelor necesare pentru comunicare a tuturor

utilizatorilor cu BD.

Categorii de utilizatori:

• neinformaticieni – beneficiarii informaţiei, nu trebuie să cunoască structura BD, nu

trebuie să programeze aplicaţii ci doar să le folosească prin intermediul unei interfeţe

suficient de prietenoase.

• informaticieni – crează structura BD şi realizează procedurile complexe de exploatare a

BD;

administratorul bazei de date – utilizator special, cu rol hotărâtor în funcţionarea optimă a

întregului sistem.

• funcţia de administrare – administratorul este cel care realizează schema conceptuală a

bazei de date, iar în perioada de exploatare a BD autorizează accesul la date, reface baza

în caz de incident.

• funcţia de protecţie a bazei de date – ansamblul de măsuri necesare pentru asigurarea

integrităţii (semantică, acces concurent, salvare/restaurare) şi securităţii datelor

(autorizare acces, utilizare viziuni, criptare).

10

Page 11: Baze de Date

2. Programare Web

2.1. HTML

HTML 2.0 a fost publicat ca standard (versiune "oficiala") sub forma Request for Comments

RFC 1866 în noiembrie 1995 si reprezinta eforturile de codificare si standardizare ale Internet

Engineering Task Force. Poate fi preluat de la adresa ftp://ds.internic.net/rfc/rfc1866.txt

A urmat apoi propunerea (draft) HTML 3.0 (în septembrie 1995), în mare masura bazat pe

HTML+ (aparut în 1993) care, desi nu a fost adoptata ca standard a dus la adoptarea a numeroase

îmbunatatiri. Unul dintre motivele care au condus la neacceptarea draftului a fost marimea

considerata exagerata a acestuia. De aceea urmatoarele versiuni au fost si vor fi introduse într-un

mod modular. Aceasta versiune se poate prelua de la adresa

http://www.w3.org/MarkUp/html3/CoverPage. Ea a venit dupa ce Netscape începuse sa

introduca o serie de noi taguri si atribute care nu erau complet specificate (versiunea aceasta de

HTML fiind cunoscuta sub numele de cod Mozilla), conducînd în acest fel la o implementare

neuniforma în alte browsere.

Eforturile grupului de lucru asupra HTML din cadrul World Wide Web Consortium din aceasta

perioada îndreptate spre eliminarea inconsistentelor între specificatiile diverselor firme/browsere

au avut ca rezultat aparitia standardului (cu numele de cod Wilbur) HTML 3.2, în 11 ianuarie

1997, acestea putînd fi accesate la adresa http://www.w3.org/TR/REC-html32. Împreuna cu

W3C au lucrat la aceste specificatii IBM, Microsoft, Netscape Communications Corporation,

Novell, SoftQuad, Spyglass si Sun Microsystems. Aceasta versiune este o aplicatie SGML ce se

conformeaza standardului international ISO 8879 ale carui specificatii se afla la adresa

http://www.iso.ch/cate/d16387.html. Ca aplicatie SGML, sintaxa documentelor este definita de

combinatia dintre o declaratie SGML (SGML declaration) si definirea tipului documentului

(document type definition - DTD).

Versiunea HTML 4.0 a devenit o recomandare (standard) W3C la 18 decembrie 1997 (avînd

numele de cod Cougar) si poate fi accesata la adresa http://www.w3.org/TR/REC-html40. si

aceasta versiune este o aplicatie SGML ce se conformeaza standardului international ISO 8879

ale carui specificatii se afla la adresa http://www.iso.ch/cate/d16387.html. Ca aplicatie SGML,

specificatia HTML 4.0 include o declaratie SGML (1 SGML declaration), trei definitii ale tipului

documentului (3 document type definition - DTD) si o lista de referinte la caractere. În momentul

aparitiei acestui standard, W3C recomanda autorilor producerea de documente HTML 4.0, dar

11

Page 12: Baze de Date

pentru motive evidente de compatibilitate cu versiunile anterioare, W3C recomanda uneltelor ce

interpreteaza si suporta 4.0 sa continue sa suporte si HTML 3.2, precum si HTML 2.0.

În ianuarie 1999 exista si propunerea (draftul) HTML 5.0.

Întreaga comunitate a Internetului este de acord ca documentele dezvoltate cu HTML trebuie sa

fie identice în diversele browsere si pe diversele platforme ale Internetului. Interoperabilitatea va

asigura astfel costuri reduse furnizorilor (autorilor) de pagini HTML (nu este nevoie decît de o

singura versiune!), în caz contrar raspîndirea într-o multitudine de formate particulare (si

proprietare ale unor firme) incompatibile reducînd dramatic potentialul (inclusiv comercial) al

tuturor participantilor. Fiecare noua versiune a încercat sa reflecte un consens din ce în ce mai

mare între participanti, astfel ca investitiile facute sa nu fie irosite, iar documentele dezvoltate sa

devina imposibil de folosit dupa o perioada foarte scurta de timp. Limbajul HTML se dezvolta

cu dorinta ca toate tipurile de computere si diversele periferice ale acestora sa poata folosi

informatia de pe Web: PC-urile cu display-uri de diverse rezolutii si capabilitati de redare a

culorii, periferice pentru cuplare prin intermediul vocii, telefoane celulare, etc...

Ce trebuie sa faca un autor de pagini HTML?

HTML 4.0 este în acest moment (ianuarie 1999) standardul acceptat de comunitatea Internet si

de catre producatorii majori de browsere si unelte de dezvoltare pentru Internet (Netscape - cu

browserul Navigator 4.x si - cu browserul Microsoft Internet Explorer 4.x), primind suport

aproape universal. W3C recomanda chiar autorilor de documente si unelte pentru HTML sa

produca documente HTML 4.0 în locul HTML 3.2, dar din motive de compatibilitate (usor de

înteles) se recomanda ca uneltele ce interpreteza HTML 4.0 sa suporte în continuare HTML 3.2

si 2.0.

Bataliile se dau în continuare pentru standardele legate de DHTML (CSS Level 2 si DOM).

Chiar daca modul în care a fost creata versiunea 4.0 si soliditatea organismului care a generat-o

indica o mare stabilitate, Microsoft a facut deja pasi importanti pe cale 5.0 si spre DHTML,

urmata, aproape cu disperare, si de catre Netscape (la sfîrsitul anului 1998 cumparata de AOL).

Concluzia ce se poate desprinde este aceea ca dinamismul procesului nu poate fi "combatut"

decît printr-o permanenta informare de la organismul care impune standardele (W3C) si adaptare

la cerintele acestora.

12

Page 13: Baze de Date

Revolutia HTML 4.0.

Elementul esential diferit adus de versiunea 4.0 fata de versiunea 3.2 este posibilitatea separarii

structurii unui document de prezentarea lui prin introducerea "stilurilor de documente" (style

sheet). Utilizînd limbajul HTML pentru descrierea structurii unui document si style sheet-urile

pentru a sugera prezentarea acestuia, autorii obtin mult mai usor independenta de

periferic/computer/platforma hard-soft care a facut HTML-ul atît de popular. Un document cu o

structura complexa poate fi prezentat în diferite moduri pe medii diferite, permitînd

documentului însusi sa se adapteze mai usor noilor tehnologii (cum ar fi, de exemplu, browser-

ele capabile sa vorbeasca, cititoarelor braille, etc.).

În plus separarea continutului de prezentare permite modificarea înfatisarii eventual chiar a unui

întreg site doar prin modificarea unui style-sheet (unui document care descrie stilul). Experienta

a demonstrat ca o astfel de abordare reduce dramatic costurile de deservire a unui spectru larg de

platforme, facilitînd si o întretinere si modificare mult mai usoare.

Alte îmbunatatiri semnificative aduse de 4.0 pot fi considerate si:

I.         Tehnologia client-side scripting.

Prin intermediul scripturilor autorii pot realiza pagini HTML dinamice (care reactioneaza la

actiunile utilizatorilor) sau se pot realiza aplicatii distribuite. Mecanismul de includere a

scripturilor în paginile HTML este independent de limbaj. Se poate specifica limbajul scriptului,

se poate include un script extern sau se poate referi rezultatul executiei unui script. Aceste

scripturi se executa pe computerul care ruleaza browserul Web (clientul).

II.      Documentele compuse

HTML ofera acum un mecanism standard pentru a îngloba obiecte generice si aplicatii în

documentele HTML. Elementul OBJECT permite includerea imaginilor, clipurilor video,

sunetului, formulelor matematice, aplicatii specializate si alte obiecte într-un document.

III.   Internationalizarea

Aceasta versiune a fost proiectata cu ajutorul expertilor în internationalizare, astfel încit

documentele pot fi scrise în orice limba si transportate usor oriunde în lume. Elementul cheie îl

constituie adoptarea standardului ISO/IEC 10646 ca set de caractere pentru HTML. Acest

standard este cel mai complet standard ce permite reprezentarea oricaror caractere internationale, 13

Page 14: Baze de Date

directie a textului, punctuatie sau cerinte specifice ale unei limbi.

IV.    Accesibilitatea

Odata cu cresterea diversitatii lumii Webului, s-au diversificat si capabilitatile utilizatorilor

acestuia, astfel încît a devenit importanta suportarea diverselor tehnologii pentru a suplinii unele

limitari fizice.

V.       Tabele îmbunatatite

În aceasta versiune se implementeaza un model de tabel, bazat pe RFC 1942. Autorii au acum un

control sporit asupra structurii si paginatiei. Sînt incluse posibilitati de definire a grupurilor de

rînduri si/sau coloane, mai mare flexibilitate în definirea regulilor unui tabel. În plus afisarea

tabelelor se face acum incremental, pe masura încarcarii paginii, nemaifiind necesara asteptarea

încarcarii integrale a tabelelor.

VI.    Model îmbunatatit de împartire a unui document în frame-uri

Includerea frame-urilor în HTML 4.0 ofera posibilitatea de a prezenta documente multiple într-o

singura fereastra. Modelul este preluat din propunerea originala a firmei Netscape.

VII. Imprimare îmbunatatita a paginilor Web

Operatia de imprimare a unui numar mai mare de pagini legate între ele poate fi simplificata

mult prin descrierea relatiilor dintre ele utilizînd elementul LINK sau limbajul specializat RDF

(Resource Description Language) dezvoltat de W3C.

Validarea documentelor HTML.

Fiecare document trebuie validat în vederea eliminarii erorilor cum ar fi lipsa ghilimelelor,

elemente sau atribute scrise gresit si structuri invalide. Aceste erori nu sînt întotdeauna vizibile în

browsere deoarece fiecare le recupereaza într-un mod propriu. Validarea documentelor se poate

face cu un serviciu special al W3C ce poate fi accesat la adresa http://validator.w3.org. Un

validator verifica un document în ceea ce priveste definitia tipului documentului (DTD) si nu

siguranta legaturilor din document.

14

Page 15: Baze de Date

2.2. PHP 

PHP (PHP: Hypertext Prepocessor), cunoscut în versiunile mai vechi şi sub numele de

PHP/FI (Personal Homepage/Form Interpreter), iniţial a fost gândit a fi o simplă aplicaţie CGI

pentru interpretarea formularelor definte prin HTML şi procesate de un program scris într-un

limbaj Perl, script shell, executat pe server. În cazul interfeţei CGI era necesară permisiunea de a

rula programe pe server, ceea ce ducea la lacune în securitate şi în plus la disocierea de

documentul HTML a programului care procesa datele.

Istoria PHP-ului începe la sfârşitul anului 1994, când Rasmus Lerdorf dezvoltă prima

versiune, ca proiect personal. PHP-ul este făcut public în debutul anului 1995 sub denumirea de

Personal Home Page Tools, fiind considerat un analizor simplist care interpreta câteva macrouri

ce puteau fi incluse în cadrul documentelor HTML, permiţând contorizarea accesului la paginile

Web sau accesarea unei carţi de oaspeţi (guestbook). Analizorul a fost rescris la mijlocul

aceluiaşi an şi denumit PHP/FI 2.0, unde FI era o alta aplicaţie scrisă de Rasmus Lenford, un

interpreter de formulare HTML. A fost adăugat şi suportul pentru bazele de date mSQL şi astfel

PHP/FI a început să aibă succes, fiind disponibil gratuit pe Web. Se estimează că la sfârşitul lui

1996 cel puţin 15 mii de site.uri Web utilizau PHP/FI, iar în anul 1997 numărul acestora era de

50 de mii.

Programatorii Zeev Suraski şi Andi Gutmans rescriu analizorul PHP şi noua aplicaţie

formează nucleul versiunii PHP 3.0 care include o parte din vechile surse PHP/FI 2.0. Relativ

recent, la începutul anului 2000, a fost facută publică versiunea PHP 4.0, utilizând puternicul

motor de scriptare Zend şi oferind suport nu numai pentru servrul Apache ci şi pentru alte

servere Web. De asemeni, PHP 4.0 oferă posibilitatea accesării documentelor XML via DOM.

PHP este un limbaj de script care funcţionează alături de un server Web.

Este de notat diferenţa cu alte limbaje script CGI scrise în limbaje precum Perl sau C: în

loc de a scrie un program cu o multitudine de linii de comanda afişate în final într-o pagină

HTML, veţi scrie o pagină HTML cu codul inclus pentru a realiza o acţiune precisă.

Codul PHP este inclus între tag-urile speciale de început şi de sfârşit care permit

utilizatorului să treacă din "modul HTML" în "modul PHP".

Faţă de alte limbaje script, precum Javascript, la PHP codul se execută pe serverul Web,

nu in navigator(client Web). In consecinta, PHP poate obtine accesul la fisiere , baze de date si

alte resurse inaccesibile programului JavaScript. Acestea contin bogate surse de continut dinamic

15

Page 16: Baze de Date

care atrag vizitatorii. Dacă pe serverul Web se află un script similar, clientul nu va primi decât

rezultatul execuţiei scriptului, fără a avea nici o posibilitate de acces la codul care a produs

rezultatul. Vă puteţi configura serverul de Web să prelucreze (analizeze) toate fişierele HTML ca

fişiere PHP. Astfel nu există nici un mijloc de a distinge paginile care sunt produse dinamic de

paginile statice.

Limbajul PHP posedă aceleaşi funcţii ca alte limbaje permiţâind să se scrie scripturi CGI,

să colecteze date şi să genereze dinamic pagini web sau să trimită şi să primească cookies. Marea

calitate şi cel mai mare avantaj al limbajului PHP este suportul cu un număr mare de baze de

date. A realiza o pagină web dinamic cu o baza de date este extrem de simplu. Următoarele baze

de date sunt suportate de către PHP: Conform (vezi Tabelul 1) PHP suporta foarte multe tipuri

de baze de date, ceea ce este un avantaj foarte mare pentru el.

Limbajul PHP are deasemenea suport pentru diverse servicii server utiliziând protocoale

precum IMAP, SNMP, NNTP, POP3 şi HTTP. Fiecare program PHP include doua linii speciale,

care indica serverului PHP ca textul cuprins intre cele doua linii este alcatuit din instructiuni

PHP.

<?php ?>

Practic aceste linii pot fi asimilate copertelor unei carti, care pastreaza unitatea programului PHP.

Programele PHP executa trei categorii de operatii elementare:

obtin date de la un utilizator

executa prelucrari ale datelor, respectiv obtin accesul la datele stocate in fisiere si

baze de date si le manipuleaza

afiseaza date astfel incit un utilizator sa le poata vizualiza.

Pentru executarea unui script trebuie mai intii incarcat scriptul intr-un server unde este

instalat PHP.Accesul la distanta la un server Linux sau Unix se poate face prin intermediul

protocoalelor Telnet sau SSH, daca in prealabil se primeste autorizare de folosire a acestor

protocoale de la administatorul de sistem pentru un anumit utilizator. Daca se foloseste un server

Microsoft Windows situat in aceeasi retea locala ca si statia de lucru atunci este posibila alocarea

de catre adimistratorul de retea a unei partitii de fisiere in acest scop.

In vederea incarcarii scriptului prin intermediul protocolului FTP adimistratorul de sistem

trebuie sa furnizeze utilizatorilor autorizati urmatoarele informatii:

numele serverului gazda

16

Page 17: Baze de Date

numele de utilizator si parola pentru deschiderea sesiunii de lucru prin intermediul

protocolului FTP

catalogul in care trebuie sa se gaseasca scripturile PHP

localizatorul uniform de resurse(URL), pe care trebuie sa-l folositi pentru a obtine

acces la scripturile PHP.

Dupa ce incarcarea scriptului PHP a fost realizata cu succes acesta se lanseaza in executie prin

dechiderea unui navigator Web(client) cu adresa URL asociata scriptului PHP.

2.3. Administrarea Bazelor de Date cu MySQL 

Dezvoltat de firma suedeza MySQL AB, MySQL este un server de baze de date

disponibil gratuit, cu sursa deschisa(open-source) care ofera fiabilitate si avantaje reale.

Frumusetea serverului MySQL este simplitatea sa fundamentala. Administrarea bazei de

date se face folosind peste o duzina de utilitare in linia de comanda, cel mai important fiind

mysql, un shell interactiv pentru controlul si interogarea bazei de date. Utilitarele ruleaza cel mai

bine pe sistemul Linux, platforma pe care MySQL a fost dezvoltat initial. Alte doua utilitare cu

sursa deschisa, oferite pe platforma Windows, care ofera un set de comenzi de administrare sunt

MySql Manager, un utilitar de interogare in mod grafic similar cu mysql si WinMySQL admin, o

consola pentru administrarea detaliilor configurarii lui MySQL.MySQL realizeaza cu usurinta

importarea diverselor baze de date si exportarea sub forma fisierelor sql. Tranzactiile nu sunt

parte a tabelelor implicite(ISAM) ale lui MySQL, dar sunt incluse doua tipuri noi de tabele .

Berkley DB(BDB) si InnoDB . care au fost dezvoltate de alte firme. Administratorii de firme si

dezvoltatorii de baze de date au ajuns la concluzia ca MySQL are o dezvoltare energica si loiala,

ca sa nu mai mentionam reputatia cistigata cu truda, de baza de date sigura. MySQL

opereaza in baza unui model client/server. Orice masina care doreste sa proceseze interogari

asupra unei baze de date MySQL trebuie sa ruleze MySQL server(mysqld), care este responsabil

de tot traficul de tip intrari/iesiri(incoming/outgoing) cu baza de date. Ca orice server, mysqld

"asculta" pe un port particular (3306) eventualele cereri de conexiune ale unui "client" - orice

aplicatie care trimite cereri catre o baza de date via mysqld. Acest client poate fi un simplu script

PHP care poate trimite o cerere catre baza de date prin intermediul serverului MySQL sau chiar

clientului mysql. Clientul mysql este o interfata interactiva pentru transmiterea de comenzi catre

server.

Modelul de securitate folosit de MySQL se bazeaza pe nume de utilizator, parola, nume

server(hostname) sau adresa de IP si privilegii, fiind similar celui generic folosit de sistemele 17

Page 18: Baze de Date

Unix. Prin privilegii se inteleg in cazul MySQL operatiunile ce vor fi permise asupra

bazei/bazelor de date, tabelelor sau indecsilor, cum sunt de exemplu SELECT, INSERT,

UPDATE, DELETE, CREATE, DROP.

Datele sunt obiectul celor mai multe operatii de prelucrare, iar sistemele de gestiune a

bazelor de date furnizeaza cele mai complexe si puternice facilitati pentru lucrul cu datele. PHP

include o biblioteca de functii care furnizeaza o interfata cu sistemul MySQL de gestiune a

bazelor de date. Folosind aceste functii, un program PHP poate obtine accesul la datele rezidente

intr-o baza de date MySQL si le poate modifica.

Majoritatea interactiunilor cu o baza de date MySQL se poate desfasura dupa un model

secvential simplu:

se deschide o conexiune cu serverul MySQL

se specifica baza de date la care se obtine accesul

se emit interogari SQL, se obtine accesul la rezultatele interogarii si se executa

operatii non-SQL

se inchide conexiunea cu serverul MySQL

Din punct de vedere al limbajului PHP, exista doua categorii de interogari SQL:

interogarile SELECT, care returneaza rinduri ale unui tabel

interogarile UPDATE, INSERT si DELETE, care nu returneaza rinduri ale unui tabel

Ambele categorii de interogari sunt emise folosind functia mysql_query(), dar verificarea

si prelucrarea celor doua categorii de rezultate ale interogarilor sunt procesate destul de diferit.

3. Mersul lucrarii

3.1. Modelul conceptual

18

Page 19: Baze de Date

3.2. Legaturile intre atributele obiectelor–schema BD

19

Analiza performantelor firmei

Intreprindere

Contract

Dinamica

CA,VA

ProduseIndicatori

Page 20: Baze de Date

Intreprindere

Cod_intr Nume_intr

Produs

Cod_produs Nume_produs

Indicatori

Cod_indicatori Nume_indicator

Produse Contr_intr

Cod_intr Cod_produs An Cifra de afaceri

Structura

Ind_contr_intr

20

Page 21: Baze de Date

Cod_intr Cod_indicatori An VA

Contract

ID_contract Cod_intr Data Cifra de afaceri

VA Contul_contract

Concluzii

În ultimii ani, dezvoltarea sistemelor de baze de date reprezintă unul dintre cele mai

importante aspecte în domeniul tehnologiei informaţiei, având un impact decisiv asupra modului

de organizare şi funcţionare a numeroaselor instituţii şi servicii. Acestea sunt companiile de

comunicaţie, intreprinderile de comerţ, serviciile bancare, serviciile de transport, asigurările,

universităţile etc. Acestea sunt dependente de funcţionarea corectă şi neîntreruptă

a sistemelor de baze de date.

Sistemele de baze de date sunt o componentă importantăa vieţii de zi cu zi în societatea

modernă. Zilnic, majoritatea persoanelor desfăşoară activităţi care implică interacţiunea cu o

bazăde date: depunerea sau extragerea unei sume de bani din bancă, rezervarea biletelor de tren

sau de avion, căutarea unei cărţi într-o bibliotecă computerizată, gestiunea angajaţilor dintr-o

firmă, cumpărarea unor produse etc

21

Page 22: Baze de Date

O bază de date, uneori numită și „bancă de date”, reprezintă o modalitate de stocare a

unor informații și date pe un suport extern (un dispozitiv de stocare), cu posibilitatea extinderii

ușoare și a regăsirii rapide a acestora. La prima vedere sarcina poate părea banală. Totuși, în

condițiile în care este vorba de a lucra cu milioane de elemente, fiecare putând consta din mari

cantități de date care trebuie accesate simultan prin Internet de către mii de utilizatori răspândiți

pe întreg globul; și în condițiile când disponibilitatea aplicației și datelor trebuie să fie

permanentă (de ex. pentru a nu pierde ocazia de a încheia afaceri), soluțiile bune nu sunt de loc

simple.

Bibliografie

1. http://civile.utcb.ro/curs/dlsc/bd1.pdf 2. http://ro.wikipedia.org/wiki/Baz%C4%83_de_date 3. http://profs.info.uaic.ro/~val/istoric.html 4. http://ro.wikipedia.org/wiki/PHP

22

Page 23: Baze de Date

ANEXA1

Listingul programului

Config.sql.php

-- phpMyAdmin SQL Dump-- version 3.2.3-- http://www.phpmyadmin.net---- Host: localhost-- Generation Time: Jun 27, 2013 at 01:09 PM-- Server version: 5.1.40-- PHP Version: 5.3.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

23

Page 24: Baze de Date

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8 */;

---- Database: `consulting`--

-- --------------------------------------------------------

---- Table structure for table `Contract`--

CREATE TABLE IF NOT EXISTS `Contract` ( `ID_contract` int(3) NOT NULL AUTO_INCREMENT, `Cod_intr` int(1) NOT NULL, `Data` date NOT NULL, `Cifra de afaceri` int(8) NOT NULL, `VA` int(8) NOT NULL, `Contul_contract` int(10) NOT NULL, PRIMARY KEY (`ID_contract`)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=125 ;

---- Dumping data for table `Contract`--

INSERT INTO `Contract` (`ID_contract`, `Cod_intr`, `Data`, `Cifra de afaceri`, `VA`, `Contul_contract`) VALUES(121, 1, '2013-04-03', 244136, 6284005, 10000),(122, 2, '2013-05-02', 348737, 2764515, 11000),(123, 3, '2013-04-08', 523106, 2180554, 7000),(124, 4, '2013-05-01', 232491, 2380555, 8000);

-- --------------------------------------------------------

---- Table structure for table `Indicatori`--

CREATE TABLE IF NOT EXISTS `Indicatori` ( `Cod_indicatori` int(4) NOT NULL AUTO_INCREMENT,

24

Page 25: Baze de Date

`Nume_indicator` varchar(50) NOT NULL, PRIMARY KEY (`Cod_indicatori`)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1115 ;

---- Dumping data for table `Indicatori`--

INSERT INTO `Indicatori` (`Cod_indicatori`, `Nume_indicator`) VALUES(1111, 'cifra de afaceri CA'),(1112, 'Fonduri fixe FF'),(1113, 'nr de salariati Ns'),(1114, 'productia obtinuta Q');

-- --------------------------------------------------------

---- Table structure for table `Ind_contr_intr`--

CREATE TABLE IF NOT EXISTS `Ind_contr_intr` ( `Cod_intr` int(1) NOT NULL, `Cod_indicatori` int(4) NOT NULL, `An` year(4) NOT NULL, `VA` int(8) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

---- Dumping data for table `Ind_contr_intr`--

INSERT INTO `Ind_contr_intr` (`Cod_intr`, `Cod_indicatori`, `An`, `VA`) VALUES(1, 1111, 2013, 6284005),(2, 1112, 2013, 2764515),(3, 1113, 2013, 2180554),(4, 1114, 2013, 2380555);

-- --------------------------------------------------------

---- Table structure for table `Intreprindere`--

CREATE TABLE IF NOT EXISTS `Intreprindere` ( `Cod_intr` int(1) NOT NULL AUTO_INCREMENT,

25

Page 26: Baze de Date

`Nume_intr` varchar(20) NOT NULL, PRIMARY KEY (`Cod_intr`)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=5 ;

---- Dumping data for table `Intreprindere`--

INSERT INTO `Intreprindere` (`Cod_intr`, `Nume_intr`) VALUES(1, 'Franzeluta'),(2, 'Bucuria'),(3, 'Cuptor fermecat'),(4, 'Moldagro');

-- --------------------------------------------------------

---- Table structure for table `Produs`--

CREATE TABLE IF NOT EXISTS `Produs` ( `Cod_produs` int(2) NOT NULL AUTO_INCREMENT, `Nume_produs` varchar(20) NOT NULL, PRIMARY KEY (`Cod_produs`)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=15 ;

---- Dumping data for table `Produs`--

INSERT INTO `Produs` (`Cod_produs`, `Nume_produs`) VALUES(11, 'Covrigi'),(12, 'Blat tort'),(13, 'Foi napolitane'),(14, 'Foi placinte');

-- --------------------------------------------------------

---- Table structure for table `Produse Contr_intr`--

CREATE TABLE IF NOT EXISTS `Produse Contr_intr` ( `Cod_intr` int(1) NOT NULL, `Cod_produs` int(2) NOT NULL,

26

Page 27: Baze de Date

`An` year(4) NOT NULL, `Cifra de afaceri` int(8) NOT NULL, `Structura` int(4) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=cp1251;---- Dumping data for table `Produse Contr_intr`--INSERT INTO `Produse Contr_intr` (`Cod_intr`, `Cod_produs`, `An`, `Cifra de afaceri`, `Structura`) VALUES(1, 11, 2013, 244136, 2),(2, 12, 2013, 348737, 1),(3, 13, 2013, 523106, 2),(4, 14, 2013, 232491, 2);

27