SPECIALIZAREA CIBERNETICĂ, STATISTICĂ ȘI INFORMATICĂ [613623]
UNIVERSITATEA “DUNĂREA DE JOS” GALAȚI
FACULTATEA DE ECONOMIE ȘI ADMINISTRAREA AFACERILOR
SPECIALIZAREA CIBERNETICĂ, STATISTICĂ ȘI INFORMATICĂ
ECONOMICĂ
LUCRARE DE LICENȚĂ
Coordonator științific:
Conf.dr. Georgescu Cristian
Student: [anonimizat]
2017
UNIVERSITATEA “DUNĂREA DE JOS” GALAȚI
FACULTATEA DE ECONOMIE ȘI ADMINISTRAREA AFACERILOR
SPECIALIZAREA CIBERNETICĂ, STATISTICĂ ȘI INFORMATICĂ
ECONOMICĂ
Utilizarea bazelor de date orientate obiect
Coordonator științific:
Conf.dr. Georgescu Cristian
Student: [anonimizat]
2017
CUPRINS
Introducere …………………………………………………………………… …… …… 1
Capitolul 1: Istoria de zvoltării bazelor de date ………………………… …………………. 2
1.1 Modele de baze de date ………………………………… ……………………….. 4
1.1.1 Modelul ierarhic ………………………………………………………… … … 4
1.1.2 Modelul rețea ……………………………………… ………………………..…. 5
1.1.3. Modelul relational………………… ………………………………………….… 5
1.1.4. Modelul orientat obiect ……………………………… ……………………….… 6
1.2. Tipuri de baze de date ………………… …………………………………………..8
1.2.1. Baze de date orientate obiect ………… ………………………………………….9
Capitolul 2. Tehnologii utilizate ………… ………………………………………… ….11
2.1. Pagini Web și Servere Web …………………………………………………….,,,13
2.2. Pagini Web Stat ice și Dinamice ………………………………………………,,…16
2.3. Limbajul PHP …… ……………………………………………………………,,… 18
2.4. Baze De Date ……… …………………………………………………………….. .27
2.5.Limbajul SQL ……………… …………………………………………………….. .28
2.6. MySQL …… …………………………………………………………………….. ..31
Capitolul 3. Specificațiile aplicației …………… …………………………………………35
3.1. Prezentare general……………………… ………………………………………….35
3.2. Pagina de acces ………………………… ………………………………………. …36
3.3. Descrierea bazei de date a aplicației ……………………………………………… ..37
3.3.1. Crearea unui obiect al bazei de date ………… ………………………………,. …38
Capitolul 4. Implementarea și utilizarea aplicației ………… ……………………….. …40
4.1. Lista cărților disponibile …… ………………………………………………….……41
4.1.1. Listarea cărților după domeniu …… ………………………………………… .…..41
4.2. Operaț iuni bibliotecar………………… …………………………………………….43
4.2.1. Conectare în sistem……………………………………………………… ……………………………… .……43
4.2.3. Adaugare cititor………………………………………………………… …..…….45
4.2.4. Adăugare carte…………………………………………………………… ………..45
4.2.5. Adaugare imprumut………………… ……………………………………. ……….47
4.2.6. Biblioteca virtuală (operațiuni bibliotecar)… …………………………………..…48
Capitolul 5. Concluzii și propuneri ….……………………….…………………….….. 49
Bibliografie ………………… …………………………………………………….. ………51
INTRODUCERE
Se poate spune, pe drept cuvânt că trăim într -o societate informatizată. În zilele
noastre, întâlnim calculatoare peste tot, de la micul magazin din colț, care -și ține
evidențelesale cu ajutorul unui calculator și până la ghișeul la care plătim abonamentele de
telefonie, cablu TV, Internet, la examenele pentru permisul de conducere sau alte examene
pentru diferite domenii oricare ar fi acestea și multe alte.
Peste tot sunt calculatoare, legate eventual între ele și formând astfel rețele de
calculatoare. Toate acestea se datorează faptului că ne dăm seama din ce în ce mai mult că
sistemele de calcul, calculatoarele ne ușurează munca și viața prin apariția lor.
Să ne gândim puțin cât de mult s -a schimbat lumea de când au apărut calculatoarele.
Înaintea apariției calculatoarelor oric e tip de evidență era înregistrată pe hârtie, scrise cu mâna
sau în cel mai bun caz scrise cu dactilograful. Marele dezavantaj al acestei metode era că
acele hârtii se deteriorau cu timpul, sau pur și simplu se pierdeau.
Apariția calculatorului reprezenta o mare avansare în acest domeniu, dar totodată și în
alte domenii. Oamenii nu mai erau nevoiți să -și țină evidențele pe hârtii, deoarece pur și
simplu introduceau datele în calculator și le salvau pe discul magnetic al acestuia. Și așa
datele erau într -un loc sigur, securizat, unde nu se deteriorau, nici nu se pierdeau și accesul la
ele îl aveau doar persoanele care erau desemnate pentru utilizarea si stricta securitate a
discului magnetic.
Capitolul 1. Istoria de zvoltării bazelor de date
Încă din c ele mai vechi timpuri oamenii au fost preocupați de înregistrarea unor fapte și
aspecte din viața de zi cu zi. Necesitatea de a organiza și gestiona aspecte importante ale
societății a condus, de -a lungul istoriei la dezvoltarea a numeroase tehnici în aces t sens.
Î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 servic ii. 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 bile telor 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. Bazele de date pot avea mărimi (număr de înregistrări) și
complexități extrem de variate.
În cadrul evoluți ei în timp a tehnicilor de organizare și prelucrare a datelor se disting mai
multe etape după cum urmează:
Prima etapă. Datele sunt organizate sub formă de fișiere secvențiale (o mulțime de date
de același tip, deci realizări de tip articol). Structura dat elor este proiectată pentru a deservi o
singură aplicație ceea ce implică o redundanță mare în memorarea datelor (aceleași date sunt
descrise independent în mai multe fișiere). Redundanța conduce la o utilizare ineficientă a
spațiului de memorie și ridică probleme în cazul operațiilor de actualizare. Dacă printr – un
program se modifică o dată dintr -un fișier, modificarea nu se face automat și în alt fișier în care
aceeași dată este memorată; prin urmare aceeași dată prezintă valori diferite în fișierele în care
apare. Acest fapt duce la o inconsistență a datelor.
Etapa a doua este marcată de separarea dintre structura logică de date și structura fizică,
separare prin care se realizează independența fizică a datelor. Datele sunt memorate în fișiere de
diferite organizări: secvențiale, indexate, directe, inversate, pentru care se pot scrie programe
care regăsesc mai rapid datele însă redundanța și inconsistența datelor nu este rezolvată nici în
această etapă. Prin separarea structurii logice de cea fizică se asigură indepandența aplicațiilor
față de modul de organizare a fișierelor și față de modificările echipamentelor hardware (se pot
schimba dispozitivele de memorare fără a afecta aplicațiile).
Etapa a treia. Pentru eliminarea redundanței (și implicit a inconsistenței) este necesar ca
fiecare dată (informație) să fie memorată într -un singur fișier, iar între fișiere diferite trebuie să
existe anumite relații. O astfel de colecție de fișiere între care există anumite relații formează un
sistem de fișiere . Pentru a nu obliga utilizatorii să gestioneze ei aceste relații, există unele
programe ( proceduri, funcții) specializate pentru utilizarea relațiilor definite. Aceste programe
pot sa fie schimbate (pentru o gestiune optimă) fără a trebui schimbate progr amele de aplicație ce
le folosesc.
Etapa a patra. Limitările tratării bazate pe fișiere de mai sus se datorează următorilor
factori :
definiția datelor este încorporată în programele aplicație, în loc de a fi stocată separat și
independent ;
nu există un control al accesului și prelucrării datelor, dincolo de cel impus de către
programele aplicație.
Pentru o tratare mai eficientă a datelor au apărut bazele de date și sistemul de gestiune a
bazelor de date (SGBD). Noutatea o constitu ie existența unui fișier de descriere globală a datelor
denumit dicționar de date.
Extragerea și modificrea datelor (lucrul cu fișierele de date), se derulează exclusiv prin
intermediul dicționarului în care se găsesc informații privitoare la structura d atelor și restricțiile
îndeplinite de acestea. Avantajul constă în separarea datelor de programele aplicație. Intr -o bază
de date bine proiectată nu există elemente de date duplicate pe care utilizatorul sau aplicația să le
actualizeze. Elementele legate d e date sunt grupate împreună într -o singură structură sau
înregistrare și pot fi definite relații între aceste structuri sau înregistrări.
Etapa a cincea. Apariția bazelor de date distribuite, plasate pe mai multe servere și
accesibile de pe diferite sta ții de la distanță. Este vorba de un nivel mai ridicat de complexitate al
gestiunii informațiilor și al aplicațiilor specifice.
Într-o arhitectură a bazei de date client/server fișierele bazei de date și softul SGBD se
afla pe server. Este furnizată o co mponentă de comunicare astfel ca aplicațiile să poată fi rulate
de diferiți clienți. Aplicațiile serverului sunt capabile de obicei să lucreze cu mai mulți clienți în
același timp.
1.1. Modele de baze de date
Tipuri de modele logice de date pentru BD:
– fundamentale: ierarhice , rețea , relaționale , orientate obiect
– derivate (extinse din cele fundamentale): distribuite , multimedia etc.
1.1.1. Modelul ierarhic
Definirea entităților se face prin noțiune de tip de înregistrare (clasă de entități), care este
formată din caracteristici (câmpuri). Realizarea (instanța) unui tip de înregistrare este dată de
ansamblul valorilor pentru câmpurile acesteia (înregistrarea).
Caracterizarea generală a modelului ierarhic
1. Modelul a fost propus de către IBM și a fost primul utilizat pentru BD.
2. Structura modelului este simplă (graf orientat) familiară specialiștilor în informatică.
3. Implementarea modelului se face fizic și condiționează performanțele BD: – prin pointeri,
utilizând diferite metode (liste simplu înlănțuite, che i primare etc.); – secvențial, fiecare realizare
a unui arbore corespunde unei înregistrări (logice) dintr -un fișier secvențial.
4. Aplicabilitatea modelului se regăsește cu succes în tehnologia construcțiilor de mașini, dar și în
alte domenii.
5. Limitele mode lului ierarhic: – numărul de ierarhii posibile crește combinatoric cu numărul
înregistrărilor, în legătura părinte -copil; – actualizarea datelor este groaie și consumatoare de
resurse calculator; – nivelul logic nu este separat clar de cel fizic (exemplu: i ndecșii pot fi
structuri logice dar și fizice); – nu se poate realiza legătura de tip M:N
6. Exemplu de SGBD ierarhic este IMS (Information Management System) realizat de către IBM.
7. Baza de date ierarhică este o mulțime ordonată de realizări ale unui tip arbo re.
1.1.2. Modelul rețea
Definirea entităților se face prin noțiunea de tip de înregistrare, care este formată din
caracteristici (câmpuri).
Realizarea (instanța) unui tip de înregistrare este dată de ansamblul valorilor pentru
câmpurile acestuia (înreg istrarea).
Caracterizarea generală a modelului rețea
1. A fost propus de CODASYL ca soluție pentru a se elimina limitele modelului ierarhic.
2. Se poate utiliza pentru domenii variate din lumea reală, deoarece permite reprezentarea unor
structuri complexe.
3. Implementarea modelului se face fizic și condiționează performanțele BD: – prin pointeri
structurați în liste înlănțuite, de diferite tipuri (owner, prior, next); – prin hartă de biți (matrice cu
înregistrări, iar la intersecție sunt legăturile: 1 -da, 0 – nu).
4. Limitele modelului rețea: – complexitatea modelului îl face dificil de implementat; – legăturile
din model nu sunt întotdeauna foarte clare; – prelucrarea înregistrărilor se face secvențial; –
actualizarea este greoaie și consumatoare de resurse calculat or; – reproiectarea este dificilă
datorită complexității ridicate.
5. Exemple de SGBD rețea : IDMS (Integrated Database Management System), Socrate.
6. Baza de date rețea este o mulțime oarecare de tipuri de înregistrări structurate pe tipuri set.
1.1.3. Mode lul relațional
Definirea entităților se face sub forma unor tablouri bidimensionale numite tabele sau
relații de date.
Caracterizarea generală a modelului relațional
1. A fost propus de către IBM și a revoluționat reprezentarea datelor în BD făcând trecerea la o
nouă generație (a doua).
2. Modelul este simplu, are o solidă fundamentare teoretică fiind bazat pe teoria seturilor
(ansamblurilor) și pe logica matematică.
3. Pot fi reprezentate toate tipurile de structuri de date de mare complexitate, din diferite do menii
de activitate.
4. Implementarea modelului se face logic prin atribute având rol de chei.
5. Limitele modelului relațional: − prea marea simplitate a modelului îl face dificil de aplicat pentru
noile tipuri de aplicații (multimedia, internet etc.); − nu a sigură o independență logică totală a
datelor de aplicație; − pentru aplicații de volum și complexitate foarte mari nu mai face față; −
poate introduce o redundanță prea mare (la proiectare prin tehnica de normalizare).
6. Baza de date relațională este un ans amblu de tabele prin care se reprezintă atât datele cât și
legăturile dintre ele.
1.1.4. Modelul orientat obiect
Definirea structurii modelului orientat obiect (OO).
Definirea obiectelor se face cu ajutorul conceptului de clasă de obiecte care este defi nită
din entitatea regăsită în lumea reală. Se pune accentul atât pe date cât și pe comportamentul
acestora, ambele încapsulate în obiect.
Un model de date orientat pe obiecte are la bază noțiunea de entitate conceptuală și
definește un obiect ca o colecți e de proprietăți care descriu entitatea. Principalele concepte care
stau la baza unui model orientat pe obiecte sunt: obiectul, incapsularea, persistența, clasa, tipul,
moștenirea, polimorfismul, identitatea și domeniul.
Obiectul
Conceptual, un obiect repr ezintă o unitate identificabilă și cu conținut propriu, care se
deosebește de ceea ce o inconjoară.
Obiectele sunt abstractizări ale entitaților lumii reale și se caracterizează prin stare și
comportament.
Starea unui obiect este exprimată prin valorile at ributelor sale. Colecția de atribute
aleasă pentru un obiect trebuie să fie suficientă pentru a descrie entitatea, adică trebuie
să includa acele atribute pe care le cunosc utilizatorii.
Comportamentul unui obiect reprezintă un set de metode sau operații c are
actionează asupra atributelor sale.
Considerând, de exemplu obiectul AVION acesta poate avea ca atribute: viteza,
anvergura, greutatea, culoarea, înalțimea de zbor etc.
Un obiect înglobează urmatoarele elemente:
· structura de date;
· specificarea operații lor;
· implementarea operațiilor.
Structura unui obiect si operațiile (metodele) permise pentru acel obiect sunt definite
împreună.
O metodă reprezintă o procedură ce manipulează obiectul sau indică starea sa și este
totdeauna asociată unei clase.
Metodele ș i atributele nu sunt vizibile din “exteriorul” obiectului. Un obiect comunica cu
“exteriorul” prin intermediul mesajelor . Mesajele reprezintă cereri adresate obiectului pentru a
returna o valoare sau pentru a -și schimba starea.
Obiectele pot fi simple sau compuse din alte obiecte. Un obiect compus poate avea ca
atribute alte obiecte, formand astfel o structură ierarhică.
Caracterizarea generală a modelului OO
1. Modelul OO marchează trecerea la o a treia generație de BD. El aduce bazelor de date un plus de
deschidere, independența logică a datelor de aplicații, reutilizarea obiectelor etc.
2. Modelul OO dă bune rezultate pentru probleme foarte mari și complexe (principiile complexității
sunt incluse în model).
3. În structură sunt acceptate toate tipurile de date cu noscute, deci se poate aplica pentru toate
domeniile de activitate.
4. Limitele modelului OO: − nu există un model OO unanim acceptat de specialiști. Există totuși
organisme internaționale de standardizare – exemplu OMG (Object Management Group) –
precum și modele OO standardizate – exemplu ODMG (Object Data Management Group); −
imaturitatea și naturalețea dezarmantă a tehnologiei OO; − elemente încă insuficient testate
pentru SBDOO: controlul integrității, volume foarte mari, regăsirea etc.
5. Exemple de SGBDO O: O 2 (Franța), Jasmine (SUA) etc.
6. Baza de date orientată obiect este o mulțime de clase de obiecte persistente (în memoria externă),
organizată coerent și ordonată în ierarhii, partajată pentru utilizatorii concurenți.
1.2. Tipuri de baze de date
O bază de date conține toate informațiile necesare despre obiectele ce intervin într -o
mulțime de aplicații, relațiile logice dintre aceste informații și tehnicile de prelucrare
corespunzătoare. În bazele de date are loc o integrare a datelor, în sensul că mai multe fișiere
sunt privite în ansamblu, eliminându -se informațiile redundante. Este permis accesul simultan la
aceleași date, situate în același loc sau distribuite spațial, a mai multor persoane prin mai multe
tipuri de interogări.
O bază de date poate fi :
integrată;
partajată.
Prin “integrată” înțelegem că baza de date poate fi gândită ca o unificare de mai multe
fișiere de date, distincte și neredundante.
Prin “partajarea” unei baze de date se înțelege că bucățile individuale de date din baza de
date pot fi partajate între mai mulți utilizatori individuali, fiecare dintre ei putând avea acces la
aceeași bucată de date simultan (sisteme multiutilizator).
1.2.1. Baze de date orientate obiect
Dezvoltarea tehnologiei sistemelor de calcul în ultimii ani a condus la pătrunderea
acestora în tot mai multe domenii de activitate, având de rezolvat probleme din cele mai diverse
și mai complexe. Pentru aceasta, structurile clasice de date bazate pe text și valori numerice fie
se dovedesc insuficiente, fie complexi tatea lor depașeste posibilitațile de prelucrare oferite de
tehnologiile clasice.
Aplicațiile specifice anumitor domenii cum ar fi: proiectarea asistată de calculator,
sisteme informatice geografice, sisteme bazate pe cunostințe etc., presupun stocarea uno r
cantităti mari de informații cu o structură complexă. De exemplu, aplicațiile de proiectare
asistată de calculator necesită stocarea și manevrarea unor desene formate din grupuri de
elemente complexe, alături de acestea fiind necesară stocarea și a altor informații privind
materialele folosite, mașini și utilaje disponibile, rezultate ale verificărilor efectuate asupra
proiectului etc.
Un alt domeniu al informaticii care necesită structuri de date complexe este multimedia.
Acest domeniu, spre care exista o orientare tot mai puternică, presupune integrarea imaginilor
reale sau sintetizate cu sunet si muzică, integrare ce nu mai permite folosirea datelor numerice
sau de tip șir de caractere.
O modalitate de rezolvare a acestor probleme este data și de tehnol ogia aplicațiilor
orientate pe obiecte.
Bazele de date orientate pe obiecte permit crearea de obiecte complexe din componente
mai simple, fiecare având propriile atribute și propriul comportament. Domeniile care se pretează
în mod deosebit la o tratare ori entată pe obiecte sunt:
· proiectare (CAD), fabricare (CAM) și inginerie (CAE) asistate de calculator;
· simulare și modelare;
· sisteme informaționale spatiale (GIS);
· administrarea documentelor și automatizarea muncii de birou;
· multimedia;
· ingineria cunoașterii : baze de cunoștințe, sisteme expert;
· controlul proceselor în timp real, pe bază de evenimente.
Obiectivele principale ale sistemelor de gestiune orientate pe obiecte sunt:
· Puterea de modelare superioară a datelor.
· Posibilitați de deducție superioară (ier arhie de clase, moștenire);
· Ameliorarea interfeței cu utilizatorul;
· Luarea în considerare a aspectelor dinamice, integrarea descrierii structurale și comportamentale
a obiectelor.
Capitolul 2. Tehnologii utilizate
Calculatorul este folos it de dimineață la o cafea, în diferitele domenii de activitate și
seara cu finalizarea unui film, tot mai mulți sunt aceia care, stând neclintiți în fața
calculatoarelor, navighează prin rețeaua de calculatoare ce acoperă întreaga lume, călătoresc și
activează in spațiul cibernetic.
Pentru cercetătorul care descoperea libertatea de comunicare și oferta internațională din
internet, multitudinea de biblioteci, reviste și grupuri de dezbatere, accesul la internet seamănă cu
un vis care nu se mai termină, vaca nța pe care urmează să o faci în Europa sau America la
distanțe foarte marii prin site -rile unde sunt prezentate locuri frumoase și utilizatorul stând în fața
calculatorului iși aduce lumea cea mare în afara calculatorului și mică la calculator.
Prin Inter net înțelegem de obicei ansamblul rețelelor de calculatoare interconectate din
întreaga lume. De fapt, specialiștii susțin că Internetul nu este o rețea ci un ansamblu de reguli –
protocoale de comunicație – care permit transferul de date între diferite re țele de pe glob, accesul
la informațiile stocate în calculatoarele acestora.
Accesul la Internet este atât modul de conectare în rețea, cât, mai ales, accesul la
informația ce se vehiculează prin calculatoarele legate în rețea, posibilitatea de comunicație cu
specialiștii din lumea întreagă.
Internetul este o gigantică rețea de calculatoare, mai precis, o rețea de rețele de
calculatoare.Unele dintre aceste calculatoare oferă o diversitate de servicii pentru oameni.
Dezvoltarea internetului a fost foarte rap idă, în anul 1985, aproximativ 2000 de
calculatoare erau legate la Internet. în momentul de față există zeci chiar sute de milioane de
calculatoare conectate în întreaga lume, care permit accesul în rețea a unui număr foarte mare de
oameni. În fiecare an, comunitatea primește milioane de noi utilizatori care doresc să utilizeze
internetul pentru a cunoaște informații noi din domenii diferite.
Internetul în România a pătruns relativ încet, multă vreme fiind considerat un lux inutil.
Chiar și acum, pentru uz personal, mai ales datorită costurilor foarte mari ale serviciilor
telefonice, este destul de puțin utilizat. Din punct de vedere al infrastructurii lucrurile au avansat
destul de mult, din punct de vedere al resurselor informatice disponibile evoluția es te destul de
greoaie.
Majoritatea companiilor și chiar unele structuri administrative au ințeles că prezența
internetului este foarte importantă, încă nu există resurse și depozite informaționale românești
semnificative. Din acest motiv traficul observat în rețeaua românească este mai mult de aducere
de informații din exterior decât de export de informații în cadrul țării. În contextul internațional
actual de afaceri, academic și tehnologic, fenomene ca globalizarea și liberalizarea accesului la
informație dinamică și nivelul de performanță al dezvoltărilor în domeniul comunicațiilor și al
calculatoarelor, sunt deja lucruri comune și legate unele de altele.
Dincolo de granițe, în restul omenirii, Internetul a devenit deja cea mai comodă sursă de
informație, în timp ce ceea ce este disponibil și în România pe Internet este fie vechi, fie
incorect, fie lipsește prin costurile ridicate.
Pentru a ne da seama ce ne rezervă viitorul în privința rețelei Internet, trebuie să
înțelegem tipurile de tehnologii elaborat e de experții implicați în dirijarea rețelei și pentru
utilizarea internetului cât mai ușor cu putință.
Colaborare
În dezvoltarea internetului s -au făcut mari progrese în domeniul conferințelor video la distanțe
marii.De exemplu, există tehnologii care per mit colaborarea la anumite documente prin
intermediul rețelei. De asemenea putem lua parte la conferințe audio și chiar să folosim o
„planșetă” electronică pentru a ne expune schemele și proiectele, astfel încât acestea să poată fi
vizualizate de către toț i participanții.
Obiecte
Creatorii paginilor Web nu mai sunt limitați la texte și grafică, așa încât putem fi siguri că vom
găsi o mulțime de elemente interesante pe Web și cu o viteză foarte mare de accesare. Câteva
inovații recente permit chiar și distri buirea de programe prin Web.
Mesaje e -mail complexe
Nu mai suntem limitați la mesaje simple de text. Limbajul HTML permite formatarea acestora,
cu caractere aldine și cursive, și cu diferite formate de paragraf. Mai mult decât atât, putem atașa
mesaje d e e-mail, imagini și alte elemente multimedia.
Securitate
Specialiștii din spatele rețelei Internet lucrează pentru a securiza comerțul on -line, oferind
metode de protejare a tranzacțiilor din multitudinea de domenii de activitate. Ei crează un mediu
mai s igur pentru copiii care se joacă pe Web, furnizând criterii de evaluare a paginilor, și asigură
securitatea rulării aplicațiilor distribuite, prin autentificări de cod și o securitate foarte bine pusă
la punct.
2.1. Pagini Web și Servere Web
Construcția Wo rld Wide Web este pe baza unui protocol numit Hypertext Transfer
Protocol ( HTTP ).
HTTP este un protocol mic și rapid care se potrivește foarte bine sistemelor informatice
multimedia și distribuite în salturile între site -uri.
Web -ul constă în pagini cu informații de pe gazde care rulează software de tip server
Web. Gazda este de multe ori identificată cu serverul Web, lucru care nu este corect. Serverul
Web este un software, nu calculatorul în sine.
Un Web server este un program care furnizează pagini Web la cerere. Când un utilizator
de la o adresă IP specifică solicită un anumit fișier, serverul Web încearcă să obțină acel fișier și
să-l trimită înapoi utilizatorului.
Fișierul solicitat poate fi codul sursă HTML al unei pagini Web, o imagine GIF, un f ișier
Flash, un document XML, sau un fișier AVI. Browserul Web este cel care determină ceea ce
trebuie cerut, nu serverul Web.
Conexiunile la serverul Web stabilesc pe măsură ce sunt accesate, se solicită o cere a unei
pagini de la un server Web, o conexiu ne IP este stabilită prin Internet între gazda solicitantă și
gazda pe care rulează serverul Web. Pagina Web cerută este transmisă prin acea conexiune, iar
aceasta este întreruptă de îndată ce pagina este primită (de exemplu, imaginiGIF sau JPG).
Pe un ace lași host pot rula mai multe aplicații de Internet, de exemplu un server Web,un
server FTP, un server DNS și un server de mail SMTP POP3 pot rula în același timp.
Fiecărui server îi este atribuit un port pentru a asigura că fiecare server va răspunde
numai cererilor din partea clienților corespunzători.
Majoritatea serverelor folosesc un set de porturi predefinite. Serverele Web folosesc de
obicei portul 80, dar acesta poate fi schimbat. Pot fi instalate pe porturi nestandard pentrua fi
ascunse, și de asem enea, pot fi instalate mai multe servere Web pe un singur calculator
asociindu -le porturi diferite.
Internetul reprezintă o mulțime globala de calculatoare interconectate, similar uneirețele
locale, dar la o scară mult mai largă. Elementul primar al Inter net-ului este WorldWide Web
(cunoscut sub denumirea de Web sau WWW ). WWW este un suport pentru text, grafică,
animație și sunet. Documentele destinate Web -ului sunt cunoscute sub numele de pagini Web.
Pentru a înțelege mai bine World Wide Web se pornește de la modul în care este
organizată informația în mediile tipărite. Aceste medii reprezintă un model adecvat pentru web și
modul său de organizare.
Paginile Web oferă posibilitati multiple și interesante: paginile de informații se pot regăsi
pe calculatoa re răspândite în lumea întreagă. Paginile în sine pot fi documente foarte complexe,
interesante și atractive. Paginile Web sunt memorate pe HDD unui server specializat și
gestionate printr -un software special și sunt regasite și afișate prin intermediul na vigatoarelor
Web (browser -e).
Navigatorul Web afișează paginile de Web prin interpretarea unor marcatori -definiți cu
ajutorul unui limbaj special denumit HTML (HyperText Markup Language) – utilizați pentru a
codifica pagina de Web cu informația de afișa t. Marcatorii au diferite semnificații. De exemplu
aceștia semnifică modul în care vor fi așezate diversele părți ale paginii sau stabilesc legături
între documente/fișiere.
Tipic, o pagină de Web este legată de o diversitate de fișiere cum ar fi fișiere t ext,grafice
sau multimedia. Mecanismul prin care sunt create căile de acces între documente este denumit
hipertext, prezentat anterior. Atunci când utilizatorul acționează prin clic de mouse asupra unei
legături, cum ar fi o porțiune de text, un element g rafic, etc, navigatorul încarcă fișierul la care
punctează această legătură și îl afișează. Legăturile din cadrul textului sunt ușor de identificat
deoarece majoritatea navigatoarelor, implicit, colorează diferit de restul textului aceste legături și
le subliniază.
Un site Web este definit ca o colecție coerentă de informații prezentată sub forma unor
pagini Web, fișiere multimedia, documente și de alte tipuri, între care există legături. Într -un site
bine proiectat toate celelalte pagini punctează către pa gina principală,chiar dacă navigatoarele
moderne au butoane pentru acest lucru.
Atunci când se realizează un site Web aceste fișiere sunt păstrate, în mod uzual, într -un
director sau o colecție de directoare în HDD local și este ferit cu numele de site loc al. Serverul
Web este dedicat memorării, transmiterii și regăsirii paginilor de Web și a fișierelor legate de
acestea.
Prin publicarea unui site local (upload), directorul, împreună cu conținutul său, este
transferat la server -ul Web care conține Software -ul prin care site -ul este transmis navigatoarelor
Web ale calculatoarelor conectate la Internet. Odată publicat, site -ul se transformă din site local
în site Web, iar interacțiunea utilizatorului cu el are loc similar modului descris in Fig 2.1.
Fig 2.1. Interacțiunea utilizatorului cu site -ul Web
Deși cea mai mare parte a informațiilor din World Wide Web este stocată în paginiWeb
scrise folosind limbajul HTML, există un număr destul de mare de documente provenite din alte
tipuri de servicii de publ icare a informațiilor din Internet.
2.2. Pagini Web Statice și Dinamice
HTML
Paginile Web sunt fișiere cu simplu text construite folosind limbajul Hypertext Markup
Languag e ( HTML). Acesta este implementat ca o mulțime de tag -uri ușor de învățat. Autorii
paginilor Web folosesc aceste tag -uri pentru a marca paginile de text, iar browserele le folosesc
pentru a ronda și afișa informațiile pentru a putea fi vizualizate. Paginile Web pot să conțină
legături hypertext la alte pagini.
JavaScript
HTML este un l imbaj de markup. El permite crearea layout -ului paginilor și a
formularelor, dar nimic mai mult. Pentru a se construi interfețe intuitive și sofisticate este necesar
și un limbaj de scripting la nivel de client. Scripting -ul permite scrierea de cod (mici programe)
care rulează în cadrul browserului.
Cel mai cunoscut limbaj de scripting pe parte de client este JavaScript , care este suportat
(mai mult sau mai puțin) de aproape orice browser existent. Folosind JavaScript se poate realiza:
validarea formulare lor, animarea textului și a imaginilor, crearea de meniuri drop -down și a
controalelor de navigare, se pot efectua procesări de bază numerice sauasupra textelor și multe
altele.
Scripting -ul permite programatorilor să detecteze și să proceseze evenimentele . De
exemplu, o pagină care se încarcă, un formular trimis, mișcarea pointer -ului mouse -ului asupra
unei imagini sunt toate evenimente, iar script -urile pot fi executate automat de browser atunci
când aceste evenimente au loc.
Script -urile pot fi incluse în codul HTML sau pot fi stocate în fișiere externe și legate în
interiorul codului HTML.
Tehnologii pe parte de Client
Majoritatea browserelor permit folosirea și a altor tehnologii, dintre care cele mai
importante sunt:
-CSS (Cascading Style Sheets) – oferă o modalitate de a separa prezentarea de conținut astfel
încât ambele să poată fi refolosite și modificate cu ușurință.
– DHTML( Dynamic HTML) – o combinație de HTML, script -uri și CSS care folosite împreună,
pot realiza interfețe pentru utilizator foar te atractive și interactive.
– Appleturi Java – mici programe care rulează în browser.
– Macromedia Flash – o tehnologie inclusă în 98% din browserele existente, care oferă un
mecanism pentru crearea unor interfețe atractive și portabile.
URL -uri
Formatul unei locații din Internet este numit URL ( Uniform Resource Locator –
Descriptor Uniform de Resurse). Structura completă a unui URL este urmatoarea:
Protocol ://nume -calculator -gazda:port/cale -director/resursa
Protocolul sau serviciul este reprezentat de regulile care guvernează transferul datelor în
rețea. În practică se utilizează urmatoarele protocoale:
o file – specifică un URL local;
o http – indică adresa Internet a unei pagini Web sau altă resursă ;
o ftp – utilizat pentru adresarea în Internet a fișierel or prin intermediul protocolului
detransfer de fișiere FTP;
o gopher – indică adresa URL a unui director Gopher; reprezintă un sistem utilizat pentru
localizarea și transferul informațiilor de indexare a numelor fișierelor în Interent;
o telnet – permite cone ctarea în timp real la un alt calculator în Internet și utilizarea
acestuia ca și cum ar fi un calculator local.
În sistemele Windows, în anumite situații protocolul poate lipsi pentru anumite adrese,
tipul acestuia fiind determinat din numele gazdei. Num ele calculatorului gazdă identifică în mod
unic un calculator în cadrul rețelei. Numele poate fi reprezentat atât printr -o adresa IP, cât și prin
denumirea unui calculator local sau a unui calculator din Internet folosind specificațiile DNS.
Portul este re prezentat printr -un număr și este specific fiecărei aplicații. Majoritatea
aplicațiilor de rețea utilizează porturi pentru comunicare. Pe un calculator pot exista mai multe
aplicații de rețea, fiecare aplicație utilizând un port distinct.
Numele resursei e ste reprezentat de numele fișierului referit. Acesta poate fi o
paginaWeb, un fișier multimedia, un document, un fișier executabil.O limitare o constituie faptul
că un URL nu poate conține spații și alte caractere speciale, astfel că orice spațiu sau carac ter
special se va converti printr -un cod asociat acestora precedat de simbolul „%”.Alte URL -uri
folosite alături de cele prezentate sunt cele de:
o e-mail, prin intermediul cărora se pot doar transmite mesaje de poștă electronică;
o știri Usenet – în care treb uie să se identifice un server de știri care să ofere acces.
2.3. Limbajul PHP
PHP, acronim care provine din " PHP: Hypertext Preprocessor", este un limbaj
descripting utilizat pe scară largă, realizat și distribuit în sistem Open Source, care este specia l
realizat pentru a dezvolta aplicații web, prin integrarea codului PHP în documente HTML.
Sintaxa sa provine din C, Java și Perl și este ușor de învățat. Scopul principal al limbajului este
acela de a scrie rapid pagini web dinamice, dar cu PHP se pot rea liza mult mai multe.
PHP este una dintre cele mai interesante tehnologii existente în prezent. Deoarece îmbină
caracteristici dintre cele mai complexe cu simplitatea în utilizare, PHP a devenit rapidun
instrument de frunte pentru dezvoltarea aplicațiilor î n Web. Totuși, spre deosebire de alte
instrumente populare pentru dezvoltarea aplicațiilor Web, cum este Perl, PHP este un limbaj de
programare comod pentru începători, chiar și pentru cei care nu au mai desfășurat activități de
programare în trecut.
Ca și alte limbaje de scripting pentru Web, PHP vă permite să furnizați un conținutWeb
dinamic, adică un conținut Web care se modifică automat de la o zi la alta sau chiar dela un
minut la altul. Conținutul Web este un element important în susținerea traficului unui sitWeb; de
regulă, vizitatorii nu vor mai reveni la o pagină Web care conține aceleași informațiica și cele
prezentate la ultima vizită. Pe de altă parte, siturile Web frecvent actualizate potatrage cantități
enorme de trafic.
Mai mult, spre deosebir e de limbajele de scripting, precum JavaScript, PHP rulează pe
serverul Web, nu în browserul Web. În consecință, PHP poate obține accesul la fișiere, baze de
date și alte resurse inaccesibile programului JavaScript. Acestea constituie bogatesurse de
conțin ut dinamic, care atrag vizitatorii.
Noțiuni Fundamentale
Spre deosebire de un script scris în alte limbaje cum ar fi Perl sau C – în loc de ascrie un
program cu o mulțime de comenzi pentru a produce un HTML, folosind PHP se poate scrie un
script HTML, ca c el de mai jos, ce include cod pentru a realiza ceva.Codul PHP este delimitat de
coduri de start și de sfârșit ce permit intrarea și ieșireadin "modul PHP".
<html>
<head>
<title>Exemplu</title>
</head>
<body>
<?php
echo "Salut, sunt un script PHP!";
?>
</body>
</html>
Diferența dintre PHP și altceva cum ar fi JavaScript, este acela că PHP este executat pe
server pe când JavaScript este executat pe calculatorul clientului (de browserul Web).Pentru un
script similar celui de mai jos sus pe un server, clientul ar primi doar rezultatelescriptului ce este
rulat, fără a vedea în nici un fel codul din spatele acestuia. Se poate chiar configura serverul de
web ca acesta să proceseze toate fișierele HTML cu P HP și astfel nuexită nici o metodă ca un
utilizator să știe de fapt ce există în fișiere.
Cu PHP se poate face orice. PHP este în principal axat pe partea de scripting cerulează pe
server, deci poate face orice face și un program CGI, cum ar fi colectarea de datede la formulare,
generarea de conținut dinamic sau trimitere și primire de cookie -uri. Dar PHP poate face mult
mai multe.
Există trei domenii principale unde sunt folosite scripturile PHP:
Scripturi ce rulează pe server. Acesta este cel mai tradiți onal și cel mai important
pentru PHP. Este nevoie de trei lucrui pentru a face să meargă: interpretorul
PHP(CGI sau modul de server), un server web și un browser web. E nevoie ca
serverul deweb să fie pornit, cu o conexiune PHP instalată. Se poate accesa
rezultatul programelor PHP cu un browser prin intermediul serverului de w eb.
Scripting în linie de comandă. Se poate face ca PHP să ruleze fără a fi nevoie
deserver și de browser, ci doar de interpretorul PHP. Această metodă este ideală
pentruscript -urile ce se vor a fi executate de regulă folosind cron (task scheduler
înWindow s), sau sarcini simple de procesare a textelor.
Scrierea de aplicații ce rulează de partea clientului în mod grafic (GUI). Probabil
căPHP nu este limbajul cel mai bun de a scrie aplicații cu ferestre pentru
Windows saualte sisteme de operare, dar dacă este bine cunocut și se dorește
folosirea unor facilități avansate ale PHP -ului în aplicațiile ce rulează de partea
clientului, se poatetotuși folosi PHP -GTK pentru a scrie astfel de programe. De
asemenea, există posibilitatea de a scrie aplicații ce rulează p e platforme diferite
folosind aceastămetodă. PHP -GTK este o extensie a PHP -ului, nedisponibilă în
distribuția principalăde PHP.
PHP poate fi folosit pe aproape toate marile sisteme de operare, incluzând Linux,multe
variante de Unix (incluzând HP -UX, Solar is și OpenBSD), Microsoft Windows, MacOS X,
RISC OS, probabil și altele. PHP are de asemenea suport pentru majoritatea serverelor de web
din prezent. Acestea includ serverele Apache, Microsoft Internet Information Server,Personal
Web Server, Netscape și iP lanet, serverul Oreillz Website Pro, Caudium, Xitami,OmniHTTPd, și
multe atele. Pentru majoritatea serverelor PHP are un modul, iar pentrucelelalte suportă
standardul CGI, PHP putând să lucreze ca un procesor CGI.
Deci, cu PHP, există libertatea de a alege un sistem de operare și un server de web.Chiar
mai mult, există posibilitatea de a alege programarea procedurală sau programareaorientată
obiect, sau chiar să se combine acestea. Cu toate acestea, nu orice facilitate astandardului POO
este prezentă în ver siunea curentă a PHP -ului, multe librării de cod șiaplicații mari (incluzând și
librăria PEAR) sunt scrise folosind doar cod POO.
Cu PHP programatorul nu este limitat să scoată rezultat HTML. Posibilitățile PHP -ului
includ afișarea de imagine, fișiere PDF și chiar filmulețe Flash (folosind librăriile libswf și
Ming) toate generate instant. Se poate de asemeanea ca rezultatul să fie orice fișier text,cum ar fi
XHTML sau orice alte fișiere XML. PHP poate genera automat aceste fișiere și să le salveze în
sistemul de fișiere în loc să le afișeze, formând un cache de partea serverului pentru conținutul
dinamic.
Una dintre cele mai puternice și importante facilități în PHP este suportul său pentru
ogamă largă de baze de date. Scrierea une pagini de web ce interac ționează cu o bază de dateeste
incredibil de simplă. PHP suportă și ODBC, standardul Open Database Connection, decise poate
conecta la orice altă bază de date ce suporta acest standard mondial.
PHP are de asemenea suport pentru a conversa cu alte servicii folosind protocoale cum ar
fi LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (pe Windows) și multe altele. Se pot, de
asemenea, deschide socket -uri de rețea și se poate interacționa între aproape toatelimbajele de
programare Web. PHP are suport pentru instanțiere a obiectelor Java și utilizarealor într -un mod
transparent ca obiecte PHP. Se pot de asemenea folosi extensii CORBA pentru a accesa obiecte
aflate la distanță.
PHP are capabilități extrem de folositoare pentru procesarea textului, de la POSIXExtins
sau exp resii regulare Perl, până la parsarea documentelor XML. Pentru parsarea șiaccesarea
documentelor XML, suportă standardele SAX și DOM.
Folosind PHP în domeniul comerțului electronic, sunt foarte folositoare pentru programul
tău de plați online funcții de pl ată Cybercash, CyberMUT, VeriSign Payflow Proși CCVS.
În cele din urmă, dar nu în ultimul rând, PHP are și alte extensii interesante, cum ar fi
funcții ale motorului de căutare mnoGoSearch, funcții pentru accesarea IRC -ului, multeutilitare
de compresie (gz ip, bz2), conversie de calendar, traducere, etc.
Separarea instrucțiunilor
Instrucțiunile sunt separate la fel ca în C sau Perl – fiecare instrucțiune este terminatăcu
un semn punct și virgulă.Tag -ul de închidere implică și sfârșitul instrucțiunii, deci ur mătoarele
două exemplesunt echivalente:
<?php
echo "Test";
?>
<?php echo "Test" ?>
Comentariile
PHP suportă comentarii de tip 'C', 'C++' și Unix shell. De exemplu:
<?php
echo "Test1"; // Comment pe o linie de tip C++
echo "Test2";
echo " Test3"; # Comment pe o linie de tip Unix shell
?>
Comentariul pe o si ngură linie, de fapt realizează comentarea codului până la
sfârșitulliniei curente sau până la terminarea blocului curent PHP, oricare din aceste două
cazuriapare primul.
Tipuri de date
PHP suportă opt tipuri primitive de date.
Patru tipuri scalare: boolean, integer , float (numere în virgulă mobilă, sau ‘double’) și
string.
Două tipuri compuse: array, obiect.
Două tipuri speciale: resource, NULL.
Tipul unei variabile, de obicei nu este stabilit de programator, ci este decis la rulare
dePHP, în funcție de contextul în care acea variabilă este folosită.
Variabile
În PHP variabilele sunt reprezentate folosind un semn dollar urmat de numelevariabilei.
Numele variabilelor sunt case -sensitive.
Variabile predefinite
PHP furnizează un număr larg de variabile predefinite. Multe din aceste variabile, nu pot
fi documetate complet deoarece sunt dependente de serverul pe care rulează, deversiunea și
setarea acestuia precum și de alți factori.
Unele di n aceste variabile nu vor fi folosite când PHP rulează în linie de comandă.
PHP Superglobals
$GLOBALS – Conține o referință la fiecare variabilă care este în mod curent valabilă în scopul
global al script -ului. Cheile acestui șir sunt numele variabilelor g lobale.
$_SERVER – Reprezintă variabilele setate de serverul de web sau legate direct de mediul
deexecuție al scriptului curent.
$_GET – Reprezintă variabilele oferite scritpt -ului direct prin HTTP GET. Analog vechiului șir
$HTTP_GET_VARS (care încă este v alabil, dar depreciat).
$_POST – Reprezintă variabilele oferite scritpului direct prin HTTP POST. Analog vechiului șir
$HTTP_POST_VARS (care încă este valabil, dar depreciat).
$_COOKIE – Reprezintă variabilele oferite scritpului direct prin HTTP. Analog ve chiului șir
$HTTP_COOKIE_VARS (care încă este valabil, dar depreciat).
$_FILES – Reprezintă variabilele oferite scritpului prin upload -ul de fișiere folosind modulPOST
din HTTP. Analog vechiului șir $HTTP_POST_FILES (care încă este valabil, dar depreciat).
$_ENV – Reprezintă variabilele oferite scritpt -ului prin mediu. Analog vechiului șir
$HTTP_ENV_VARS (care încă este valabil, dar depreciat).
$_REQUEST – Reprezintă variabilele oferite scritpt -ului prin mecanismele de input GET,POST,
și COOKIE, deci care n u pot fi de încredere.
$_SESSION – Reprezintă variabilele registrate unei sesiuni a script -ului. Analog vechiului șir
$HTTP_SESSION_VARS (care încă este valabil, dar depreciat).
Folosirea variabilelor statice
O importantă caracteristică a scope -ului variab ilei o reprezintă variabila statică.
Ovariabilă statică există în scope -ul funcției locale, dar nu își pierde valoarea când execuția
programului părăsește acest scope. Să considerăm următorul exemplu:
<?php
function Test () {
$a = 0;
echo $a;
$a++;
} ?>
Această funcție este destul de nefolositoare deoarece de fiecare dată este apelată săseteze
valorea 0 variabilelei $a și să printeze "0".
Instrucțiunea $a++ care incrementează variabila nu servește nici unui scop deoarce,de
îndată ce funcția i ese, variabila dispare. Pentru folosirea unei funcții de numărare care nuva mai
pierde număratoarea curentă, variabiala $a este declarată statică.
<?php
function Test()
{
static $a = 0;
echo $a;
$a++;
}
?>
Astfel, de fiecare dată când funcți a Test() este apelată, aceasta va afișa valoarea variabilei
$a și o va incrementa.
Variabilele statice oferă, de asemenea, un mod de a lucra cu funcțiile recursive. O funcție
recursivă este o funcție care se autoapelează. Trebuie avută grijă la scrierea un ei funcții
recursive, deoarece este posibilă realizarea unei recursii infinite. Trebuie asigurat unmod de a
termina recursia. Următoarea funcție recursivă simplă numără până la 10, folosind variabila
statică $count pentru a știi când să se oprească:
<?php
function Test()
{
static $count = 0;
$count++;
echo $count;
if ($count < 10) {
Test ();
}
$count –;
}
?>
Formulare HTML (GET și POST)
Când un formular este trimis unui scrip PHP, informațiile din acel formular sunt a utomat
transmise scriptului PHP. Sunt mai multe modalități de a accesa informația, de exemplu:
<form action="foo.php" method="POST">
Name: <input type="text" name="username"><br>
Email: <input type="text" name="email"><br>
<input type="submit" nam e="submit" value="Submit me!">
</form>
În funcție de setările și preferințele particulare, sunt multe modalități de a accesadatele
din formulare HTML. Câteva exemple:
<?php
// Available since PHP 4.1.0
print $_POST['username'];
print $_REQUEST['user name'];
import_request_variables('p', 'p_');
print $p_username;
// Available since PHP 3. As of PHP 5.0.0, these long predefined
// variables can be disabled with the register_long_arrays directive.
print $HTTP_POST_VARS['username'];
// Available if the PHP directive register_globals = on. As of
// PHP 4.2.0 the default value of register_globals = off.
// Using/relying on this method is not preferred.
print $username;
?>
Folosirea unui formular de tip GET este similară, cu deosebirea că se va f olosi variabila
predefinită GET în schimb. GET se poate folosi și pentru extragerea informațiilor din
QUERY_STRING (informațiile de după semnul ? din URL). De exemplu, URL -ul
http://www.example.com/test.p hp?id=3 conține date GET care sunt accesibile prin $_GET['id'].
2.4. Baze De Date
Noțiuni generale
Bazele de date au devenit o componentă esențială a vieții de fiecare zi în societatea
modernă. În cursul oricărei zile, fiecare dintre noi desfășurăm activ ități care implică interacțiunea
cu o bază de date, ca de exemplu, depunerea sau extragerea unor sume de banidin bancă,
rezervarea biletelor la tren sau avion, rezervarea locurilor la hotel, căutarea unei referințe
bibiografice într -o bibliotecă computeriz ată (digital library ), etc.
În sensul cel mai larg, o bază de date (database ) este o colecție de date corelate din punct
de vedere logic, care reflectă un anumit aspect al lumii reale și este destinată unui anumit grup de
utilizatori. O bază de date poate fi creată și menținută manual (de exemplu,fișele de evidență a
cărților dintr -o bibliotecă, așa cum erau folosite cu ani în urmă) sau computerizat, ceea ce
reprezintă obiectul cursului de față.
O bază 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,
curedundanță controlată),
integritatea datelor (se referă la corectitudinea datelor încarcate și manipulate astfel încât
să se res pecte 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șitimp),
independența datelor (organizarea datelor să fie transparentă pent ru
utilizatori,modificările în baza de date să nu afecteze programele de aplicații).
2.5.Limbajul SQL
SQL (Structured Query Language – Limbaj Structurat de Interogare) , apărut în 1970 este
un limbaj de programare specific lucrului cu bazele de date, deve nit un standard în domeniu
(standardizat ANSI -ISO), fiind cel mai popular limbaj utilizat pentru creearea, modificarea,
regăsirea și manipularea datelor de către SGBD -urile (Sistemele de Gestiune aBazelor de Date)
relaționale.
Caracteristici generale:
• SQ L conține atât componența de descriere a datelor (LDD), cât și componența
demanipulare a datelor (LMD);
• Manipularea (interogarea) este partea extinsă;
• Limbaj neprocedural : secvența de comenzi (instrucțiuni), fiecare comandă estetransmisă
SGBD -ului, est e interpretată și returnează un rezultat.
Prezentarea limbajului SQL
Standardul SQL3 (SQL ’98) definește modelul obiect -relațional de baze de date.
Structura sintactica : limbajul este compus din instrucțiuni (comenzi). O comandă SQL
este o secvență de elem ente componente (token). Elementele componente pot fi: cuvinte cheie,
identificatori, caractere speciale și constante (literali).
Cuvintele cheie și identificatorii
Aceștia au o structură lexicală identică. Lexical, un cuvânt cheie sau un identificator
inseamnă o secvență de litere și caracterul ‘_’.
Din punct de vedere semantic, cuvintele cheie sunt elemente cu semnificație fixa în
limbaj:
– nume de comenzi (clauze): SELECT, INSERT, etc;
exemplu de SELECT:
SELECT * FROM elevi WHERE adminID='{$_SESSION['loga t_elev_id']}'
//scoate datele elevului autentificat din baza de date
– tipuri de date: integer, numeric, char, varchar, etc.
Limbajul SQL nu diferențiază caracterele mari de cele mici: este case insensitive.
Identificatorii au aceeași structură lexicală; din punct de vedere semantic reprezintă nume
într-o comandă și pot fi: nume de tabele, de coloane, etc. SQL folosește termenii de tabel,
coloană și linie pentru relație , atribut și tuplu (cei subliniați sunt cei folosiți în definirea
matematică a modelului re lațional).
Identificatorii sunt:
– obișnuiți (simpli): Secție, ANGAJAT, etc;
– delimitați: reprezintă un nume pus între ghilimele, care poate să conțină orice fel de
caractere. Un identificator delimitat este folosit, în general, pentru un nume mai mare de tabel.
Constantele pot fi:
– de tip număr întreg: ex 1234 (reprezentate pe 4 octeți);
– de tip număr real: ex 12.5, 12e5 (reprezentate de 8 octeți, în formatul double );
– de tip șir de caractere: ex “Acesta este un șir”;
– de tip NULL: constanta specială, reprezi ntă lipsa de informație.
Caracterele speciale
– operatori (+, -,…);
– “;” termină o comanda;
– punctul zecimal (constante reale, codificări ale coloanelor);
– separatorii: blank, TAB, CR ; sunt ceruți uneori între elemente.
Operatori, expresii și funcții SQL
Operatorii SQL : pot fi reprezentați prin unul sau mai multe caractere speciale (+, <,…)
sau prin cuvinte cheie (AND, OR, NOT, UNION).
Operatorii pot fi clasificați:
– operatori binari: au nevoie de doi operanzi;
– operatori unari: se aplică unui singur operand ș i pot fi postfixe sau prefixe.
– aritmetici: +, -, <, <=, <> (!=);
– logici: AND, OR, NOT.
Operatorii logici se aplica asupra unor valori ternare (o valoare ce reprezintă unoperand
ce poate avea valoare TRUE (1), FALSE (0) și NULL (lipsă de informație)).
Nu ex istă tipul de date boolean asupra caruia să se aplice operatorii logici dar operatorii
de comparație returnează o valoare booleana.
Operatorii de comparație evaluează orice expresie la o valoare logica (bool): TRUE,
FALSE. Tipul boolean există însa incepâ nd din SQL3. Operatorii de comparație pot fi:
aritmetici: <, >, <=, >=, =, != (<>);
relaționali
o A BETWEEN val_min val_max;
o A LIKE model_șir -> A șir;
o A IS NULL sau A IS NOT NULL;
o A IN lista_valori.
O expresie SQL este o expresie formată din operanzi, opera tori și paranteze. Operatorii,
în general, sunt nume de coloane (se va folosi valoare atributului definit de aceacoloană) sau o
constantă.
Orice expresie se evaluează la o valoare care poate fi apoi folosită în alte operații.
2.6. MySQL
Prezentare general ă
MySQL este un sistem de gestiune a bazelor de date relațional, produs de compania
suedeză MySQL AB și distribuit sub Licență Publică Generală GNU. Este cel mai popular
SGBD open -source la ora actuală, fiind o componentă cheie a stivei LAMP (Linux,
Apache ,MySQL, PHP).
Deși este folosit foarte des împreună cu limbajele de programare JAVA, PHP, cu MySQL
se pot construi aplicații în orice limbaj major. Există multe scheme API disponibile pentru
MySQL ce permit scrierea aplicațiilor în numeroase limbaje de pro gramare pentru accsarea
bazelor de date MySQL, cum are fi: C, C++, C#, Borland Delphi, Java, Perl, PHP,Python,
FreeBasic, etc., fiecare dintre acestea folosind un tip spefic API. O interfață de tip ODBC
denumită MyODBC permite altor limbaje de programare c e folosesc această interfață, să
interacționeze cu bazele de date MySQL cum ar fi ASP sau Visual Basic.
În multe cărți de specialitate este precizat faptul că MySQL este mult mai ușor de invățat
și folosit decât multe din aplicațiile de gestiune a bazelor de date, drept exemplu comanda de
ieșire fiind una simplă și evidentă: „exit” sau „quit”.
Pentru a administra bazele de date MySQL se poate folosi modul linie de comandăsau,
prin descărcare de pe internet, o interfață grafică: MySQL Administrator și MySQLQ uery
Browser. Un alt instrument de management al acestor baze de date este aplicația SQLManager.
MySQL poate fi rulat pe multe dintre platformele software existente: AIX,
FreeBSD,GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista.
Serverul de baze de date MySQL este foarte rapid, fiabil și ușor de utilizat. Inițial afost
dezvoltat pentru a manipula baze de date de dimensiuni mari mult mai rapid decâtsoluțiile
existente.
MySQL Database Software este un sistem client/server ce constă înt r-un server MySQL
multithreaded care suportă diferite programe client și biblioteci, unelte administrative și o gamă
largă de interfețe pentru programarea aplicațiilor (ApplicationProgramming Interfaces – APIs).
Caracteristicile de bază ale MySQL
Câteva di ntre caracteristicile de bază ale MySQL sunt:
– Funcționează pe diferite platforme
– Dispune de API pentru C, C++, Eiffel, Java, Perl, PHP, Pyton, Ruby și Tcl
– Complet multi -threaded folosind thread -uri de kernel. Acest lucru înseamnă că poate
lucra cu ușuință pe mai multe procesoare dacă sunt disponibile
– Un sistem de alocare a memoriei foarte rapid și bazat pe thread -uri
– Folosește tabele temporare stocate în memorie
– Funcțiil e SQL sunt implementate folosind o bibliotecă de clase optimizată și sunt foarte
rapide . De obicei, nu are loc alocare a memoriei după inițializarea interogărilor.
– Serverul este disponibil ca program separat ce poate fi folosit într -un mediu de rețea detip
client/server. De asemenea, este disponibil și ca bibliotecă ce poate fi inclusă înapl icații
de sine stătătoare
– Oferă motoare tranzacționale și non -tranzacționale de stocare a datelor
Tipuri de date utilizate de MySQL
Tipurile de date care apar în coloanele MySQL sunt diferite în funcție de tipul lor.
MySQL alocă spațiu pe disc în funcție d e tipul de date specificat de utilizator.
Tipul de câmp TIMESTAMP oferă posibilitatea de a data automat operațiile de tip
INSERT și UPDATE. El este compus implicit din 14 caractere pentru
formatul'YYYYMMDDhhmmss' dar putem să specificăm la crearea unui tab el că dorim să
conțină mai puține caractere.
Tipurile de string -uri în MySQL sunt BLOB, TEXT, CHAR, VARCHAR, ENUM și
SET.
Câmpul de tip BLOB poate conține o cantitate variabilă de informație, similar cu TEXT
însa diferit printr -un singur aspect: căutarea î ntr-un câmp BLOB este case sensitive (se face
diferență între majuscule și minuscule), iar într -un câmp TEXT nu este. Tipul VARCHAR este
similar tipului TEXT cu deosebirea ca într -o coloană de tip VARCHAR putem specifica
numărul maxim de caractere admise.
Administrarea bazelor de date MySQL din linia de comandă
În cazul unui sistem de operare Windows, conectarea pentru a lucra în mod interactivcu
cu serverul MySQL instalat pe același calculator realizează lansând în execuție
monitorulMySQL numit mysql.ex e din directorul mysql/bin:
C:\mysql \bin>mysql.exe
Welcome to MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.0.15 -nt
Type ’help;’ or ’ \h’ for help.Type ’ \c’ to clear the buffer.
mysql>_
Comenzile SQL se pot scr ie cu litere mari sau mici, având același efect. Comenzile SQL
setermină, uzual, cu caracterul “ ; “. Dând comanda help; (sau \h sau ?) pe ecran apar o serie
decomenzi MySQL importante.
Câteva comenzi din linia de comandă:
– create database -> crează o bază de date
– use -> se selectează o bază de date
– create table -> se crează tabele
– alter -> modificarea definiției unei tabele se realizează folosind comanda alter
– insert -> adăugare de înregistrări într -un tabel
– update -> permite modificarea valorilor unor câm puri dintr -un table
– drop -> permite suprimarea unui tabel din baza de date
– show -> se folosește pentru listarea tabelelor care alcătuiesc baza de date
– select -> este cea mai complexă comandă din limbajul SQL și este destinată regăsiriiunor
anumite date
– quit -> determină întreruperea conexiunii cu serverul MySQL
Capitolul 3. Specificațiile aplicației
3.1. Prezentare generală
Odată ce omul a devenit o ființă economică (homo oeconomicus) putem presupune că a
apărut și nevoia de măsurare și înregistrare a activității sale economice desfășurate la nivel
individual sau comunitar.
Conținutul informațional din întreaga lume în zilele noastre este convertit la o formă
digitală, făcând astfel informațiile disponibile oricui, oriunde și oricând. Pr in intermediul
sistemelor informatice, multe dintre activitățile pe care omul le întreprinde pot fi ușurate și chiar
îmbunătățite.
Apariția calculatoarelor și folosirea lor în toate domeniile a reprezentat o dezvoltare
majoră în viata omenirii. Din acea zi în care omul a început să folosească calculatorul fie pentru
nevoile personale, fie pentru nevoile comunității, a realizat că își ușurează viața și că poate să
realizeze lucruri pe care până atunci nu putea, sau le făcea cu muncă grea.
Să ne gândim puțin cum lucrau instituțiile de invățământ înaintea apariției
calculatoarelor. Notele erau introduse în catalog de hârtie. Gândiți -vă ce cantitate de hârtii s -a
adunat, și pentru stocarea acestora era necesar un spațiu de depozitare mare. Era doar un
dezavantaj al inexisteței calculatoarelor. Alt dezavantaj ar fi faptul că înregistrările, datele, nu
erau în siguranță, nu erau protejate. Calculatorul prin apariția lui a rezolvat toate dezavantajele și
defectele trecutului. Școlile din zilele noastre folosesc calc ulatoare și programe diferite pentru
îndeplinirea serviciilor, simplificând sarcinile omului.
Aplicația “Biblioteca online” își propune realizarea operațiilor uzuale de gestiune ale unei
biblioteci, fiind necesară bibliotecarilor și în plus permite gestiu nea și utilizarea unei biblioteci
virtuale. Acest lucru este realizat prin intermediul unei aplicații Web ce poate fi accesată public,
adresa fiind http://sfmaria.gl.edu.ro/site/biblioteca .
3.2. P agina de acces
Fig 3.1. Prima pagină
Fișierul predefinit pentru directorul web bibliotecă este index.php, deci înseamnă că
atunci când accesăm serverul prin comanda http://sfmaria.gl.edu. ro/site/biblioteca serverul va
trimite fișierul de bază, adică prima pagină a site -ului (index.php) ce va fi afișat in browser (Fig
3.1).
Header -ul aplicației este reprezentat printr -un banner cu logo -ul și cu numele aplicației
“Biblioteca Online”.
Body -ul este dispus pe doua coloane, în stanga avem un meniu vertical cu operațiunile ce
pot fi realizate de bibliotecar și de cititorii bibliotecii, iar în dreapta vor fi afișate informațiile
prelucrate din baza de date.
Footer -ul conține o bandă cu informați ile de copyright.
3.3. Descrierea bazei de date a aplicației
Baza de date BIBLIOTECĂ (Fig 3.2) a fost creata cu ajutorul sistemului de gestiune a
bazelor de date MySql, phpMyAdmin. Prin intermediul acestui sistem de gestiun e se pot
intreprinde diverse operatiuni precum crearea, modificarea sau ștergerea bazelor de date,
tabelelor, câmpurilor sau rândurilor; executarea de comenzi (interogări) SQL.
Fig 3.2 . Baza de date a aplicației
Baza de date conține urmatoarele obiecte:
– ADRESA ( cod, str, cartier, nr., bloc, scară, etaj, apartament, cod -poștal )
– CARTE ( cod, titlu, autor, editură, locul, an_ap, nr_inv, domeniu, preț, casată,
imprumutată )
– CITITOR ( cod, nume, prenume, cnp, adresă, ocupație )
– DOMENIU ( cod, denum ire, descriere )
– IMPRUMUT ( cod, carte, cititor, data_imp )
– VIRTUAL ( cod, tip, titlu, încorporare )
Fig 3.3 . Obiectele bazei de date
3.3.1. Crearea unui obiect al bazei de date
Crearea obiectului cititor
Obiectul cititor are 6 campuri.
În vederea executării comenzii create table, phpMyAdmin va cere introducerea numelui
și tipului fiecăruia dintre câmpurile tabelului.
Fig 3.4. Câmpurile obiectului cititor
Câmpurile tabelului cititor sunt: cod (INT – valoare intregă), nume (VARCHAR –
maximum 20 de caractere), prenume (VARCHAR – maximum 20 de caractere), cnp
(VARCHAR – 13 caractere), adresă (INT – valoare intregă), ocupație (VARCHAR – maximum
30 de caractere).
Într-un model de date de obiecte, relațiile sunt reprezentate utilizând atributele de
referință implementate în mod obisnuit prin identificatorii de obiecte (OID). Drept exemplu
putem lua atributul adresă, care este atribut de referință intre instanțele Cititor si Adresă. Relația
din cele doua instanțe este de tip 1:1. O relație de tip 1:1 di ntre obiectele A si B este reprezentată
prin adaugarea la obiectul A a unui atribut de referință și, pentru a menține integritatea
referențială, adaugarea la obiectul B a unui alt atribut de referință.
Dacă utilizatorul șterge această instanță Adresă, f ară reactualizarea corespunzatoare a
instanței Cititor, atunci integritatea referențială este pierdută. Pentru manipularea integritații
referențiale pot fi utilizate diverse tehnici, și anume:
Să nu se permită utilizatorului să șteargă explicit obiectele.
Să se permită utilizatorului să șteargă obiectele când acestea nu mai sunt cerute.
Să se permită utilizatorului să modifice și să șteargă obiectele și relațiile, atunci când ele
nu mai sunt necesare.
Crearea obiectului adresă
Obiectul adresă conține, la r andul său, 11 atribute:
Fig 4.3
Cod (INT – valoare intreagă), titlu (VARCHAR – lungime maximă 160 de caractere),
autor (VARCHAR – lungime maximă 50 de caractere), editură (VARCHAR – maximum 20 de
caractere), locul (VARCHAR – maximum 40 de carac tere), an_ap (INT – valoare intreagă),
nr_inv (INT – valoare intreagă), domeniu (INT – valoare intreagă), casată (VARCHAR –
maximum 2 caractere), imprumutata (VARCHAR – maximum 2 caractere).
Tipul VARCHAR se folosește pentru șiruri de caractere de lungime variabilă.
Pentru câmpul cod s-a mai precizat că este Primary Key. Cheia primară a unui tabel din
baza de date are valori distincte pentru toate articolele din tabel și are rolul de identificator unic
al acestora.
Capitolul 4. Implementarea și utili zarea aplicației
Aplicația este realizată utilizând limbajul de descriere al conținutului web –HTML
(HyperText Markup Language), limbajul de descriere al formatelor web –CSS (Cascading Style
Sheets), limbajul de programare pentru prelucrarea conținutului web și accesarea informațiilor
dintr -o bază de date publică –PHP (Hypertext Preprocessor) și utilizarea motorului de baze de
date –MySQL și implicit al limbajului universal de interogare a bazelor de date SQL (Structured
Query Language).
Pentru configura rea aplicației este nevoie de un server web, de un server de baze de date
MySQL și de integrarea in server -ul web a tehnologiei PHP. Faptul ca aplicatia este scrisa in
limbajul PHP permite un control mai bun al accesului la baza de date necesară aplicației .
Descrierea operațiilor aplicației:
Lista cărților disponibile
o După domeniu
o După autor
o După anul publicarii
o După editură
Operațiuni bibliotecar
o Conectare în sistem
Biblioteca virtuala
o Audio
o Galerie foto
o Text
o Video
Înscriere bibliotecă
4.1. Lista cărți lor disponibile
Accesarea listei cărților disponibile este descrisă în fișierul PHP index1.php si permite
afisarea unui submeniu cu operatii specifice de afisare a cartilor prezente in biblioteca, filtrate
dupa diverse criterii: domeniu, autor, anul plubl icarii etc., si ordonate dupa domeniu si dupa titlu.
4.1.1. Listarea cărților după domeniu
Aceasta operatie este descrisa in fisierul PHP index11.php si permite listarea intr -o forma
tabelara a informatiilor despre cartile disponibile la acest moment in bi blioteca, filtrate dupa
domeniile din care fac parte cartile.
Domeniile de filtrare sunt afisate sub forma unei liste, preluata din Clasificarea Zecimala
Universala (CZU), aceasta fiind o schemă întrebuințată în biblioteci pentru clasificarea
documentelor în funcție de subiectele pe care le tratează. Această schemă de clasificare împarte
totalitatea cunoștințelor umane în zece clase, care se subîmpart la rândul lor în alte zece
subdiviziuni.
– 0. GENERALITATI
– 1. FILOZOFIE. PSIHOLOGIE
– 2. RELIGIE. TEOLOGIE. M ITOLOGIE
– 3. SOCIOLOGIE. STIINTE SOCIALE
– 5. MATEMATICA. BIOLOGIE. CHIMIE. FIZICA
– 6. STIINTE APLICATE. MEDICINA
– 7. ARTA. CULTURA. SPORT SI TURISM
– 8. LIMBI SI LINGVISTICA
– 91. GEOGRAFIE
– 93. ISTORIE
– 92. DIVERSE. BIOGRAFII
Fig 4.1. Selectarea dom eniu în vederea listării cărților
Domeniile pot fi actualizate în baza de date de către bibliotecar printr -o operație ce va fi
prezentată ulterior.
Afișarea listei rezultate este realizată în fișierul index111.php.
Antetul tabelului afișat are urmatoarea structură: Titlul, Autorul, Editura, Locul apariției,
Anul apariției, Num ărul de inventar și Disponibilitatea cărții ( Imprumutată).
Fig 4.2. Antetul rezulta tului interogării bazei de date
De exemplu, aceasta filtrare a fost realizata printr -o inte rogare asupra bazei de date:
SELECT titlu, autor, editura, locul, an_ap, nr_inv, imprumutata FROM carte, domeniu WHERE
carte.domeniu=domeniu.cod AND carte.domeniu=$cod AND casata='NU' ORDER BY titlu, autor;
SELECT denumire FROM domeniu WHERE cod=$cod;
4.3. Operațiuni bibliotecar
Descrierea acestei operații se regăseste in fișierul index2.php.
Accesand aceasta ramura a meniului din postura de vizitator(engl. guest ), vom putea
vizualiza o singură opțiune, conectarea in sistem.
Fig 4.3. Conectarea b ibliotecarului în meniu
4.2.1. Conectare în sistem
Administratorul (în cazul nostru bibliotecarul) își introduce numele de utilizator (cont) și
parola, după care apasă butonul sau tasta ENTER de pe tastatură. În timp ce
utilizatorul face un singur click pe butonul Conectare , în interiorul codului sursă se întâmplă mai
multe lucruri despre care utilizatorul nu știe.
Primul lucru, care se întâmplă când utilizatorul introduce informațiile necesare pentru
autentificare (nume utilizator, parol ă) și apasă butonul CONECTARE, este verificarea
corectitudinii datelor introduse. Se face o interogare la baza de date, în care se verifică dacă
există utilizator cu nume de cont și parolă identică cu cele introduse. Codul interogării este:
session_start() ;
$utilizator=$_POST["utilizator"];
$parola=$_POST["parola"];
$serverulBD = "localhost";
$bazadedate = "biblioteca";
$_SESSION['utilizator'] = $utilizator;
$_SESSION['parola'] = $parola;
$link = mysql_connect($serverulBD,$uti lizator,$parola);
if(!$link || $parola=="" || $utilizator==""){
mysql_close();
echo "<meta HTTP -EQUIV= \"REFRESH \" content= \"0; url=index21.php \">";
}
Dacă cel puțin unul dintre câmpuri nu este completat, sau în cazul în care nu a fo st gasită
nicio corespondență, aplicația va rămâne în fișierul index21.php, utilizatorul având posibilitatea
de a reintroduce corect datele cerute.
În caz afirmativ, se acceptă numele de cont și parola, dispare fereastra de autentificare și
apare fereastra cu meniul.
Acesta este un meniu dedicat exclusiv bibliotecarului, care, dupa introducerea user -ului și
parolei va avea acces la una din urmatoarele operațiuni, și nu numai: – Adăugare cititor, –
Modificare cititor, -Adăugare carte, – Ștergere carte, – Adăugare domeniu, – Adăugare împrumut,
– Informații cititor .
Fig 4.4 . Meniu operațiuni bibliotecar
4.2.2. Adaug are cititor
Aceasta optiune ofera posibilitatea administratorului de a introduce noi cititori in baza de
date.
Dintre campurile care vor fi completate de catre acesta, cel mai important este campul
CNP, deoarece prin intermediul codului numeric personal vo r fi posibile eventualele operatiuni
de – Modificare cititor si – Stergere cititor.
Fig 4.5. Opțiunea adăugare cititor
4.2.3. Adăugare carte
Pentru ca o carte să poată fi introdusă în baza de date, aceasta trebuie să aibă un numar de
inven tar diferit de toate cele existente.
Registrul de inventar este instrumentul de înregistrare a fiecărei unități de bibliotecă
(fiecărui volum) în parte. Reprezintă instrumentul pentru evidența individuală a documentelor.
Este cel mai important instrument de control, un act contabil. Numerele de inventar încep de la 1
și se continuă până la infinit. Numerele de inventar casate nu se realocă altor publicații.
Fig 4.6. Opțiunea adăugare carte
În cazul în care se încearcă introducerea unei cărti cu un numar de inventar existent în
baza de date, aplicația va intoarce mesajul: “Există o carte cu acest numar de inventar!”.
Mesajul de eroare va fi prezent timp de patru secunde, apoi se va reveni la submeniul
Adaugare carte.
Fig 4.7. Eroare numar de i nventar carte existent în baza de date
După introducerea corectă a tuturor câmpurilor necesare, cartea va intra în colecția
bibliotecii, iar mesajul care ne va confirma acest lucru este: “Cartea a fost adăugata în baza de
date!”.
Fig 4.8. Mes aj carte adăugată cu succes
4.2.4. Adaugare imprumut
Pentru efectuarea unui imprumut, administratorul se va folosi de codul numeric personal
al celui care urmeaza sa imprumute cartea si Numarul de inventar al cartii.
Fig 4.9. Opțiune adăugare împrumut
În cazul în care cartea care se dorește a fi împrumutată nu este disponibilă, aplicația ne va
atenționa prin intermediul mesajului: “ Această carte nu este disponibilă pentru a fi împrumutată
momentan!”.
Fig 4.10. Eroare carte indisponibilă
Stergerea unui imprumut va fi posibila cu ajutorul functiei “Stergere imprumut”, prezent
in meniul bibliotecarului.
Stergerea se va face pe baza numarului de inventar al cartii.
4.2.5. Biblioteca virtuală (operațiuni bibliotecar)
Acest submeniu va permite adăugarea, modificarea sau ștergerea materialelor virtuale,
audio, foto, text sau video.
Pentru adăugarea unui material nou va fi nevoie de selectarea tipului materialului dorit,
de alegere a unui titlu și de specificare a codului embed (codului de încor porare).
Fig 4.11. Introducere conținut multimedia
Capitolul 5. Concluzii și propuneri
5.1. Concluzii
Aplicația „Biblioteca online” își propune să reunească operațiile de gestiune a unei
biblioteci, venind în sprijinul bibliotecarilor, operaț ii ce privesc gestionarea cărților, cititorilor și
a împrumuturilor dintr -o bibliotecă.
În plus, există un modul separat ce permite prelucrarea informațiilor despre materialele
digitale existente în acest moment în mediul online, pe care le pune într -o formă accesibilă celor
ce doresc să acceseze literatura prin mijloace moderne. Operațiile necesare bibliotecarului sunt
realizate astfel încât sunt interdependente, existând restricții ce se impun pentru integritatea
conținutului bazei de date, ca de exemplu : O carte nu poate fi ștearsă din baza de date dacă acea
carte apare ca împrumutată. La fel un cititor nu poate fi șters din baza de date dacă acesta apare
că a împrumutat cel puțin o carte.
În realizarea operațiilor bibliotecarului s -a pus accent și pe s ecurizarea operațiilor
acestuia, în sensul în care, toate paginile web ce descriu diversele operații realizate de bibliotecar
sunt accesibile doar prin intermediul unui cont de utilizator cu parolă ce permit actualizarea
informațiilor din baza de date: adă ugare, modificare și ștergere de înregistrări. Restul operațiilor,
cele publice oricărui vizitator al site -ului sunt accesibilie printr -un cont care permite doar
accesarea informațiilor bazei de date, acestea ne putând fi modificate.
Aplicația a fost real izată, având un scop direct și imediat, fiind utilizată în continuare într –
un liceu din Galați, venind în sprijinul serviciului de bibliotecă și al elevilor din această instituție
de învățământ. Această aplicație este modernă fiind o bază de date cu interf ață web, accesibilă în
mod public din Internet.
5.2. Propuneri de dezvoltare
Această versiune a aplicației “Biblioteca online” nu este versiunea finală, ci dimpotrivă
prima versiune. Aplicația poate fi îmbunătățită, adăugând noi facilități.
Un punct de dezvoltare ar putea fi crearea unui forum de discuții între cititori, sau între
cititori și bibliotecar. Acestia s -ar putea consulta, ar putea cere păreri în legatură cu anumite
volume sau ar putea face recomandări. O altă utilitate ar putea fi informarea elevilor despre
diferite activități școlare, culturale etc.
Bibliografie
1. Cârstoiu, Dorin, Baze de date relaționale, Editura Printech, 1999
2. Rădulescu, Florin, Baze de date în Internet, Editura Printech, 2000
3. Ionescu, Felicia, Baze de date relaționale și aplicații , Editura Tehnică, 2004
4. Baltac, Vasile, ECDL -Excel, Access, PowerPoint în 20 lecții și 75 de simulări ,
Editura Andreco, 2003
5. Browne, Allen, Balter Alison, Bazele Access 95 , Editura Teora, 1999
6. Pribeanu, Costin, Baze de date și aplicații, Editura MatrixRom, 2000
7. Pascu, C., Pascu A., Totul despre SQL , Editura Tehnică, 1994
8. http://www.w3schools.com/asp/default.asp
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: SPECIALIZAREA CIBERNETICĂ, STATISTICĂ ȘI INFORMATICĂ [613623] (ID: 613623)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
