PROGRAMDESTUDII:TehnologiiInformaticePentruAfaceri FORMĂDEÎNVĂȚĂMÂnt:IF Bazadedateonlinepentrugestionarea uneibiblioteci… [619741]
UNIVERSITATEAPETROL-GAZEPLOIEȘTI
FACULTATEA:ȘTIINȚEECONOMICE
DEPARTAMENTUL:CIBERNETICĂ,INFORMATICĂECONOMICĂ,FINANȚE
ȘICONTABILITATE
PROGRAMDESTUDII:TehnologiiInformaticePentruAfaceri
FORMĂDEÎNVĂȚĂMÂnt:IF
Bazadedateonlinepentrugestionarea
uneibiblioteci
Prof.coordonator.:Conf.Univ.Dr.AureliaPătrașcu
Absolvent: [anonimizat]
1.Notiunigeneralebazededate
1.1Bazededaterelationale(BDR)
1.2Bazededateorientateobiect(BDOO)
1.3Bazededatedistribuite(BDD)
2.UtilizareMySQLșiPHP
2.1NoțiunigeneraleMySQL
2.2Paginiwebstatice
2.3Paginiwebdinamice
2.4ConceptePHP
3.Proiectareaaplicatiei
1.Notiunigeneralebazededate
Sistemeledebazededateauunrolfoarteimportantînviațadezicuzi,fiind
folositeînmajoritateainstituțiiloractuale.Zilnic,majoritateapersoanelor
interacționeazăcuobazădedate:tranzacțiibancare,rezervareaunorbilete,căutarea
uneicărțiîntr-obibliotecăcomputerizată,etc.
Bazelededatepotaveamărimidiferite,delacâtevazecideînregistrări,de
exempluoagendătelefonică,pânălacâtevamilioane,cumarfiobazădedatecu
cărțiledintr-obibliotecă.
Utilizatoriiuneibazededatepotefectuamaimulteoperațiiasupradatelorstocate
aici:
•Introducereadenoidate
•Ștergereaunordateexistenteînbazadedate
•Actualizareadatelorstocate
•Interogareabazeidedate
CeesteoBazădeDate?
Însensullarg,obazădedateesteocolecțiededatecorelatedinpunctde
vederelogic,șicareestedestinatăunuianumitgrupdeutilizatori.Înacestsens,
bazelededatepotficreateșimenținutemanualsaucomputerizatașacumsuntîn
momentuldefață.Odefinițieîntr-unsensmairestrânsauneibazededateeste
următoarea:
Obazădedateesteocolecțiededate,creatășimenținutăȋntr-unsistem
informatic,cuscopuldeaprelucradateleîntr-oaplicație.Prelucrareadatelorsereferă
laoperațiicumarfiiintroducerea,ștergerea,actualizareasauinterogareadatelor.[1]
1.1Bazededaterelationale(BDR)
Bazelededaterelaționale(BDR)utilizeazămodeluldedaterelaționalși
noțiunileaferente.BDRauosolidăfundamentareteoretică,înspecialprincercetările
delaI.B.M.condusedeE.F.Codd.BDRreprezintăunansambluorganizatdetabele
împreunăculegăturiledintreele.
Atuncicânddorimsărealizămobazădedaterelaționalătrebuiesăștimclar
ceavemdefăcut,adicăsăstabilimobiectiveleactivitățiinoastre.Înacestsens,câteva
dintrecelemaiimportanteobiective,leprezentămîncontinuare:
•Partiționareasemnificăfaptulcăaceleașidatetrebuiesăpoatăfifolositeîn
moduridiferitedecătrediferițiutilizatori;
•Deschidereasereferălafaptulcădateletrebuiesăfieușoradaptabilela
schimbărilecarepotapărea(actualizareastructurii,tipurinoidedateetc.);
•Eficiențaareînvederestocareașiprelucrareadatelor,caretrebuie.[2]
1.2Bazededateorientateobiect(BDOO)
1.3Bazededatedistribuite(BDD)
Obazadedatedistribuita(BDD)esteocolectiedebazededatelogicinterconectate
distribuiteintr-oreteadecalculatoare.
Obazădedatedistribuităesteobazădedatecontrolatădeunsistemdegestiunea
bazelordedate(DataBaseManagementSystem,DBMS),încaredispozitivelede
stocareadatelorsuntatașateînmoddistribuitlamaimultecalculatoare.Aceste
calculatoarepotorisăseaflefizicînaceeașilocație(sală,clădireetc.),orisăfie
dipersateîntr-orețeadecalculatoareinterconectate.
Porțiuneauneibazededatedistribuiteatașatălaunulsingurdintrecalculatoarele
involvateestenumităpartițiesaufragment.Fiecarepartițieauneibazededate
distribuitesepoatereplica(duplica)identicîntr-oaltălocație,deciînaltcalculatordin
rețea,cuscopulmăririisiguranțeiînfuncționare(fiabilității).Pebazaacesteistructuri
redundante,eventualelegreșeli/defecteînfuncționaresepotdemulteorirepara"în
zbor",decifărăîntrerupereafuncționării,similarîntr-ooarecaremăsurăcuprincipiul
matricilorcudiscurihardmultipledetipRAID.[3]
2.UtilizareMySQLsiPHP
2.1NotiunigeneraleMySQL
TermenuldeSQLprovinedelatraducereaînlimbaenglezășianumeStructured
QueryLanguage.Acestaesteunlimbajdeprogramarespecialfolositpentru
manipulareabazelordedaterelaționale(RDBMS).Acestaarecascopintroducerea
datelor,folosireainterogăriidatelor,actualizarea,ștererea,editareadateloraflateîn
bazadedatecâtșicontrolulaccesuluilabazadedaterespectivă.Estecelmaipopular
limbajutilizatînceeaceprivescsistemeledegestiuneabazelordedate(SGBD)
relaționale.Caoprezentareaunuiscurtistoric,limbajulSQLafostdezvoltatdecătre
companiaIBMînanul1974,iarulteriorlafinalulanilor’70companiaRelational
Software,Inc.,înprezentOracleCorporationavăzutpotențialulacestuilimbajșiși-a
dezvoltatpropriulSQL.Duupăimplementareaînanul1979aprimeivariante
comercialedeSQLdecătreOracle,ceidelaIBMauapărutșieicupropriilevariante
pepiață.Amdefinitmaijoscelemaiimportantefuncționalitățialelimbajului:Se
potexecutainterogăriîmpotrivabazeidedateSepotrecuperadatedincadrulbazei
dedateSepotinsera,actualizașiștergedatedinbazadedateSepotcreamai
multebazededateșitabeleSepotcreaproceduristocateînbazadedateSepot
setapermisiunipentruavizualizaanumitetabelesauproceduriLimbajulSQLeste
divizatînmaimulteelementeundeseregăsesc:1.Clauzele,caresuntcomponenteale
instrucțiunilorșialeinterogărilor.Lafelcaopropoziție,oinstrucțiuneSQLare
clauze.FiecareclauzăefectueazăofuncțiepentruinstrucțiuneaSQL.Maijosle-am
definitpecelemaiimportante.SELECT–listeazăcâmpurilecareconțindatede
interesFROM–listeazătabelelecareconțincâmpurilelistateînSELECT
WHERE–criteriiledecâmpcetrebuieîndeplinitedefiecareînregistrarepentruca
aceastasăfieinclusăînrezultate.ORDERBY–Specificămodalitateadesortarea
rezultatelorGROUPBY–într-oinstrucțiuneSQLcareconținefuncțiiagregate,
listeazăcâmpurilecarenusuntrezumateînclauzaSELECT.HAVING–definește
condițiiledelaSELECT202.Instrucțiunile,caresuntformatedincuvinterezervate
șicuvintedefinitedeutilizator.Acesteasuntclasificatelarândullordinmaimulte
punctedevedere:A.Instrucțiunidedefinireadatelor–permitdescriereastructurii
bazeidedate.Spreexemplu:CREATEDATABASEnume_bdB.Instrucțiuni
pentruselecțiadatelor–cuvântulcheieesteSELECTSELECT[domeniu]
listă_selecțieC.Instrucțiunipentrumanipulareadatelor–implementareaacestorase
faceprininterogăriledeacțiune.Celemaiimportantesunt:CREATE,INSERT,
UPDATEșiDELETEINSERTINTOnume_tabel(câmp1,câmp2…)VALUES
(valoare1,valoare2…);3.TermeniiSQL-fiecareclauzăesteformatădintermeni
comparabilecupărțiledevorbire.Spreexemplu:Identificator-Unnumepecareîl
utilizațipentruaidentificaunobiectdinbazadedate,cumarfiunnumedecâmp.
Operator-Uncuvântcheiecarereprezintăoacțiunesaucaremodificăoacțiune.
Constantă–ovaloarecarenusemodifică,precumunnumărsauovaloareNULL
Expresie-Ocombinațiedeidentificatori,operatori,constanteșifuncțiicarese
evalueazălaosingurăvaloare
SELECT SelecteazăînregistrăridinBD
UPDATE ActualizeazădateledinBD
DELETE ȘtergedatedinBD
INSERTINTO Insereazăonouăînregistrareîn
BD
CREATEDATABASE Creeazăonouăbazădedate
ALTERDATABASE Modificăobazădedate
CREATETABLE Creeazăunnoutabel
ALTERTABLE Modificăuntabel
DROPTABLE Ștergeuntabel
CREATEINDEX Creeazăunindex
DROPINDEX Ștergeunindex
MySqlesteunsistemdegestiuneabazelordedaterelațional,produsdecompania
suedezăMySQLABșidistribuitsubLicențaPublicăGeneralăGNU.Estecelmai
popularSGBDopen-sourcelaoraactuală.Deșiestefolositfoartedesîmpreunacu
limbajuldeprogramarePHP,cuMySQLsepotconstruiaplicațiiînoricelimbaj
major.ExistămulteschemeAPIdisponibilepentruMySQLcepermitscrierea
aplicațiilorînnumeroaselimbajedeporgramarepentruaccesareabazelordedate
MySQL,cumarfi:C,C++,C#,Java,Perl,PHP,Python,FreeBasic,fiecaredintre
acesteafolosinduntipspecificAPI.MySQLvinecuointerfațăgraficădestulde
interactivăatâtpentruîncepătoricâtșipentruavansaținumitphpMyAdmin.Pentrua
administrabazelededateMySQLsepoatefolosimodulliniedecomandăsau,prin
descărcaredepeinternet,ointerfațăgraficăMySQLAdministratorșiMySQLQuery
Browser.Unaltinstrumentdemanagementalacestorbazededateesteaplicația
gratuită,scrisăînPHP,phpMyAdmin..LimbajulMySQLaremultefuncții,darprintre
celemaiimportanteseregăsesc:Esteunsistemdebazededatefolositînpaginile
webEsteunsistemdebazededatecareruleazăpeunserverEsteidealși
pentruaplicațiiledezvoltatedarșipentrucelemaipuțindezvoltateEstefoarte
rapid,deîncredereșiușordefolositMySQLfoloseștelimbajulSQLstandard
LimbajdeprogramareavansatcareruleazăpeunnumărdeplatformeEstegratuit
pentrudescărcareșiutilizareEstedezvoltatșidistribuitdeOracleCorporation
DatelefolositeînbazadedateMySQLsuntstocateîntabele.Untabelestedefinit
printr-ocolecțiededateșiconțineunanumitnumărdecoloaneșiderânduri.Bazele
dedatesuntfolositoarepentruastocainformațiapecategorii.
2.2Paginiwebstatice
Site-urileWebsepotcaracterizadupăfoartemulțiindicatori,darcelmaiimportant
indicatorestesubiectuldeactivitate(conținutul)site-ului.Tehnologic,site-uleste
alcătuitdintipuridedateșiinformațiistatice,produseșiservicii,anunțuri,formulare
online,clipurivideo,imaginistatice,efectedinamiceșimultealtele.Subiectul
site-uluiWebdiferăînfuncțiedeideeautilizatorul,spreexemplu:blog-uri,portaluri
Web,ziareWebșiaproapeoricealtceva.Paginilestaticenuschimbăconținutulși
aranjareageneralălafiecarevizităatâtatimpcâtnuintervinewebmasterulsau
programatorulpentrualeactualiza.Deasemeneapaginilestaticepotreprezenta
documenteHTMLstocatecașifișiereînsistemșisuntdisponibileîncadrul
serveruluiHTTP(URL-urilecareauterminația“html”nusuntîntotdeaunastatice).
Totodată,intepretareaacestortermenipotincludeșipaginilewebstocateînbazade
dateșipotincludepaginiformatateincluzândtemplate-urișifolositeprinaplicația
serveratâtatimpcâtpaginafolositănupoatefischimbatășiprezentatăînmod
esențial.10Paginilestaticesuntaccesibilepentruconținuturilecareniciodatăsau
rareoriaunevoiesăfieactualizate.Menținândunnumărmarealpaginilorstaticeca
fișierepoatefidenepracticatfărăuneltelenecesare,cumarfiStaticsitegenerators
careestedescrisînsistemultemplate-uluiWeb.Oricepersonalizaresauinteractivitate
trebuiesărulezetipclient,fiindrestrictivă.PaginileWebstaticesuntalcătuitedin
documentespeciale,alcăuitelarândullordintextșilimbajedemarcare.Pagina
stocatăînbrowserestedecelemaimulteoriundocumenthypertextmarking
language,afișatăexactînformaconcepută.Serverulareroluldeafurnizapagina
respectivă,fărăcaaceastasăsufereschimbări.Acestgendepaginisuntcreatede
obiceiînFlashsauînHTML,neputândfimodificatăfărăintervențiaunui
programatorsauwebmaster.Site-ulstaticestedefinitprintr-unnumărlimitatde
paginișiunformatfixalacestora.Fiecarepaginăreprezintăundocumentseparat,
singuramodalitatedeamodificasite-ulstaticestedeaaccesaseparatpaginileșisă
fieeditatcodulHTML.PrincipalelecaracteristicialepaginilorWebsunt:Conțin
numaielementeHTMLCodulsursădinbrowseresteasemănătorcucelal
fișieruluistocatNuoferăinteractivitateAvantajelefolosiriiunuisitestaticsunt
următoarele:EstepotrivitcompaniilormiciConfigurareasefacefoarterapid
CostulacestuisiteestemaimiccomparativcuceldinamicPedealtăparte,
dezavantajelefolosiriiacestuitipdesiteconstăîn:Nupoatefiactualizatdecătre
utilizatorCosturileîntrețineriiunuiastfeldesitesuntfoartemariNupotfi
integrateforumuri,magazineonlinesaurețeledesocializarePersoanelecare
actualizeazăsite-ulaunevoiedepregătirespecialăÎnconcluzie,paginileWeb
realizateînHTMLaudezavantajulcăsuntstatice,conținutullorneputândfi
modificatodatăceaufostîncărcatepeunserverdecâtaducându-leînapoipentruafi
editate.Pedealtăpartewebsite-urilestaticesuntprocesatemairepedepentrucănu
solicităserveruluialteoperațiuniînafarădelivrareacătrevizitatoriaconținutului
dejaîncărcatînfișiere.
2.3Paginiwebdinamice
PaginileWebdinamicesuntfolositecândsedoreștemodificareadinamicăa
conținutuluiWeb.Acestetipuridesite-urisuntmultmaiflexibileșimaiușorde
gestionat.
Configurareaacestoraestemaicomplexădeoareceseutilizeazălimbajulde
programarePHP,însăodatăconfiguratestemultmaiușordemodificat.Folosind
CMS-ul(ContentManagementSystem),conținutulsite-uluipoatefimodificat,
actualizat,sepotcreanoipagini,iarconținutulalesdecătreutilizatorpoatefișters.
Modificărileserealizeazărapid,nunecesităcunoștințedeprogramareșisepot
desfășurachiarșicândunvizitatoracceseazăpaginarespectivă.
AcestgendepaginiWebsecaracterizeazăprinconținutullordinamicșipoatediferi
lamaimulteaccesări.DeexemplulaacelașiURLconținutulpaginiipoatevariaîn
funcțiedediferițiparametrii,spreexemplulocațiageograficăautilizatorului,orasau
paginilevizitateanterior.Unsitedinamicpoateficondusdecătreunutilizator
printr-ointerfațădeadministrare,însăacelutilizatorvatrebuisăaibăcunoștințeale
browseruluiWebrespectiv.Prinintermediulacestuiprocessepotefectuamaimulte
operațiunideadăugaresaumodificareconținut(texte,imagini,multimedia),de
schimbarealayout-ului,demodelareadiferiteloracțiunidinrespectivulsite
(validareacomentariilor,asite-urilorintroduseîntr-undirectorWeb),deadministrare
anewsletter-ului(creare,editarenewsletter,trimitereapecategoriideuseri),câtși
alteacțiuniînfuncțiedenaturasite-uluișidecomplexitatealui.Acestgendesite
oferăutilizatoruluioseriedeavantajeprecum:Controldeplinasuprasite-ului
Posibilitateadeimplementareaunuimagazinonlineîninteriorulsite-ului
Diminueazăcantitateadecod,generându-setipuridiferiteînfuncțiedesituațiiPede
altăparte,dezavantajeleutilizăriiunuisitedinamicsunt:Configurareaunuisite
dinamicnecesităoperioadămailungădetimpCostulinițialestemairidicat12
Actualizareaacestorgenuridesite-uriestefoarteimportantădeoarecelaproiectareași
implementareaacestorelementetrebuieluateînconsideraremaimulteaspecte,
printrecaremodulîncarevorfiactualizatedateleșicosturileoperațiunilorde
actualizareperiodică.Pedealtăparte,comunicareacucliențiiestevitalăpentrucă
aceastăcomunicareserealizeazăprinsite-ulrespectiv,presupunândinserareade
formularedee-mailpepaginilesite-ului.Deasemenea,sepoatefolosiun
autoreponderprincaresevatrimiteautomatcătrevizitatormesajulderăspunsșide
asemeneamulțumindu-ipentruvizită.Înconcluzie,trebuiecunoscutfaptulcă
website-uriledinamicesuntconsumatoaremarideresursedinparteaserverului,dar
suntmaiaccesibileînvedereaconținutului.Pentruafidinamicunsitetrebuiesă
rulezeunlimbajdeprogramarebazatpescript-uri,categorianumindu-se“Server-Side
ScriptingLanguage”carepermitegenerareadinamicăaconținutuluiafișatînfuncție
desolicitareafiecăruivizitatorînparte.Îngeneral,oriceCMSinstalatpeserver,spre
exempluWordPress,Joomla,Drupalșimultealtelevageneraunwebsitedinamic.
Acesttipdesoftwarefoloseștescript-uripentruafacelegăturacubazadedatedin
caresevorextrageinformațiilenecesarealcătuiriisite-ului.Înplus,paginadinamică
oferăposibilitățideinteracțiuneînfuncțiedecaracteruldinamic:paginidinamicepe
parteadeclientșipaginidinamicepeparteadeserve
2.3ConceptePHP
PHPesteunlimbajdeprogramareorientatspreprogramareawebdinamică.Sepoate
folosiîncombinațiecuHTML,Javascript,CSS,AJAX,PERLsiMysqlpentrua
realizasite-urideocomplexitateridicată.Laoraactualătoatesite-uriledinamicesunt
realizateînacestlimbajdeprogramaresauîncombinațiecualtelimbaje.Conform
statisticilor(Wikipedia)esteinstalatpe20demilioanedesite-uriwebsipe1milion
deservereweb.Esteunlimbajdeprogramaregratis.Acestlimbajdeprogramare
poatefiinclusîncodulHTMLsaupoatefifolositcatemplatepentrusistemeleweb,
pentruconținutulpaginilordewebmanagementsauframeworkuriweb.CodulPHP
estedeobiceidescifratdeuninterpretorcașiunmodulînserverulwebsaucaun
executabil.ServerulwebcombinărezultateleacoduluiPHPinterpretatșiexecutat,
carepoatefioricetipdedată,incluzândimaginicupaginawebgenerată.Acestcod
maipoatefiexecutatcuajutorulinterfețeiauneiliniidecomandășipoatefiexecutat
pentruaimplementaaplicațiilegrafice.Pentruadefinidianmismpaginilorwebcreate,
limbajulPHPnevaajutasăefectuămacestlucru.Acesttipdelimbajestebenefic
pentrucreareaaplicațiilorwebdinamice,undesepoatedezvoltașiointerfațăgrafică
pentruaveniînajutorulutilizatorului.SintaxaPHPprovinedinlimbaengleză–
HypertextPreprocesor.Tehnologiarespectivăadevenitînultimultimpceamai
interesantăunealtănunumaipentrudezvoltatoriiweb,cișipentruprogramatorii
începători,dezvoltândofoartemaresimplitateînutilizare.Spredeosebirede
Javascript,careesteunlimbajdescripting,PHPesteuninterpretorpeparteadeserver.
Pentruaputeafolosiaceastătehnologieavemnevoiedeunserverweb(Apache)șide
instalareapachetuluiPHP.Acesttipdefuncționalitateoputemobservafoartebine
atuncicândseîncearcăconectareabazeidedateefectuataînlimbajulMySqlprin
interfațaphpMyAdminculimbajulHTML.Spreexemplu,înproiectulmeuam
realizatbazadedateînphpMyAdmin,iardupăaceeacuajutorullimbajuluiPHPam
efectuatlegăturadintreaceastașipaginawebundevreausămiseafișezedatele
stocateînbazameadedate.Spreexemplu,oformăgeneralăacoduluiPHParatăîn
felulurmător:
<?php
Echo”PrimulmeuscriptPHP”;
?>
Bibliografie
1.LunguIon,BothaIuliana,cursBazedeDate,ASEBucurești
2..LunguIon,BazedeDateOraclelimbajulSQL,Ed.ASE,București,2007
3.https://ro.wikipedia.org/wiki/Baz%C4%83_de_date_distribuit%C4%83
4.
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: PROGRAMDESTUDII:TehnologiiInformaticePentruAfaceri FORMĂDEÎNVĂȚĂMÂnt:IF Bazadedateonlinepentrugestionarea uneibiblioteci… [619741] (ID: 619741)
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.
