Diploma

Published on May 2016 | Categories: Documents | Downloads: 39 | Comments: 0 | Views: 608
of 97
Download PDF   Embed   Report

Comments

Content

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Utilizarea XML in baze de date

INTRODUCERE Formatul de date XML devine formatul comun acceptat în industrie pentru sc im!ul de informa"ii dintre diverse sisteme etero#ene$ Din acest motiv% este important ca o !a&' de date s' fie capa!il' s' stoc e&e informa"iile nu doar în formatele tradi"ionale% rela"ionale% ci (i în format XML$ )toc*nd datele XML în format nativ se c*(ti#' foarte mult în performan"'% aceasta materiali&*ndu+se în costuri reduse$ Un plus de performan"' la o te nolo#ie de !a&e de date înseamn' o infrastructur' redus'% servere cu mai pu"ine procesoare% deci un sistem informatic ceva mai ieftin% costuri mai mici pentru licen"iere% deci per total o economie de !ani$ )tandardul industrial al datelor în format XML pre&int' o serie de avanta,e (i de&avanta,e$ -vanta,ul ma,or este acela c' este adoptat de to"i produc'torii de te nolo#ie din industrie% dar în sc im! are de&avanta,ul c' este un format nu foarte eficient din punct de vedere al stoc'rii datelor$ De aceea devine foarte util ca !a&a care stoc ea&' aceste date sa ai!' capa!ilit'"i de compresie% care s' duc' la sc'derea spa"iului (i resurselor de stocare necesare pentru a p'stra date în format XML$ Lucrarea de fa"' î(i propune s' pre&inte în capitolele sale c*teva noi direc"ii de de&voltare în domeniul !a&elor de date% modelul de date semistructurat (i te nolo#ia XML ca o nou' !a&' de date$ Capitolul I pre&int' necesitatea apari"iei modelului semistructurat al datelor% datorit' nevoii de intero#are a unor surse de date care nu au o sc em' predefinit' sau a unor date care provin din surse diferite (i au sc eme diferite$ Modelul semistructurat al datelor repre&int' sc ema .tipul% structura/ (i instan"a .valoarea/ datelor în mod uniform% permi"*nd intero#area lor simultan' spre deose!ire de modelele de date conven"ionale% care diferen"ia&' între cele dou' tipuri de informa"ie$ Capitolul II detalia&' modelul semistructurat al datelor definind conceptul de date neconven"ionale din mai multe perspective (i pe cel de date semistructurate pre&ent*nd avanta,ele acestui tip de date% modelarea acestor date (i lim!a,ele de intero#are a acestora% (i

Pagina 1 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

pre&int' în detaliu tipul de date M0E1+23 ca suport pentru inte#rarea datelor în aplica"ii multimedia distri!uite$ Capitolul III pre&int' le#'tura dintre te nolo#ia XML (i !a&ele de date încerc*nd s' clarifice în ce m'sur' este XML+ul o !a&' de date% repre&entarea datelor (i documentelor% stocarea (i recuperarea datelor% stocarea datelor în !a&e de date native XML% #enerarea sc emelor XML din sc eme rela"ionale (i invers% stocarea documentelor în sistemul de fi(iere (i în 4LO4+uri% detalia&' !a&ele de date native XML% (i pre&int' no"iunile de DOM .Document O!,ect Model/ persistent (i sisteme de mana#ement ale con"inuturilor$ Capitolul I5 se ocup' de construirea documentelor XML pre&ent*nd sinta6a XML% descrierea de voca!ulare noi cu XML% avanta,ele defini"iei tipurilor documentului% com!aterea de&avanta,elor defini"iei tipurilor documentului% definirea unui document XML ca între#% declara"ia XML% documentele autonome% construirea unui document XML% declara"ia tipului documentului (i pre&int' c*teva aplica"ii din lumea real' a declara"iei tipului documentului$ Capitolul 5 const' în pre&entarea aplica"iei 7 ma#a&inul virtual 8ElectronX9 + (i pre&int' scopul acestei aplica"ii% cerin"ele minime ard:are (i soft:are ale aplica"iei% func"ionalit'"ile de !a&' ale acestui :e!site% proiectarea !a&ei de date con"in*nd sc ema conceptual' a structurii !a&ei (i sc ema fi&ic' a fiec'rei ta!ele% implementarea codului în care sunt e6plicate fi(ierele cele mai importante ale aplica"iei cu e6emplific'ri din codul surs'% un manual de utili&are al aplica"iei în care e descris modul de func"ionare al acesteia (i conclu&ii asupra aplica"iei$

C-0ITOLUL I NOI MODELE DE D-TE ;I -0LIC-<IILE LOR 3$3 Intero#area =orld+=ide+=e!+ului E6ist' surse de date% ca de pild' =orld+=ide+=e!+ul% pe care am dori s' le intero#'m ca !a&e de date% dar care nu pot fi constr*nse de o sc em'$ Ma,oritatea intero#'rilor :e!+ului folosesc te nici de re#'sire a informa"iei pentru a #'si pa#ini dup' con"inut$ E6ist' îns' pu"ine posi!ilit'"i de formulare a intero#'rilor în vederea e6ploat'rii structurii :e!+ului (i% deoarece aceasta nu este conform' cu nici un model de date standard% este necesar' o metod' de descriere a acestei structuri$ Modelul de date semistructurat a fost propus în vederea satisfacerii acestei necesit'"i$ Ideea central' în modelul semistructurat este de a repre&enta datele su! forma unui #raf
Pagina 2 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

etic etat$ )tructura documentelor iperte6t este capturat' interpret*nd arcele #rafului drept le#'turi$ O repre&entare posi!il' este cea introdus' în proiectul Un>L?3@$ Etic etele arcurilor pot fi at*t valori .de tip între#% (ir de caractere (i alte tipuri de !a&'% precum (i de tip de date a!stract% ca video% audio% etc$/ c*t (i nume de atri!ute .Film% Titlu% Re#i&or% -ctor/% etc$ model*nd de e6emplu cunoscuta !a&' de date cinemato#rafic' IMD4 ?2@$ E6ist' numeroase lim!a,e de intero#are pentru modelul semistructurat$ Toate aceste lim!a,e sunt construite pe !a&a ideii de e6presii asociate c'ilor .pat e6pressions/$ -cestea sunt e6presii re#ulate ce e6prim' c'i #enerice în #raful etic etat% permi"*nd astfel traversarea #rafului (i colec"ionarea tuturor etic etelor ce satisfac o anumit' condi"ie de selec"ie$ Lim!a,ele semistructurate pot fi clasificate în dou' cate#orii% dup' strate#ia de calcul adoptat'$ 0rima cate#orie% de&voltat' oarecum ad+ oc% se !a&ea&' pe modelarea #rafurilor în modelul rela"ional (i apoi pe intero#area lor într+un lim!a, rela"ional de tip )>L$ C*teva e6emple pre&entate în literatur' sunt ?A@% ?B@% ?C@% ?D@% ?E@ - doua cate#orie porne(te de la un lim!a, !a&at pe o no"iune formal' de calcul cu date semistructurateF lim!a,ul Un>L este repre&entantul acestei cate#orii ?3@$ -cest lim!a, porne(te de la recursivitatea structural'% forma natural' de recursivitate asociat' cu tipul de date #rafuri etic etate$ Datorit' !a&ei sale teoretice% Un>L este capa!il de restructur'ri comple6e% în ad*ncime% spre deose!ire de lim!a,ele din prima cate#orie% care se limitea&' la scoaterea la suprafa"' a datelor din #raf% f'r' îns' a crea noi structuri$ -ceast' capacitate de restructurare st' la !a&a proiectului )TRUDEL?G@ care propune lim!a,ul )tru>L de #estiune a sit+urilor de :e!$ Un alt avanta, al !a&ei teoretice a lim!a,elor Un>L (i )tru>L este posi!ilitatea efectu'rii optimi&'rilor specifice acestui nou model de date$ Lim!a,ele din prima cate#orie pot !eneficia doar de optimi&'rile specifice modelului rela"ional% deci de&voltate pentru alt model de date (i în consecin"' nu at*t de folositoare$ 3$2 Inte#rarea surselor de date etero#ene Inte#rarea datelor provenind din surse etero#ene .cu sc eme disparate sau% mai #rav% modelate diferit/% este un domeniu de cercetare care% de(i consacrat de mai !ine de un deceniu% continu' s' r'm*n' în centrul aten"iei multor cercet'tori$ Cercetarea în acest domeniu este motivat' de a!sen"a unui model de date atotcuprin&'tor% fapt ce în#reunea&' de&voltarea de soft:are care converte(te date între dou' modele diferite$ O complica"ie adi"ional' este repre&entat' de faptul c' ma,oritatea datelor stocate electronic nu se afl' în !a&e de date conven"ionale% ci în sisteme de fi(iere% pro#rame de !i!liotec'% de po(t' electronic'% foi de calcul etc$% care pre&int' capacit'"i de intero#are limitate$
Pagina din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Ultima o!serva"ie a repre&entat punctul de plecare al proiectului Tsimmis ?H@?3I@ de la )tanford$ 0roiectul Tsimmis î(i propune inte#rarea at*t a surselor de date care sunt conforme cu modelele de date standard .rela"ional% orientat pe o!iecte/% c*t (i a surselor de date cu capacit'"i de intero#are limitate$ -ceste surse neconven"ionale sunt împac etate în a(a+numi"i :rappers .am!ala,e/$ Un astfel de am!ala, asi#ur' interfa"a între sursa de date cu capacit'"i de intero#are limitate (i aplica"ia care o intero# ea&'$ -plica"ia trimite c'tre surs' intero#'ri într+un lim!a, e6presiv cum ar fi )>L sau O>L (i a(teapt' re&ultatul într+un format numit OEM .O!,ect E6c an#e Model/$ OEM folose(te #rafuri etic etate% ca structur' de date% care capturea&' ma,oritatea datelor folosite în aplica"ii de !a&e de date$ Jn acela(i timp% toate celelalte structuri de date pot fi codificate ca #rafuri OEM$ Rolul am!ala,ului const' înF interceptarea intero#'rii (i identificarea acelor p'r"i ale acesteia care pot fi efectuate de c'tre surs'% translatarea acestor p'r"i în lim!a,ul specific sursei% recep"ionarea (i prelucrarea re&ultatelor intermediare în vederea reconstituirii re&ultatului intero#'rii ori#inale% codificarea re&ultatului final în formatul OEM (i transmiterea acestuia c'tre aplica"ie$ Evident% dac' intero#area ori#inal' este prea comple6'% este posi!il s' nu poat' fi efectuat' pornind de la capa!ilit'"ile limitate ale sursei$ -m!ala,ul detectea&' aceast' situa"ie (i anun"' sursa c' nu îi poate satisface cererea$ Cu c*t cre(te capacitatea de evaluare a intero#'rilor în cadrul am!ala,ului .de e6emplu% capacitatea de a efectua opera"ii de tip ,oin% proiec"ii% selec"ii% etc$/% cu at*t se e6tinde clasa de intero#'ri pe care le poate satisface com!ina"ia surs'+am!ala,$ Un proiect similar% cu scopul intero#'rii surselor de date structurate din :e! este ?3A@$ )e remarc' similaritatea dintre modelul OEM (i cel semistructurat$ Jntr+adev'r% Lore ?33@%?32@ este un sistem de intero#are a datelor semistructurate% foarte similar cu Un>L% utili&*nd un model de date inspirat de OEM$ 3$A Navi#are în Internet Jn anumite situa"ii este avanta,os s' privim !a&ele de date conven"ionale ca fiind semistructurate$ Un e6emplu este activitatea de navi#are în Internet$ Jn #eneral% utili&atorul nu poate intero#a o !a&' de date f'r' a+i cunoa(te sc ema$ Din nefericire îns'% aceasta este adeseori #reu de în"eles% datorit' m'rimii e6a#erate .&eci de ta!ele% de e6emplu/ (i a terminolo#iei opace% nestandard% folosite de c'tre proiectan"ii !a&ei de date$

Pagina ! din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Descifrarea sc emei ar fi considera!il u(urat' de facilitatea de a intero#a datele av*nd doar o în"ele#ere par"ial' a structurii lor$ De e6emplu% în ca&ul !a&ei de date cinemato#rafice din =orld+=ide =e!?2@% urm'toarele intero#'ri ar fi de folosF Jn E6ist' în care !a&a atri!ut de #'sim date (irul între#i de mai caractere mari Casa!lancaK dec*t 23DK

Ce o!iecte din !a&a de date au un atri!ut al c'rui nume începe cu actK ;i în acest domeniu% modelul semistructurat se dovede(te a fi folositor$ )pre deose!ire de modelele de date conven"ionale% care diferen"ia&' între sc ema .tipul% structura/ (i instan"a .valoarea/ datelor% modelul de date semistructurat repre&int' cele dou' tipuri de informa"ie în mod uniform% permi"*nd intero#area lor simultan'$ Din acest motiv% datele semi+structurate se numesc (i autodescriptive$ ?3@ pre&int' un ele#ant lim!a, de intero#are care permite e6primarea concis' a acestor intero#'ri$ 3$B Cu!ul de date (i OL-0 )istemele de suport pentru deci&ii .Decision support sLstems/ sunt utili&ate de c'tre companiile moderne pentru inte#rarea într+o !a&' de date central' numit' data :are ouse .ma#a&ia central' de date/% a datelor provenind din !a&e de date mici opera"ionale folosite în diferite domenii de activitateMfiliale ale companiei$ Datele astfel acumulate sunt anali&ate în timp real .OL-0F On+Line -nalitical 0rocessin#/ pentru a asista conducerea companiei în luarea deci&iilor strate#ice de de&voltare ?3B@ .de e6emplu% anali&*nd v*n&'rile unui anumit produs pe trimestru (i &on' #eo#rafic'% se poate sta!ili o nou' strate#ie de marNetin# pentru acest produs/$ Datele din ma#a&ia central' de date sunt modelate su! forma unui . iper/cu! de date multidimensional ?3C@/ care poate fi anali&at la nivelul su!cu!urilor de #ranularitate ar!itrar'$ )u!cu!urile se o!"in prin a#re#area cu!urilor din care provin$ De e6emplu% prin însumarea v*n&'rilor trimestriale pentru fiecare &on'% cu!ul de date tridimensional repre&ent*nd v*n&'rile pe trimestru (i &ona #eo#rafic' poate fi redus la un su!cu! !idimensional .plan/ repre&ent*nd v*n&'rile pe &ona #eo#rafic'$ -#re#area este o opera"ie costisitoare% efectuarea ei eficient' pe un volum mare de date repre&ent*nd "elul principal al cercet'rii în acest domeniu .?3D@%?3E@%?3G@%?3H@/$ 3$C Noi modele tran&ac"ionale Jn mod tradi"ional% tran&ac"iile modelea&' unit'"i de lucru atomice (i i&olate% efectuate asupra datelor sistemului de #estiune a !a&elor de date$

Pagina " din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

I&olarea tran&ac"iilor nu permite crearea tran&ac"iilor comple6e% mari% din tran&ac"ii simple$ -cest model a avut succes at*ta vreme c*t tran&ac"iile efectuau un num'r mic de opera"ii simple asupra datelor cu structur' simpl'$ Din p'cate% modelul tran&ac"iilor simple nu satisface cerin"ele aplica"iilor comple6e% în care tran&ac"iile tre!uiesc com!inate (i coordonate pentru a cola!ora la reali&area unui scop comple6$ -plica"ii ca proiectarea asistat' de calculator% automati&area activit'"ii de !irou% controlul produc"iei% #estiunea activit'"ilor necesit' noi modele tran&ac"ionale% noi metode de #estiune a tran&ac"iilor% (i noi lim!a,e de specificare a tran&ac"iilor$ Lim!a,ele tran&ac"ionale sunt lim!a,e de nivel înalt% de o!icei inspirate din lo#ica cu predicate de ordinul înt*i$ Dac' lim!a,ele tradi"ionale specificau intero#'ri (i actuali&'ri% noile lim!a,e tran&ac"ionale se concentrea&' asupra rela"iei dintre tran&ac"ii% e6prim*nd dependen"e de tipul tran&ac"ia T2 nu poate porni înainte ca T3 s' se termine% sau T2 poate începe dac' T3 întoarce o valoare mai mare ca 2C$ ?2I@ pre&int' o clasificare (i anali&a detailat' a noilor lim!a,e tran&ac"ionale$ Un e6celent e6ponent al noii #enera"ii de lim!a,e tran&ac"ionale este Transaction Datalo# ?23@% un lim!a, deductiv care men"ine în acela(i timp toate propriet'"ile tran&ac"iilor clasice% cum ar fiF persisten"'% atomicitate% i&olare% terminare (i roll!acN .revenire/$ Lim!a,ul este înso"it de un model teoretic natural (i de o teorie si#ur' pentru demonstra"ii% permi"*nd astfel demonstrarea ec ivalen"ei între diverse e6presii din acest lim!a,$ -cest fapt este crucial pentru optimi&are + care const' din înlocuirea unei planific'ri cu o alta ec ivalent' din punct de vedere al efectului s'u asupra datelor% dar mai eficient' din punct de vedere al costului e6ecu"iei$ Mai mult% faptul c' putem demonstra c' efectul unei tran&ac"ii comple6e asupra setului de date este sau nu cel scontat% asi#ur' consisten"a datelor$ 3$D Optimi&'ri Optimi&area lim!a,elor de intero#are a !a&elor de date nu este un domeniu nou% ci dimpotriv'% e6ist' înc' de la apari"ia acestora$ Datorit' importan"ei sale% acest domeniu va fi întotdeauna la mod' în cercetarea !a&elor de date$ -pari"ia unui nou model de date atra#e dup' sine o efervescen"' în activitatea de cercetare a posi!ilit'"ilor de optimi&are a lim!a,ului de intero#are asociat noului model$ Referin"ele !i!lio#rafice introduse în sec"iunea anterioar' pre&int' (i primele încerc'ri de optimi&are a noilor lim!a,e de intero#are$

Pagina # din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

C-0ITOLUL II MODELE DE RE0REOENT-RE - D-TELOR NECON5EN<ION-LE 2$3 Definirea conceptului de date neconven"ionale Jn literatura de specialitate e6ist' o serie de definiri ale conceptului de date neconven"ionale (i a altor concepte asociate acestuiaF P Datele neconven"ionale sunt datele care nu au nici unul din tipurile standardF între#% real etc$ ?4lanNen% 2II2@ P )tructura de date neconven"ional' este structura de date care nu este în u&ul curent al aplica"iilorQ aceasta poate fi structura produs' de datele semistructurate% cea definit' noilor tipuri de date folosite în aplica"ii (i date cu structuri ce se modific' în mod dinamic$ ?1)IRT% 2IIC@ P - patra #enera"ie a te nolo#iilor !a&elor de date este pre&entat' în ?Mannino% 2IIB@ ca fiind o e6tensie a te nolo#iilor !a&elor de date cu datele neconven"ionale (i Internetul$ )istemele celei de+a patra #enera"ii pot stoca (i manipula tipuri de date neconven"ionale cum suntF ima#inile% secven"ele video% 'r"ile% sunetele (i anima"iile (i permit accesul la !a&ele de date =e!$ P Unul din o!iectivele sistemelor de #estiune a !a&elor de date orientate o!iect este pre&entat ca fiind e6tinderea fle6i!ilit'"ii cu datele neconven"ionale (i procedurile de prelucrare asociate acestora% inclusiv te6t% #rafic' (i voce% date care nu pot fi manipulate (i inte#rate de sistemele de !a&e de date conven"ionale$ La UniversitL of )out ern California din Los -n#eles .U)C/ e6ist' un la!orator de informare numit InfoL-4 al c'rui scop este investi#area de noi metode pentru #estiunea tipurilor de date neconven"ionale cu ar itecturi atipice$ 0rincipalele &one de cercetare suntF P 1estiunea flu6urilor de date multidimensionale în ar itecturi de tip punct la punct .peer+to+peer/% P -nali&a datelor multidimensionale% P 1estiunea datelor peer+to+peer% P 0relucrarea intero#'rilor de stream+uri% P 4a&e de date spa"io+temporale$ Descrierea datelor neconven"ionale se reali&ea&' folosind metadate$ Metadatele sunt folosite pentru descrierea altor date% cu o structur' comple6' sau nestructurate$ Metadatele pot fi privite din diferite perspective% în func"ie de produc'torul sau sursa metadatelorF

Pagina 7 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

+ Din perspectiva produc'torului de con"inut% metadatele sunt utili&ate pentru stocarea informa"iilor !i!lio#rafice ale resurselor% ca de e6empluF numele autorului% titlul% data cre'rii% formatul resursei etc$ + Din perspectiva furni&orilor de servicii% metadatele ofer' informa"ii descriptive cu valoare ad'u#at' .ma,oritatea în format XML/% care reduc informa"iile necesare re#'sirii datelor$ Metadatele con"in informa"ii despre diferitele formate în care este disponi!il' o resurs' (i informa"ii semantice asociate acesteia$ -ceste informa"ii sunt utile pentru reali&area intero#'rii datelor$ + Din perspectiva consumatorului% metadatele ofer' informa"ii suplimentare care descriu preferin"ele consumatorului (i resursele disponi!ile pentru utili&area datelor$ Metadatele permit personali&area consumului mediilor (i tre!uie luate în considerare de produc'tori$ Metadatele sunt utile pentru distri!uirea datelor în Internet sau în re"ele mo!ile permi"*nd accesul la resurse în cele mai !une condi"ii posi!ileQ de e6emplu% metadatele pot fi folosite pentru descrierea modului în care difu&area secven"elor video este adaptat' la sc'derea l'r#imii de !and' disponi!il' la un moment dat$ 2$2 Modelul semistructurat ale datelor Modelele rela"ional (i orientat+o!iect au fost folosite mult timp pentru modelarea datelor nu neap'rat pentru c' erau cele mai naturale solu"ii% ci pentru c' au în spate un formalism !ine definit$ Jn timp îns'% datorit' de&volt'rii Internetului (i datorit' necesit'"ii inte#r'rii datelor descrise folosind sc eme diferite% modelele tradi"ionale s+au dovedit a nu mai fi suficiente (i a devenit acut' necesitatea utili&'rii unui alt model de date% modelul semistructurat al datelor$ Jn plus% aplica"iile Internet reali&ea&' opera"ii care nu sunt curente în aplica"iile tradi"ionale cu !a&e de date cum ar fiF transform'ri ale datelor% interpretarea intero#'rilor% transportul datelor (i prelucrarea !a&at' pe flu6uri$ Datele semistructurate au devenit un important su!iect de studiu din mai multe motiveF Jn primul r*nd% e6ist' surse de date pe care am vrea s' le trat'm ca !a&e de date dar c'rora nu le putem impune constr*n#eri av*nd la !a&' o sc em'% ca în ca&ul !a&elor de date tradi"ionale ?4uneman% 3HHE@$ C iar (i datele structurate% au structur' care poate s' difere de la o aplica"ie la alta sau au structur' modifica!il' în timp$ De&volt'rile din domeniul multimediei au dus la necesitatea de a introduce noi tipuri de date în domeniul te nolo#iei !a&elor de date conven"ionale$ Unele te nolo#ii necesit' doar e6tensii ale modelelor de date e6istente% prin optimi&area te nicilor de manipulare (i intero#are a noilor tipuri de date% dar
Pagina $ din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

altele nu pot fi încadrate în modelele clasice de #estiune a datelor$ Cel mai evident e6emplu de date care nu pot fi încadrate într+o sc em' sunt datele manipulate prin intermediul =e!+ ului$ Ma,oritatea intero#'rilor =e! e6ploatea&' te nicile de re#'sire a datelor pentru a determina pa#inile individuale care au con"inut ce corespunde criteriului solicitat$ Dar numai o mic' parte din resursele =e! sunt structurate astfel înc*t s' permit' re&olvarea intero#'rilor% =e!+ul nefiind conform nici unui model standard$ -stfel c' se simte nevoia de a #'si o metod' pentru descrierea structurii datelor =e! în vederea re&olv'rii acestei pro!leme$ -l doilea motiv este dat de necesitatea sc im!ului de date între aplica"ii care folosesc formate diferite de stocare (i #estiune a datelor necesit*nd astfel transformarea datelor$ Nici unul din modelele de date e6istente nu este accepta!il din toate punctele de vedere (i în plus este dificil s' convertim datele dintr+un model în altul$ -stfel% s+a sim"it nevoia s' se de&volte un model care s' le#e cele dou' lumi diferiteF rela"ional' (i orientat' o!iect% acesta este modelul semistructurat al datelor$ Jn plus% datele în format electronic se afl' în medii diferite% interconectate care tre!uie s' comunice între ele$ Dar (i c*nd se folosesc datele structurate poate fi util ca acestea s' fie privite ca date semistructurate% din motive care "in de manipularea acestora% fiind util s' e6iste un format fle6i!il pentru sc im!ul de date între diferite tipuri de !a&e de date$ ?4uneman% 3HHE@ O parte din aceste date se #'sesc su! forma datelor nestructurate% ca de e6emplu sunetele% ima#inile% secven"ele video (i c iar unele documente te6t% iar alt' parte su! forma datelor structurate% memorate în !a&e de date rela"ionale sau orientate o!iect$ Jn #eneral% un utili&ator nu poate scrie o intero#are pentru o !a&' de date f'r' s' cunoasc' sc ema de or#ani&are a datelor% iar aceasta este netransparent' pentru utili&atori (i ra"ionamentul folosit la proiectarea ei este adesea #reu de determinat$ -u fost de&voltate lim!a,e care permit intero#area simultan' a datelor (i a sc emelor de or#ani&are a !a&elor de date% dar aceste lim!a,e nu au fle6i!ilitatea s' manipule&e constr*n#eri comple6e$ 2$2$3 Conceptul de date semistructurate Jn #eneral% prin termenul de date semistructurate sunt denumite datele care nu respect' formate stricte cum ar fi cele impuse de modelele !a&elor de date rela"ionale sau orientate o!iect$ Jn mod evident o astfel de defini"ie este imprecis'$ Datele sunt semistructurate dac'F nu au o structur' ri#id' .de e6emplu datele =e!% datele sunt com!inate din c*teva surse etero#ene + ca în ca&ul depo&itelor de date/% nu au o structur' implicit'
Pagina 9 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

asociat' datelor% sau au o structur' par"ial specificat' ?-!ite!oul% 3HHE@$ Modelele orientat+ o!iect (i rela"ional au o sc em' fi6' pentru fiecare clas' sau fiecare rela"ie$ Datele semistructurate permit o fle6i!ilitate sporit'% fiind o com!ina"ie a celor dou' concepteF clasa (i rela"ia$ Datele semistructurate con"in informa"ii despre sc ema lor (i aceast' sc em' poate diferi% în timp% în cadrul unei sin#ure !a&e de date$ -cest model care nu se !a&ea&' pe nici o sc em'% are un rol special în sistemele !a&elor de date$ Jn acest model datele sunt autoreferite% acest lucru însemn*nd c' sc ema este ata(at' datelor$ Com!inarea unor date dintr+o !a&' de date rela"ional' cu altele dintr+o !a&' de date orientat'+o!iect se poate reali&a prin conectarea celor dou' !a&e de date% prin intermediul unei interfe"e% translat*nd datele de la fiecare surs' în date semistructurate$ Jn modelul semistructurat al datelor% informa"iile care sunt în mod normal asociate unei sc eme sunt incluse în interiorul datelor$ Jn aceste !a&e de date nu e6ist' o distinc"ie clar' între date (i sc em'% iar #radul de structurare depinde de aplica"ie$ Jn anumite forme ale modelului semistructurat e6ist' o sc em' distinct'% în altele nu$ -vanta,ele modelului semistructurat al datelor sunt urm'toareleF P Fle6i!ilitatea + simplific' inte#rarea !a&elor de date care au sc eme diferite$ )pre deose!ire de alte modele% care au o sc em' de descriere a datelor% modelul semistructurat este f'r' sc em'% ceea ce ,ustific' fle6i!ilitatea sa$ Fle6i!ilitatea repre&int' un instrument util pentru inte#rarea datelor% mai ales în ca&ul pro!lemelor le#ate de mo(tenirea !a&ei de date$ P Jm!un't'"irea eficien"ei re#'sirii datelor pu!licate în Internet P 0osi!ilitatea inte#r'rii datelor Documentele RTML (i cele stocate în !i!lioteci di#itale sunt semistructurate$ )pre deose!ire de flu6urile nestructurate de date .precum ima#ini% sunete% video/% datele semistructurate au o structur' (i spre deose!ire de datele structurate .!a&ele de date rela"ionale sau orientate+o!iect/% datele semistructurate nu au o sc em' a!solut' sau o clas' fi6'% fiecare o!iect con"in*nd propria sc em'$ Ire#ularitatea structural' nu implic' ine6isten"a similarit'"ilor structurale între o!iecte$ Din contr'% în mod o!i(nuit% o!iectele semistructurate care descriu acela(i tip de date au structur' similar'$ Modelul datelor semistructurate este un model pentru inte#rarea !a&elor de date$ Este folosit pentru descrierea datelor aflate în dou' sau mai multe !a&e de date care con"in date similare în diferite sc eme de or#ani&are$ 2$2$2 Modelarea datelor semistructurate

Pagina 1% din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Datele semistructurate sunt modelate% în #eneral% su! forma structurilor de tip #raf sau ar!ore% în noduri av*nd repre&entate o!iecte iar arcele repre&ent*nd atri!utele o!iectelor$ Jn plus% arcele modelea&' natural rela"iile de su!ordonare dintre dou' o!iecte$ ?Reveiu% 2IIA@ Modelul de facto pentru datele semistructurate este OEM .O!,ect E6c an#e Model/% model propus în proiectul pentru inte#rarea datelor numit T)IMMI) (i descris pentru prima dat' în lucrarea Multimedia data!ase sLstems 7 Desi#n and implementation )trate#ies$ OEM este un model autodescripti!il% nefiind necesar' definirea anterioar' a structurii unui o!iect (i nici nu e6ist' o sc em' fi6' de repre&entare a datelor$ Fiecare o!iect repre&entat con"ine propria lui sc em'$ Fiecare o!iect din OEM poate avea un identificator .Id/% o etic et'% un tip (i o valoare$ Id+urile o!iectelor pot fi sim!oluri cu sau f'r' în"elesuri speciale$ De e6emplu% dac' un o!iect este o pa#in' =e!% URL+ul pa#inii poate fi folosit ca id+ul o!iectului$ Etic etele nodurilor sunt (iruri care e6plicitea&' rolul o!iectului pentru utili&ator (i pentru aplica"ii$ Etic eta ,oac' aici dou' roluriF identific' un o!iect (i d' sens o!iectului$ O!iectele pot fi atomice sau comple6e .seturi de o!iecte/$ 5alorile o!iectelor atomice au tipuri atomice .valori între#i% reale% (iruri de caractere% ima#ine% sunet etc$/% iar cele comple6e au ca valori seturi de o!iecte% repre&entate prin perec i de tipul atri!ut+o!iect$ 0rin urmare% un o!iect comple6 va avea o definire recursiv' deoarece valoarea unui o!iect este parte a sa$ Nodurile frun&' au asociate întotdeauna valori atomice$ Etic etele arcelor repre&int' atri!ute% sunt descrise prin (iruri de caractere (i repre&int' un set de propriet'"i descriptive$ O proprietate poate fi folosit' într+un arc pentru a descrie nodurile învecinate$

Pagina 11 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Jn fi#ura 3 este pre&entat' e6emplificarea model'rii unei p'r"i dintr+o !a&' de date multimedia folosind OEM$ Fi#ura 3 7 Modelul OEM al unei p'r"i dintr+o !a&' de date multimedia Informa"iiF So3 TfilmF So23 TtitluF SoAI UTitanic9% actor principalF SoA3 TnumeF SoB3 UDiCaprio9% prenumeF SoB2 ULeonadro9V% re#i&orF SoA2 TnumeF SBB UCameron9% prenumeF SoBC UWames9V% T actor principalF SoAA% numeF SoBD UXate9% prenumeF SoBE U=inslet9V% premii o!"inuteF SoBG U33 Oscaruri9V% melodieF So22 TtitluF SBH UML eart :ill #o on9% interpret'F SoAB TnumeF SoCI UDion9%

Pagina 12 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

prenumeF SoC3 UCeline9V% premiiF S oAC TanF SoC2 U3HHG9% numeF UOscar pentru cea mai !un' coloan' sonor'9V% coloan' sonor'F So22VV Datele stocate în !a&e de date rela"ionale pot fi descrise cu u(urin"' folosind OEM$ Jn plus% OEM asi#ur' o fle6i!ilitate mai mare în descrierea datelor toler*nd lipsa unor atri!ute pentru anumite înre#istr'ri sau e6isten"a mai multor valori pentru acela(i atri!ut în cadrul unei sin#ure înre#istr'ri$ OEM poate fi considerat mai apropiat de modelul orientat+o!iect dec*t de cel rela"ional% în care dou' o!iecte distincte c iar dac' au valori identice% au e6isten"' de sine st't'toare% repre&ent*nd instan"e diferite$ )c eme de or#ani&are a datelor semistructurate Fle6i!ilitatea în descrierea informa"iilor adus' de modelarea datelor semistructurate are (i de&avanta,e% (i anume dificultatea formul'rii unei intero#'ri relevante$ )+a încercat asocierea unor sc eme în modelarea datelor semistructurate% în acest sens e6ist*nd dou' a!ord'riF P sc eme fle6i!ile 7 descriu aprioric dateleQ sc emele fle6i!ile fiind concepute astfel înc*t s' permit' fle6i!ilitate în descrierea datelorQ se folose(te tipul void pentru manipularea oric'rui tip de dat'$ P sc eme ri#ide 7 descriu cu e6actitate datele (i sunt folosite pentru anali&a datelorQ sc ema este ref'cut' ori de c*te ori se produce o modificare a informa"iei memorate$ 2$2$A Lim!a,e de intero#are a datelor semistructurate 0rincipalele elemente caracteristice ale unui lim!a, de intero#are pentru datele semistructurate suntF P 0utere de e6presieF pentru repre&entarea datelor rela"ionale su! forma datelor semistructurate% lim!a,ul semistructurat tre!uie s' acopere opera"iile corespun&'toare unui lim!a, rela"ional standard% dar în plus tre!uie s' dispun' de facilit'"i de reor#ani&are a datelor% astfel înc*t aceea(i informa"ie s' poat' fi re#'sit' su! o alt' structur'Q P )emantic'F cererile tre!uie optimi&ate astfel înc*t s' poat' "ine cont de semantica datelor% fiind necesar' o semantic' precis' pentru transformarea (i optimi&area cererilorQ P )c emati&areF lim!a,ul tre!uie s' poat' recunoa(te structurile definite pentru a le putea manipulaQ
Pagina 1 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

P CompunereF datele o!"inute în urma unei intero#'ri pot fi folosite ca date de intrare în alte intero#'ri% motiv pentru care lim!a,ele tre!uie s' fie transparente$ -u fost propuse% într+o serie de proiecte de cercetare pe aceast' tem'% c*teva lim!a,e de intero#are pentru datele semistructurate$ Dou' dintre acestea suntF lim!a,ul orientat+o!iect Lorel% derivat din O>L .O!,ect >uerL Lan#ua#e/ (i lim!a,ul Un>L .Unstructured >uerL Lan#ua#e/$ Domeniul datelor semistructurate este unul în studiu (i va avea un impact mare asupra unei multitudini de aplica"ii% dar mai ales asupra aplica"iilor multimedia (i a celor de&voltate pentru mediul Internet$ 2$A M0E1+23 7 )uport pentru inte#rarea datelor în aplica"ii multimedia distri!uite Jn ciuda descrierilor complete (i detaliate ale tipurilor datelor multimedia implementate în M0E1+E% aspecte le#ate de or#ani&area datelor (i de infrastructura unui sistem multimedia distri!uit nu pot fi descrise doar folosind metadate$ -stfel c' a fost ini"iat un nou standard% M0E1+23 cu scopul de a oferi mecanisme de proiectare a sistemelor multimedia distri!uite% de a crea un mediu unic% universal accesi!il pentru livrarea (i utili&area resurselor multimedia în diferite condi"ii% ca de e6emplu diferite tipuri de utili&atori% re"ele cu diferite caracteristici% terminale cu caracteristici diferite etc$ 2$A$3 0re&entare #eneral' M0E1+23 este un standard I)OMIEC23III al M0E1 .Movin# 0icture E6perts 1roup/ care define(te un cadru de lucru desc is pentru multimedia$ For"a M0E1+23 este dat' de urm'toarea situa"ieF e6ist' multe resurse mutimedia ce pot fi folosite la construirea unei infrastructuri pentru distri!uirea (i utili&area con"inutului multimedia% dar nu e6ist' nici o ar itectur' pentru descrierea modului în care aceste elemente interac"ionea&' între ele$ )copul standardului M0E1+23 este s' defineasc' un cadru de lucru desc is pentru multimedia care s' permit' utili&area transparent' (i la performan"e !une a resurselor multimedia folosind re"ele (i dispo&itive periferice diverse$ )e urm're(te #estiunea con"inutului multimedia% #estiunea propriet'"ii intelectuale (i adaptarea con"inutului la resursele disponi!ile prin intermediul diferitelor clase de servicii$ M0E1+23 ofer' un suport desc is pentru distri!uirea (i utili&area datelor multimedia$ ?Xosc % 2IIB@ M0E1 acoper' între#ul con"inut multimedia din punctul de vedere al canalelor de distri!u"ie folosite% al modalit'"ilor de creare a con"inutului% din punct de vedere al modalit'"ii de produc"ie% în vederea personali&'rii% consumului% pre&ent'rii (i comerciali&'rii acestuia$ 0entru reali&area acestui lucru% M0E1+23 propune norme pentru un standard desc is pentru

Pagina 1! din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

crearea% distri!uirea (i utili&area datelor multimedia$ -cest standard se refer' la to"i actorii implica"i% de la creatorii de con"inut% produc'tori% distri!uitori (i furni&orii de servicii$ M0E1+23 standardi&ea&' flu6ul informa"iilor (i serviciilor multimedia de la crearea con"inutului p*n' la livrarea c'tre utili&atorii finali$ 0entru a reali&a acest lucru% con"inutul tre!uie identificat% descris% #estionat (i prote,at$ Transportul (i livrarea con"inutului poate avea loc peste diferite re"ele% între o varietate de terminale$ E6ist' o serie de ar itecturi ap'rute ca r'spuns la varietatea tipurilor de aplica"ii care utili&ea&' con"inutul multimedia$ E6ist' trei modele principale folosite pentru #estiunea% descrierea (i re#'sirea resurselor multimedia (i anume Du!lin Core% )M0TE (i M0E1+E$ 0entru a evita recomandarea unui model în defavoarea altuia% în mod ne,ustificat% M0E1+23 propune descrierea suportului multimedia su! forma unei ar itecturi #enerice$ ?I)O% 2II3@ M0E1+23 se !a&ea&' pe dou' concepte esen"ialeF definirea unei unit'"i fundamentale de distri!u"ie (i tran&ac"ionare + elementul di#ital (i utili&atorii care interac"ionea&' cu elementele di#itale$ Elementul di#ital este un o!iect di#ital% structurat care are o repre&entare standard% ce poate fi identificat (i care are asociate metadate$ Elementele di#itale con"in at*t resursele multimedia .con"inutul/ c*t (i metadatele asociate resurselor sau între#ului element di#ital$ Jn accep"iunea M0E1+23% utili&atorul este orice entitate care interac"ionea&' cu mediul M0E1+23 sau care folose(te un element di#ital% ca de e6emplu un consumator al datelor multimedia% o or#ani&a"ie% sau un alt standard ce folose(te resursele multimedia$ Un utili&ator poate folosi con"inutul în mai multe feluriF prin pu!licare sau prin livrare (i poate avea drepturi (i responsa!ilit'"i specifice în func"ie de modalit'"ile de interac"iune cu al"i utili&atori în cadrul M0E1+23$ 0rincipalele elementele folosite în definirea ar itecturii M0E1+23 suntF P Elementul di#ital + este un container ierar ic de resurse etero#ene .video% audio% te6t etc$/% metadate (i alte elemente di#itale$ Un element di#ital este o unitate elementar' de distri!u"ie (i tran&ac"ionareQ P Declararea elementului di#ital 7 define(te un set de termeni folosi"i la declararea elementelor di#italeQ P Identificarea (i descrierea elementului di#ital 7 presupune identificarea (i descrierea elementului di#ital% natura lui% tipul sau #ranularitatea .film% scen' sau cadru/Q P 1estiunea (i utili&area con"inutului 7 ofer' interfe"e (i protocoale care permit crearea% manipularea% c'utarea% accesarea% stocarea% livrarea (i reutili&area con"inutului de+a lun#ul canalelor de distri!u"ie (i consumQ

Pagina 1" din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

P 0rote,area (i #estiunea propriet'"ii intelectuale 7 permite #estiunea con"inutului (i prote,area elementelor di#itale într+o serie de re"ele (i dispo&itiveQ P Terminale (i re"ele 7 ofer' instrumente ce permit accesul transparent la con"inut prin intermediul re"elelor (i terminalelor% reali&*nd inclusiv controlul calit'"ii serviciuluiQ P Repre&entarea con"inutului 7 cum sunt repre&entate resursele mediaQ P Raportarea evenimentelor 7 con"ine metrici (i interfe"e ce permit utili&atorilor s' evalue&e performan"ele tuturor evenimentelor raporta!ile din cadrul sistemului$ )tructura M0E1+23 Jn pre&ent sunt definite 3G p'r"i ale M0E1+23F ?I)OMIEC 23III+3+3G@ F 0artea 3F Te nolo#iile (i strate#ia M0E1+23% 0artea 2F Declararea elementului di#ital .DID/ 0artea AF Identificarea elementului di#ital .DII/ 0artea BF 1estiunea (i protec"ia propriet'"ii intelectuale .I0M0/ 0artea CF Lim!a,ul de repre&entare a drepturilor .REL/ 0artea DF Dic"ionar de drepturi ale datelor .RDD/ 0artea EF -daptarea elementului di#ital .DI-/% 0artea GF )oft:are de referin"' 0artea HF Formate de fi(iere pentru stocarea (i re#'sirea elementelor di#itale ale M0E1+23 0artea 3IF 0relucrarea elementelor di#itale 0artea 33F -socieri persistente 0artea 32F Testare distri!uirii resurselor M0E1+23 0artea 3AF Codarea secven"elor video scala!ile 0artea 3BF Conforman"a 0artea 3CF Raportarea evenimentelor 0artea 3DF Formatul !inar 0artea 3EF Identificarea fra#mentelor 0artea 3GF )treamin#+ul elementului di#ital 2$A$2 Declararea elementelor di#itale Declararea elementului di#ital presupune definirea unui set de termeni (i concepte folosite la definirea elementelor di#itale% la descrierea sinta6ei (i semanticii fiec'rui element di#ital (i a sc emei de repre&entare în XML$ Declararea unui element di#ital se reali&ea&' în A etapeF + Crearea modelului a!stract%
Pagina 1# din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

+ Repre&entarea modelului a!stract în XML% + Crearea sc emei XML$ P Modelul a!stract 7 define(te un set de termeni (i concepte care formea&' un model pentru declararea elementelor di#itale$ Modelul a!stract permite repre&entarea elementelor di#itale în diferite moduri$ Modelul a!stract define(te entit'"ile necesare declar'rii elementului di#ital$ Un prim set de entit'"i este format din elementele de !a&' folosite pentru declararea elementelor di#italeF + resursa 7 este un flu6 de date identifica!il% ca de e6emplu un fi(ier video% ima#ine% secven"' audio sau te6t$ + componenta 7 are rolul de a le#a una sau mai multe resurse de un set de descriptori ce con"in informa"ii secundare referitoare la resursele componentei$ Componenta este folosit' doar pentru #ruparea resurselor (i a datelor secundare transmise printr+un descriptor$ + elementul di#ital 7 repre&int' conectarea unuia sau mai multor elemente sau componente la un descriptor$ )e pot crea elemente di#itale individuale (i elemente compuse$ + descriptorul 7 introduce un mecanism e6tensi!il care poate fi folosit pentru asocierea informa"iilor cu alte entit'"i ale modelului a!stract$ Un descriptor asocia&' informa"ii te6tuale% secundare entit'"ii incluse$ + containerul 7 repre&int' asocierea unuia sau mai multor elemente di#itale (iMsau container.e/ la un descriptor$ Containerele sunt folosite pentru #ruparea elementelor di#itale$ Descriptorul con"ine informa"ii despre containerul repre&entat$ 0entru rafinarea descrierii resurselor se folose(te urm'torul set de entit'"iF + fra#mentul 7 identific' un anumit punct sau interval din cadrul unei resurse .secven"' video% audio etc$/$ Fra#mentele sunt specifice tipului resursei$ + ancora 7 conectea&' descriptori de un fra#ment$ Jn acest ca&% descriptorii con"in informa"ii despre fra#mentele ancorei$ -ncora este folosit' pentru #ruparea fra#mentelor (i descriptorilor$ E6emplu de ancor'F un moment de timp al unei resurse video% o form' poli#onal' din cadrul unei resurse de tip ima#ine$ + adnotarea 7 permite ad'u#area de informa"ii la o entitate a modelului f'r' a modifica entitatea$ + alternativa 7 este o op"iune din mai multe e6istenteQ ca de e6emplu% alternativa unei cone6iuni la Internet la o l'r#ime de !and' mare sau alternativa unei cone6iuni prin dial+up$ + selec"ia 7 este op"iunea utili&atorului din alternativele disponi!ile$

Pagina 17 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

+ condi"ia 7 pe !a&a selec"iei utili&atorului% pot fi satisf'cute .sau nu/ condi"iile asociate unei entit'"i a elementului di#ital (i entitatea elementului di#ital poate deveni disponi!il' .sau nu/$ P Repre&entarea modelului a!stract în XML 7 presupune descrierea sinta6ei XML pentru fiecare entitate definit' în modelul a!stract$ -ceast' sinta6' formea&' lim!a,ul de declarare a elementului di#ital al M0E1+23 .DIDL 7 Di#ital Item Declaration/$ Declararea elementelor di#itale repre&entate în conformitate cu sinta6a DIDL formea&' documentul DIDL$ DIDL define(te c*teva elemente suplimentare care nu corespund entit'"ilor modelului a!stractF + Elementul DIDL ca r'd'cin' a documentului DIDL% + Elementul Referin"' + repre&int' o le#'tur' la un alt element al documentului DIDL (i include con"inutul elementul referen"iat în elementul referit$ Referin"ele se pot face la elemente din acela(i document DIDL sau la elemente din alt document DIDL$ O referin"' intern' permite p'strarea unei sin#ure surse pentru un element care apare în documentul DIDL în mai multe locuri$ Referin"a e6tern' permite unui document DIDL s' fie împ'r"it în mai multe documente DIDL conectate$ + Elementul Declara"ii este folosit pentru definirea elementelor documentului DIDL% f'r' a le instan"ia$ Un element declarat poate fi instan"iat folosind elementul Referin"'$ P )c ema XML 7 specific' sinta6a DIDL (i constr*n#erile pentru structura documentelor DIDL$

Rela"ia dintre modelul a!stract M0E1+23 (i DIDL este pre&entat' în fi#ura B$2$ Fi#ura 2 + Rela"ia dintre modelul a!stract M0E1+23 (i DIDL Jn continuare sunt pre&entate componentele de !a&' ale sc emei de declarare a elementelor di#itale$ -ceste elemente se folosesc în sc emele documentelor XML$

Pagina 1$ din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

P )c ema de declarare a elementului di#ital )c ema de declarare a unui element di#ital numit ElementDi#ital care are la primul nivel un container sau un alt element di#ital esteF Y6sdFsc ema tar#etNamespace Z [urnFmpe#Fmpe#23F2II2FI3+ DIDL+N)[ 6mlns Z [urnFmpe#Fmpe#23F2II2FI3+DIDL+N)[ 6mlnsF6sd Z [ ttpFMM:::$:A$or#M2II3MXML)c ema[ version Z [I$I3[\ Y6sdFelement name Z [ElementDi#ital[\ Y6sdFcomple6TLpe\ Y6sdFse]uence\ Y6sdFelement refZ[Declaratii[ minOccursZ[I[M\ Y6sdFc oice\ Y6sdFelement refZ[Container[M\ Y6sdFelement refZ[Element[M\ YM6sdFc oice\ YM6sdFse]uence\ YM6sdFcomple6TLpe\ YM6sdFelement\ Y6sdFsc ema\ P Container Containerul are o structur' ierar ic'% iar definirea sa se reali&ea&' recursivF Y6sdFelement nameZ[Container[\ Y6sdFcomple6TLpe\ Y6sdFse]uence\ Y6sdFelement refZ[Descriptor[ minOccursZ[I[ ma6OccursZ[un!ounded[M\ Y6sdFc oice\ Y6sdFelement refZ[Referinta[M\ Y6sdFse]uence\ Y6sdFelement refZ[Container[ minOccursZ[I[ ma6OccursZ[un!ounded[M\ Y6sdFelement refZ[Element[ minOccursZ[I[ ma6OccursZ[un!ounded[M\
Pagina 19 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

YM6sdFse]uence\ YM6sdFc oice\ YM6sdFse]uence\ YM6sdFcomple6TLpe\ YM6sdFelement\ De e6emplu% dac' într+un element di#ital vor fi #rupate mai multe elemente ce con"in c*te o secven"' video% atunci pentru fiecare secven"' se va folosi c*te un container ce con"ine declararea elementului$ P Declararea descriptorului elementului di#ital compus esteF YElementDi#ital\ YContainer\ YDescriptor\ YDeclarare mimeTLpe Z [videoMavi[\)ecventele 5ideoYMDeclarare\ YMDescriptor\ YElement id Z [)ecventa3[\ YMElement\ YElement id Z [)ecventa2[\ YMElement\ YMContainer\ YMElementDi#ital\ 2$A$A -daptarea con"inutului utili&*nd M0E1+23 )tandardul M0E1+23 facilitea&' de&voltarea de solu"ii de adaptare a con"inutului distri!uit în func"ie de caracteristicile te nice ale terminalelor folosite pentru receptarea datelor% de caracteristicile te nice ale mediului de comunica"ie folosit sau în func"ie de preferin"ele utili&atorului$ 0entru adaptarea con"inutului multimedia este necesar' e6isten"a unei descrieri a mediului de lucru% pe l*n#' descrierea con"inutului propriu+&is$ Jn vederea adapt'rii con"inutului multimedia tre!uie s' e6iste o descriere a sa% folosind unul din standardele adecvate% ca de e6emplu Du!lin Core% )M0TE sau M0E1+E$ 0artea a (aptea a M0E1+23% denumit' -daptarea elementului di#ital .DI-/ este dedicat' descrierii caracteristicilor mediului (i adapt'rii elementelor di#itale la aceste caracteristici$

Pagina 2% din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

DI- define(te doar instrumentele necesare în procesul de adaptare% nu reali&ea&' (i adaptarea con"inutului$ Cate#oriile de instrumente descriptive folosite suntF P Instrumentele pentru descrierea mediului 7 au rolul de a descrie caracteristicile semnificative ale conte6tului (i anumeF + caracteristicile terminalului folosit pentru receptarea sau crearea con"inutului multimediaF posi!ilit'"ile de codareMdecodare ale terminalului% facilit'"ileMdispo&itivele de intrare+ie(ire conectate% alte caracteristici relevanteQ + caracteristicile re"eleiF capacitatea re"elei% tipul cone6iunii etc$Q + caracteristicile utili&atoruluiF informa"ii despre utili&ator% preferin"ele utili&atorului% un istoric al datelor utili&ate% preferin"e le#ate de pre&entarea informa"iilor% caracteristici de accesi!ilitate (i locali&area acestuiaQ + caracteristici ale mediul naturalF atri!utele audiovi&uale m'sura!ile ale mediului natural% care afectea&' modalitatea în care con"inutul multimedia este livrat (iMsau consumat de utili&atorF nivelul &#omotului% intensitatea luminii% fusul orar% loca"ia$ P Instrumentele de adaptare a resurselor sunt folosite pentru descrierea datelor structurale% ale flu6urilor de !i"i (i a datelor despre adapta!ilitatea metadatelor (i se folose(te pentru aceasta 4inarL )Lnta6 Description Lan#ua#e$ Descrierea se !a&ea&' pe împ'r"irea flu6ului de !i"i în componente lo#ice% ca de e6emplu împ'r"irea unei secven"e video în cadre$ Flu6ul de !i"i este apoi transformat de un motor pentru adaptarea resursei elementului di#ital într+un descriptor al sinta6ei flu6ului .4)D/% transformare care poate fi f'cut' su! controlul X)LT .E6tensi!le )tLles eet Lan#ua#e Transformations/$ Descriptorul este de dorit s' fie independent de un format media ceea ce permite reali&area adapt'rii resurselor !inare în orice loca"ie$ P Instrumentele pentru adaptarea metadatelor 7 identific' datele care pot fi utili&ate pentru reducerea comple6it'"ii instan"elor XML de adaptare a metadatelor$ )pecifica"iile se refer' la filtrarea (i scalarea con"inutului (i la inte#rarea a dou' sau mai multe instan"e ale descrierilor$ Le#'turile dintre principalele componente ale DI- sunt pre&entate în fi#ura A$

Pagina 21 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Fi#ura A7 -daptarea elementului di#ital (i instrumente pentru DIDeclararea unui DI- pentru descrierea caracteristicilor statice (i dinamice ale unei re"ele se poate faceF YDI- 6mlnsZ[urnFmpe#Fmpe#23FdiaFsc emaF2IIA[ 6mlnsF6siZ[ ttpFMM:::$:A$or#M2II3MXML)c ema+instance[\ YDescriere 6siFtLpeZ[Utili&areaMediului[\ YRetea\ YCapacitate Ma6imaZ[AGBIII[ Minima1arantataZ[A2III[M\ YMRetea\ YMDescriere\ YMDI-\ Caracteristicile monitorului unui terminal se pot descrieF YDI- 6mlnsZ[urnFmpe#Fmpe#23FdiaFsc emaF2IIA[ 6mlnsF6siZ[ ttpFMM:::$:A$or#M2II3MXML)c ema+instance[\

Pagina 22 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

YTerminal\ YMonitor\ YCaracteristici !iti0er0i6elZ[2B[ CuloriZ[A2!iti[ RataRefres Z[EI[\ YRe&olutia Ori&ontalaZ[3I2B[ 5erticalaZ[EDG[M\ YMCaracteristici\ YMMonitor\ YMTerminal\ YMDI-\

C-0ITOLUL III XML C- 4-O^ DE D-TE A$3 Este XML+ul o !a&' de dateK Jnainte de a discuta despre XML (i !a&e de date tre!uie s' r'spundem la între!area 8Este XML+ul o !a&' de dateK9 Un document XML este o !a&' de date în sensul cel mai strict al cuv*ntului (i anume este o colec"ie de date$ )e poate considera c' aceste documente nu sunt diferite de orice alt tip de fi(iere 7 în fond% toate fi(ierele con"in anumite tipuri de date$ -v*nd formatul unei !a&e de date documentele XML pre&int' anumite avanta,e$ De e6emplu este auto+descris .ta#+urile descriu structura (i numele tipurilor de date% dar nu (i semantica/% este porta!il .Unicode/% (i poate descrie date în structuri de ar!ori sau #rafuri$ De asemenea are (i de&avanta,e$ De e6emplu% este proli6s.neclar/ (i accesul la date este #reoi datorit' anali&'rii (i conversiei te6tului$ 0utem considera (i c' XML (i te nolo#iile asociate constituie o !a&' de date în sensul mai lar# al cuv*ntului 7 adic'% un sistem de #estiune a !a&elor de date .)14D/$ XML ofer' multe din avanta,ele !a&elor de dateF stocare .documente XML/% sc eme .DTD+uri% sc eme XML% REL-X N1% ($a%/% lim!a,e de intero#are .X>uerL% X0at % X>L% XML+>L% >UILT% etc$/% interfe"e de pro#ramare .)-X% DOM% WDOM/$ Totu(i multe componente ale !a&elor de date conven"ionaleF stocare eficient'% indec(i% securitate% tran&ac"ii (i inte#ritatea datelor% accesul multi+user% tri##ere% intero#'ri f'cute pe mai multe documente ($a$ -stfel% se pot folosi documente XML ca o !a&' de date într+un mediu cu cerin"e modeste (i date pu"ine% dar aceast' solu"ie nu este via!il' într+un mediu pentru produc"ie în mas'% unde e6ist' mul"i utili&atori% cerin"e stricte de inte#ritate a datelor (i nevoia de o performan"' !un'$
Pagina 2 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

A$2 Date (i documente Cel mai important factor în ale#erea unei !a&e de date este ce va stoca aceastaF date sau documente$ XML+ul poate fi folosit doar pentru a transporta date între !a&a de date (i o aplica"ie sau poate fi folosit inte#ral ca în ca&ul documentelor XRTML (i Doc4ooN$ )copul utili&'rii XML este important deoarece toate documentele centrate pe date au anumite caracteristici comune% la fel se înt*mpla (i în ca&ul informa"iilor centrate pe documente% (i aceste caracteristici influen"ea&' felul cum XML+ul este stocat în !a&a de date$ A$2$3 Documente centrate pe date Documentele centrate pe date sunt documente care folosesc XML+ul pentru transportul datelor$ -ceste documente sunt folosite de c'tre aplica"ii (i nu are nici o importan"' faptul c' informa"iile folosite au fost re"inute pentru o perioad' de timp în documente XML$ E6emple de documente centrate pe date sunt ordine de plat'% pro#ramarea &!orurilor% date (tiin"ifice$ Documente centrate pe date au o structur' re#ulat'% datele sunt atomice .cea mai mic' unitate independenta de date este un element sau un atri!ut/$ Ordinea elementelor care apar în document nu este important'% dec*t în momentul valid'rii documentului$ Informa"iile care e6ist' în documentele centrate pe date pot proveni din !a&a de date .ca& în care se dore(te e6tra#erea lor în fi(iere XML/% dar (i din afara !a&ei de date .ca& în care se dore(te stocarea acestora în !a&a de date/$ Un e6emplu de informa"ii care provin dintr+ o !a&' de date sunt cantit'"ile de date stocare în !a&ele de date rela"ionale% iar un e6emplu de informa"ii care se doresc a fi introduse într+o !a&' de date pot fi considerate datele (tiin"ifice o!"inute de un sistem de m'sur'tori (i convertite în XML$ De e6emplu urm'torul ordin de v*n&are este un document centrat pe dateF YOrdin5an&ari NumarO5Z[32ABC[\ YClient NumarClientZ[CBA[\ YNumeClient\-4C IndustriesYMNumeClient\ Y)trada\32A Main )t$YM)trada\ YOras\C ica#oYMOras\ Y)tat\ILYM)tat\ YCod0ostal\DIDIHYMCod0ostal\ YMClient\ YDataOrdin\HG323CYMDataOrdin\ YItem NumarItemZ[3[\
Pagina 2! din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Y0arte Numar0arteZ[32A[\ YDescriere\ Yp\Y!\C eie re#la!ilaFYM!\Y!r M\ Rotel ino6ida!il% 1arantie pe viata$YMp\ YMDescriere\ Y0ret\H$HCYM0ret\ YM0arte\ YCantitate\3IYMCantitate\ YMItem\ YItem NumarItemZ[2[\ Y0arte Numar0arteZ[BCD[\ YDescriere\ Yp\Y!\)eparatorFY!\Y!r M\ -luminiu% un an #arantie$YMp\ YMDescriere\ Y0ret\3A$2EYM0ret\ YM0arte\ YCantitate\CYMCantitate\ YMItem\ YMOrdin5an&ari\ 0e l*n#' documentele centrate pe date cu structura asem'n'toare cu documentul din e6emplul anterior% multe documente care con"in (i te6t adi"ional sunt centrate pe date$ )pre e6emplu s' consider'm o pa#in' :e! care con"ine informa"ii despre o carte$ De(i pa#ina con"ine în mare parte te6t% structura acelui te6t este re#ulat'% (i o parte din acel te6t este comun' tuturor pa#inilor care descriu c'r"i% fiecare por"iune de te6t specific av*nd dimensiuni limitate$ -stfel pa#ina ar putea fi construit' dintr+un document XML simplu% centrat pe date care con"ine informa"ii despre o sin#ur' carte (i este o!"inut dintr+o !a&' de date (i un stLles eet X)L care adau#' te6tul care lea#' informa"iile din XML$ Jn #eneral orice site :e! care construie(te documente RTML dinamic prin completarea unui template cu informa"ii dintr+o !a&' de date poate fi înlocuit cu mai multe documente XML centrate pe date (i unul sau mai multe stLles eet+uri X)L$ De e6emplu% s' consider'm urm'torul document care descrie un &!orF
Pagina 2" din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

YInfoO!or\ YLinie-eriana\-4C -ir:aLsYMLinie-eriana\ ofera YNumar\treiYMNumar\ &!oruri &ilnice non+stop din YOri#ine\DallasYMOri#ine\ spre YDestinatie\Fort =ort YMDestinatie\$ Orele de plecare sunt Y0lecare\IHF3CYM0lecare\% Y0lecare\33F3CYM0lecare\% and Y0lecare\3AF3CYM0lecare\$ )osirile sunt cateva minute mai tar&iu$ YMInfoO!or\ -cesta ar putea fi construit dintr+un fi(ier XML (i un stLles eet simpluF YO!oruri\ YLinie-eriana\-4C -ir:aLsYMLinie-eriana\ YOri#ine\DallasYMOri#ine\ YDestinatie\Fort =ort YMDestinatie\ YO!or\ Y0lecare\IHF3CYM0lecare\ Y)osire\IHF3DYM)osire\ YMO!or\ YO!or\ Y0lecare\33F3CYM0lecare\ Y)osire\33F3DYM)osire\ YMO!or\ YO!or\ Y0lecare\3AF3CYM0lecare\ Y)osire\3AF3DYM)osire\ YMO!or\ YMO!oruri\ A$2$2 Informa"ii centrate pe documente Documentele care folosesc vi&iunea centrat' pe documente sunt% de o!icei% acele documente care sunt destinate folosirii de c'tre utili&atori$ E6emple de astfel de documente sunt c'r"ile% email% anun"uri pu!licitare (i aproape orice document XRTML scris de m*n'$ -cestea sunt caracteri&ate de o structur' mai pu"in re#ulat'% datele nu sunt atomice .cea mai mic' unitate independent' de informa"ie poate fi format' dintr+un element îm!inat cu alte informa"ii din document/$ Ordinea elementelor care apar în document este aproape întotdeauna important'$
Pagina 2# din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

-ceste tipuri de documente sunt de o!icei scrise manual în XML sau în alte formate cum ar fi RTF% 0DF sau )1ML (i apoi sunt transformate în XML$ )pre deose!ire de documentele centrate pe date aceste documente nu pot proveni din !a&e de date$ )pre e6emplu urm'torul document ce con"ine descrierea unui produs este centrat pe documenteF Y0rodus\ YIntro\ YNume0rodus\C eie re#la!ilaYMNume0rodus\ de la Y0roducator\Full Fa!rication La!s%Inc$YM0roducator\esteY)umar\ca o c eie universala% dar mai mica$YM)umar\ YMIntro\ YDescriere\ Y0ara#raf\C eia universala% care are Yi\ doua versiuni stan#a si dreapta YMi\% este confectionata din Y!\cel mai fin otel ino6ida!il YM!\$ Manerul cauciucat se adaptea&a la mainile dumneavoastra c iar si in cele mai aluneacoase situatii$ )e poate re#la prin mai multe discuri$YM0ara#raf\ Y0ara#raf\0utetiFYM0ara#raf\ YLista\ YItem\YLinN URLZ[Comanda$ tml[\comanda propria dumneavoastra c eie re#la!ila YMLinN\YMItem\ YItem\YLinN URLZ[=renc es$ tm[\Cititi mai multe despre c eiYMLinN\YMItem\ YItem\YLinN URLZ[Catalo#$&ip[\Descarcati catalo#ulYMLinN\YMItem\ YMLista\ Y0ara#raf\C eia re#la!ila costa Y!\doar BB$HI RONYM!\ si% daca veti comanda acum% veti primi un Y!\ciocanYM!\ cadou$YM0ara\ YMDescriere\ YM0rodus\ A$2$A Date% documente (i !a&e de date Jn realitate diferen"a dintre documentele centrate pe date (i cele centrate pe documente nu este întotdeauna clar'$ -stfel de documente sunt cele le#ale sau medicale% care sunt scrise
Pagina 27 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

ca te6t dar con"in (i por"iuni de date cum ar fi nume% date% proceduri (i de multe ori tre!uiesc stocate în între#ime din cau&e le#ale$ Cu toate acestea clasificarea documentelor ca fiind centrate pe date sau pe documente poate determina tipul !a&ei de date necesare stoc'rii informa"iilor din aceste documente$ De o!icei datele sunt stocate într+o !a&' de date tradi"ional' cum sunt cele rela"ionale sau orientate+o!iect$ Documentele sunt stocate într+o !a&' de date nativ' XML .o !a&' de date destinat' stoc'rii XML/ sau un sistem de #estionare a con"inuturilor .content mana#ement sLstem/ 7 o aplica"ie destinat' administr'rii documentelor (i construit' peste o !a&' de date nativ' XML$ Totu(i aceste re#uli nu sunt stricte$ Datele 7 în special datele semistructurate 7 pot fi stocate în !a&e de date native XML (i documentele pot fi stocate în !a&e de date tradi"ionale atunci c*nd nu sunt necesare foarte multe caracteristici specifice XML$ Jn plus% #rani"ele dintre !a&ele de date tradi"ionale (i cele native XML devin din ce în ce mai neclare% deoarece la !a&ele de date tradi"ionale se adau#' facilita"i native XML (i !a&ele de date native XML suport' stocarea fra#mentelor de documente în !a&e de date% de o!icei rela"ionale% e6terne$ A$A )tocarea (i recuperarea datelor 0entru transferarea datelor între documente XML (i o !a&' de date% este necesar' maparea sc emei documentului XML .DTD% )c eme XML% REL-X N1% etc$/ pe sc ema !a&ei de date$ )oft:are+ul pentru transferul de date este construit peste aceast' mapare$ )oft:are+ul poate folosi un lim!a, de intero#are XML .cum ar fi X0at % X>uerL/ sau poate transfera direct date conform cu maparea .ec ivalentul în XML al intero#'rii )ELECT _ FROM Ta!el'/$ Jn al doilea ca&% structura documentului (i structura necesar' pentru mapare tre!uie s' fie identice$ Deoarece acest lucru se înt*mpl' destul de rar% produsele care folosesc aceast' strate#ie sunt adesea folosite împreun' cu X)LT$ -stfel% înainte de transferarea datelor în !a&a de date% documentul este înt*i adus la structura necesar' map'rii (i apoi datele sunt transferate$ )imilar dup' transferarea datelor din !a&a de date% documentul o!"inut este adus la structura folosit' de c'tre aplica"ie$ A$A$3 Maparea sc emelor documentelor pe sc emele !a&elor de date Map'rile între sc emele documentelor (i sc emele !a&elor de date sunt efectuate pe tipurile elementelor% atri!ute% (i te6t$ -proape întotdeauna se omit structurile fi&ice .cum ar fi entit'"ile (i informa"ia codificat'/ (i unele structuri lo#ice .cum ar fi instruc"iunile de procesare% comentariile/$ -ceste omiteri nu au o influen"' prea mare% deoarece !a&a de date (i aplica"ia sunt interesate numai de datele din documentul XML$
Pagina 2$ din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

O consecin"' a acestor transform'ri 7 adic' stocarea datelor dintr+un document într+o !a&' de date (i apoi reconstruirea documentului din datele e6istente în !a&a de date 7 este o!"inerea unui document diferit$ Dac' acest lucru este accepta!il depinde de cerin"ele fiec'rui proiect (i poate influen"a ale#erea softului$ De o!icei sunt folosite dou' metode pentru a mapa sc ema unui document XML pe sc ema unei !a&e de dateF maparea !a&at' pe ta!ele (i maparea o!iectual+rela"ional'$ A$A$3$3 Maparea !a&at' pe ta!ele Maparea !a&at' pe ta!ele este folosit' de multe produse care efectuea&' transferul de date între un document XML (i o !a&' de date rela"ional'$ -ceasta modelea&' un document XML ca o sin#ur' ta!el' sau ca un set de ta!ele$ )tructura documentului XML este ar'tat' în e6emplul urm'tor$ Y!a&adedate\ Yta!ela\ Ylinie\ Ycoloana3\$$$YMcoloana3\ Ycoloana2\$$$YMcoloana2\ YMlinie\ Ylinie\ YMlinie\ YMta!ela\ Yta!ela\ YMta!ela\ YM!a&adedate\ Jn func"ie de soft:are datele din coloane pot fi stocate ca elemente descendente sau ca atri!ute$ Jn plus% produsele care folosesc map'ri !a&ate pe ta!ele de multe ori includ metadate fie la începutul documentului fie ca atri!ute asociate fiec'rui element din ta!el' sau coloan'$

Pagina 29 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Maparea !a&at' pe ta!ele este utili&at' pentru seriali&area datelor rela"ionale% ca în ca&ul transfer'rii datelor între dou' !a&e de date rela"ionale$ De&avanta,ul acestei map'ri este c' nu poate fi folosit' pentru un document XML care nu respect' formatul din e6emplu$ A$A$3$2 Maparea o!iectual+rela"ional' Maparea o!iectual+rela"ional' este folosit' de c'tre toate !a&ele de date rela"ionale care suport' XML (i anumite produse middle:are$ -ceasta modelea&' datele din documentul XML ca un ar!ore de o!iecte care sunt specifice datelor din document$ Jn acest model% tipurile de elemente cu atri!ute sunt în #eneral modelate în clase$ Tipurile de elemente simple% atri!utele% (i 0CD-T- sunt modelate ca propriet'"i scalare$ Modelul este apoi mapat pe !a&ele de date rela"ionale folosind te nici de mapare o!iectual+rela"ionale tradi"ionale$ -stfel clasele sunt mapate pe ta!ele% propriet'"ile scalare pe coloane% (i propriet'"ile cu valori o!iect sunt mapate pe perec i de c ei primareMc ei str'ine$ Denumirea de 8mapare o!iectual+rela"ional'9 este de fapt un termen impropriu% deoarece ar!orele de o!iecte poate fi mapat direct pe !a&e de date orientate o!iect (i ierar i&ate$ Totu(i este folosit pentru c' ma,oritatea produselor care folosesc aceast' mapare folosesc !a&e de date rela"ionale (i acest termen este !ine cunoscut$ Este important' în"ele#erea faptului c' modelul o!iectual din aceast' mapare nu este modelul DOM .Document O!,ect Model/$ DOM+ul modelea&' c iar documentul (i este acela(i pentru toate documentele XML% în timp ce modelul descris mai sus modelea&' datele din document (i este diferit pentru fiecare set de documente XML care corespund unei sc eme XML de date$ De e6emplu ordinul de v*n&'ri din sec"iunea A$2$3 ar putea fi modelat ca un ar!ore de o!iecte format din B clase 7 Ordine5*n&'ri% Client% Item% (i 0arte 7 a(a cum se arat' în dia#rama de mai ,osF Ordine5*n&'ri M`a Client Item Item `` 0arte 0arte Dac' ar tre!ui s' construim un ar!ore DOM din acela(i document% acesta ar fi compus din o!iecte cum ar fi Element% -tri!ut (i Te6t$

Pagina % din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Element ++++++ -tri!ut .Ordine5*n&'ri/ .Num'r O5/ bbbbbbbbbM M a abbbbb MMaa Element Te6t Element Element .Client/ .Data ordinului/ .Item/ .Item/ ``` etc$ etc$ etc$ Instan"ierea o!iectelor din model depinde de produsul folosit$ Unele produse dau posi!ilitatea #ener'rii claselor în model (i apoi folosirea o!iectelor din aceste clase în aplica"ii$ Jn ca&ul folosirii acestor produse% datele sunt transferate între documentul XML (i aceste o!iecte% (i între aceste o!iecte (i !a&a de date$ -lte produse folosesc aceste o!iecte numai pentru a vi&uali&a maparea (i transferul de date direct între documentul XML (i !a&a de date$ Felul în care maparea o!iectual+rela"ional' este suportat' varia&' de la produs la produs$ De e6empluF Toate produsele suport' maparea tipurilor comple6e de elemente pe clase (i a tipurilor simple de elemente (i atri!ute pe propriet'"i$ Toate produsele dau posi!ilitatea desemn'rii unui element r'd'cin' care nu este mapat pe modelul o!iect sau pe !a&a de date$ -cest element este folositor atunci c*nd se dore(te stocarea o!iectelor cu mai multe nivele în acela(i document XML$ Ma,oritatea produselor ofer' posi!ilitatea specific'rii dac' propriet'"ile sunt mapate pe atri!ute sau pe elemente descendente în documentul XML$ Unele produse permit com!inarea atri!utelor cu elementele descendenteQ altele cer folosirea numai a elementelor descendente sau a atri!utelor$ Ma,oritatea produselor permit folosirea numelor diferite în documentul XML (i !a&a de date% dar sunt anumite produse care necesit' folosirea acelora(i nume at*t în documentul XML c*t (i în !a&a de date$ Ma,oritatea produselor permit specificarea ordinii în care elementele descendente apar în p'rintele lor% dar care face imposi!il' construirea mai multor modele pentru con"inut$ Din fericire% modelele pentru con"inut suportate sunt suficiente pentru ma,oritatea documentelor centrate pe date .ordinea este important' numai dac' se face validarea documentului/$ A$A$2 Lim!a,e de intero#are
Pagina 1 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Multe produse transfer' date direct conform cu modelul pe care sunt construite$ Deoarece structura documentului XML este de o!icei diferit' de structura !a&ei de date% aceste produse deseori con"in sau sunt folosite cu X)LT$ -cesta d' posi!ilitatea utili&atorilor s' transforme documente la structura modelului înaintea transfer'rii datelor în !a&a de date% (i invers$ Deoarece procesarea X)LT poate fi scump'% unele produse con"in un num'r limitat de transform'ri în map'rile lor$ )olu"ia pe termen lun# la aceast' pro!lem' este implementarea unor lim!a,e de intero#are care returnea&' XML$ Jn pre&ent cele mai multe asemenea lim!a,e se !a&ea&' pe fra&e )ELECT inte#rate în (a!loane$ )e presupune c' aceast' situa"ie se va sc im!a atunci c*nd X>uerL (i )>LMXML vor fi finali&ate% acestea afl*ndu+se în lucru$ -proape toate lim!a,ele de intero#are XML sunt deocamdat' read+onlL% deci vor fi necesare metode diferite pentru inserarea% actuali&area (i (ter#erea datelor .în viitor aceste facilita"i vor fi ad'u#ate/$ A$A$2$3 Lim!a,e de intero#are !a&ate pe (a!loane Cele mai des înt*lnite lim!a,e de intero#are care returnea&' XML din !a&e de date rela"ionale sunt cele !a&ate pe (a!loane$ Jn aceste lim!a,e% nu e6ist' o mapare predefinit' între document (i !a&a de date$ Fra&ele )ELECT sunt inte#rate într+un (a!lon (i re&ultatele sunt procesate de c'tre soft:are+ul care transfera date$ De e6emplu% urm'torul template folose(te elementele Y)elect)tmt\ pentru a include fra&e )ELECT (i numele coloanelor pentru a determina unde tre!uiesc plasate re&ultateleF YK6ml versionZ[3$I[K\ YInfoO!or\ YIntroducere\ Urmatoarele &!oruri sunt diponi!ileFYMIntroduction\ Y)elect)tmt\)ELECT -irline% FltNum!er% Depart% -rrive FROM Fli# tsYM)elect)tmt\ YO!or\ YLinie-eriana\c-irlineYMLinie-eriana\ YNumarFlt\cFltNum!erYMNumarFlt\ Y0lecare\cDepartYM0lecare\ Y)osire\c-rriveYM)osire\ YMO!or\ YConclu&ie\)peram ca unul dintre ele va este de folosYMConclu&ie\ YMInfoO!or\

Pagina 2 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Re&ultatul proces'rii unui asemenea (a!lon ar putea fiF YK6ml versionZ[3$I[K\ YInfoO!or\ YIntroducere\ Urmatoarele &!oruri sunt diponi!ileFYMIntroduction\ YO!oruri\ YO!or\ YLinie-eriana\-CMEYMLinie-eriana\ YNumarFlt\32AYMNumarFlt\ Y0lecare\Dec 32% 3HHG 3AFBAYM0lecare\ Y)osire\Dec 3A% 3HHG I3F23YM)osire\ YMO!or\ YMO!oruri\ YConclu&ie\)peram ca unul dintre ele va este de folosYMConclu&ie\ YMInfoO!or\ Lim!a,ele de intero#are !a&ate pe (a!loane pot fi foarte fle6i!ile$ De(i setul de caracteristici varia&' de la un produs la altul% e6ist' unele caracteristici comuneF -!ilitatea de a plasa seturi de re&ultate oriunde în documentul de ie(ire% inclu&*nd ca parametrii (i fra&ele )ELECT $ Construc"ii cum ar fi cicluri FOR (i instruc"iuni IF$ Definiri de varia!ile (i func"ii 0arametri&area fra&elor )ELECT prin intermediul parametrilor RTT0$ Lim!a,ele de intero#are !a&ate pe (a!loane sunt folosite aproape e6clusiv pentru a transfera date din !a&e de date rela"ionale în documente XML$ De(i unele produse care folosesc lim!a,e de intero#are !a&ate pe (a!loane pot transfera date din documente XML în !a&e de date rela"ionale% ele nu folosesc (a!loanele numai pentru acest lucru$ Jn sc im! ele folosesc o mapare !a&at' pe ta!ele% a(a cum este descris' anterior$ A$A$2$2 Lim!a,e de intero#are !a&ate pe )>L Lim!a,ele de intero#are !a&ate pe )>L folosesc fra&e )ELECT modificate% iar re&ultatele sunt transformate în XML$ E6ist' c*teva lim!a,e particulare de acest tip (i cel mai simplu dintre acestea folose(te fra&e )>L im!ricate .nested/% care sunt transformate direct în XML im!ricat .nested/ conform cu maparea rela"ional+o!iectual'$ Un alt lim!a, de acest tip
Pagina din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

folose(te o!iecte )>L A% de asemenea transformate direct în XML$ Un alt lim!a, folose(te fra&e OUTER UNION (i marca,e speciale pentru a determina cum sunt transformate re&ultatele în XML$ Jn plus fa"a de lim!a,ele particulare% un num'r de companii s+au reunit în 2III pentru a standardi&a e6tensiile XML la )>L$ Re&ultatele lor fac parte acum din specifica"ia I)O )>L (i este cunoscut' ca )>LMXML$ )>LMXML introduce un tip de date XML (i adau#' un num'r de func"ii la )>L% a(a c' este posi!il' construirea elementelor XML (i a atri!utelor din date rela"ionale$ De e6emplu% urm'toarea intero#areF )ELECT Orders$)ONum!er% XMLELEMENT.N-ME [Order[% XML-TTRI4UTE).Orders$)ONum!er -) )ONum!er/% XMLELEMENT.N-ME [Date[% Orders$Date/% XMLELEMENT.N-ME [Customer[% Orders$Customer// -) 6mldocument FROM Orders construie(te un set de re&ultate cu dou' coloane$ 0rima coloan' con"ine num'rul ordinului de v*n&'ri (i a doua coloan' con"ine un document XML$ E6ist' un document XML pe fiecare linie% construit din datele din linia corespun&'toare în ta!elul de comen&i$ De e6emplu documentul pentru linia pentru ordinul de v*n&are 32A ar putea fiF YOrdin NumarO5Z[32A[\ YData\IBM2HMIEYMData\ YClient\1alla# er IndustriesYMClient\ YMOrdin\ A$A$2$A Lim!a,e de intero#are XML )pre deose!ire de lim!a,ele de intero#are !a&ate pe (a!loane sau !a&ate pe )>L% care pot fi folosite numai cu !a&e de date rela"ionale% lim!a,ele de intero#are XML pot fi folosite pentru orice document XML$ 0entru a folosi acest tip de lim!a,e cu !a&e de date rela"ionale% datele din !a&a de date tre!uie s' fie modelate ca XML$ Cu X>uerL% poate fi folosit' fie maparea !a&at' pe ta!ele fie maparea o!iectual rela"ional'$ Dac' este folosit' o mapare !a&at' pe ta!ele% fiecare ta!el' este tratat' ca un document separat (i în fiecare intero#are sunt specificate uniri între ta!ele% ca în )>L$ Dac' este folosit' o mapare o!iectual+rela"ional' atunci ierar iile de ta!ele sunt tratate ca un sin#ur document (i sunt specificate uniri în mapare$ )e preconi&ea&' c' map'rile !a&ate pe ta!ele
Pagina ! din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

vor fi utili&ate în ma,oritatea implement'rilor% în detrimentul !a&elor de date rela"ionale% deoarece se consider' c' sunt mai u(or de implementat (i mai !ine cunoscute de utili&atorii )>L$ Cu X0at % o mapare o!iectual+rela"ional' tre!uie s' fie folosit' pentru a e6ecuta intero#'ri peste mai multe ta!ele$ -ceasta se înt*mpl' deoarece X0at nu suport' unirile între documente$ -stfel% dac' ar fi folosit' o mapare !a&at' pe ta!ele% ar fi posi!il' intero#area unei sin#ure ta!ele la un moment dat$ A$A$A )tocarea datelor în !a&e de date native XML De asemenea este posi!il' stocarea datelor în documente XML într+o !a&' de date nativ' XML$ -cest lucru se face din mai multe motive$ 0rimul ar fi acela c*nd datele sunt semistructurate% adic' acestea au o structur' re#ulat'% dar acea structur' varia&' destul înc*t maparea ei la o !a&' de date rela"ional' duce fie la un num'r mare de coloane cu valori nule .care ocup' spa"iu inutil/% fie la un num'r mare de ta!ele .care este ineficient/$ De(i datele semistructurate pot fi stocate în !a&e de date ierar i&ate orientate+o!iect% se poate ale#e stocarea lor într+o !a&' de date nativ' XML su! forma unui document XML$ -l doilea motiv pentru stocarea datelor într+o !a&' de date nativ' XML este vite&a de recuperare a datelor$ Jn func"ie de cum sunt stocate datele în !a&a de date nativ' XML% ar putea fi posi!il' recuperarea datelor mult mai repede dec*t într+o !a&' de date rela"ional'$ -cest lucru se poate înt*mpla deoarece unele strate#ii de stocare folosite de c'tre !a&ele de date native XML re"in fi&ic documente între#i sau folosesc pointeri fi&ici .(i nu lo#ici/ între p'r"ile documentelor$ -cestea permit ca documentele s' fie recuperate fie f'r' uniri fie folosind uniri fi&ice% am!ele fiind mai rapide dec*t unirile lo#ice folosite în !a&ele de date rela"ionale$ De e6emplu se consider' ordinul de v*n&are pre&entat mai sus$ Jntr+o !a&' de date rela"ional'% acesta ar fi stocat în patru ta!ele 7 Ordine5*n&'ri% Itemi% Clien"i% (i 0arte 7 (i recuperarea documentului ar necesita uniri între aceste ta!ele$ Jntr+o !a&' de date nativ' XML% între# documentul ar putea fi stocat într+o sin#ur' loca"ie pe disc% a(a c' recuperarea lui sau a unui fra#ment din el necesit' o sin#ur' c'utare inde6at' (i o sin#ur' citire pentru recuperarea datelor$ O !a&' de date rela"ional' necesit' patru c'ut'ri inde6ate (i cel pu"in patru citiri pentru a recupera datele$ De&avanta,ul în acest ca& este acela c' vite&a de recuperare este mare numai atunci c*nd datele din comand' sunt stocate pe disc$ Dac' se dore(te recuperarea altor date% cum ar fi o list' a clien"ilor (i ordinele de v*n&are ale lor% atunci performanta va fi mai sla!' dec*t într+o !a&' de date rela"ional'$ -stfel% stocarea datelor într+o !a&' de date nativ' XML se
Pagina " din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

recomand' din motive de performan"a atunci c*nd predomin' o sin#ur' vedere asupra datelor$ -l treilea motiv pentru stocarea datelor într+o !a&' de date nativ' XML este e6ploatarea capacit'"ilor specifice XML% cum ar fi e6ecutarea intero#'rilor XML$ Deoarece relativ pu"ine aplica"ii centrate pe date au nevoie de acestea (i !a&ele de date rela"ionale implementea&' lim!a,e de intero#are XML% acest motiv nu este foarte important$ O pro!lem' cu stocarea datelor într+o !a&' de date nativ' XML este c' ma,oritatea acestor !a&e de date pot returna datele numai ca XML$ .0u"ine !a&e de date suport' le#area elementelor sau atri!utelor de varia!ilele dintr+o aplica"ie$/ Dac' o aplica"ie are nevoie de date într+un alt format .ceea ce este posi!il/% aceasta tre!uie s' anali&e&e XML+ul înainte de a folosi datele$ -cesta este un de&avanta, pentru aplica"iile locale care folosesc o !a&' de date nativ' XML în locul unei !a&e de date rela"ionale$ A$A$B Tipuri de date% valori nule% seturi de caractere -ceast' sec"iune se ocup' de anumite pro!leme le#ate de stocarea datelor din documente XML în !a&e de date tradi"ionale$ 0ro!lemele le#ate de tipurile de date (i datele !inare apar (i în ca&ul stoc'rii datelor în !a&e de date native XML$ Jn #eneral utili&atorul nu poate ale#e modalitatea în care sotf+ul care transfer' datele re&olv' aceste pro!leme% dar atunci c*nd se ale#e un anumit soft tre!uie "inut cont de faptul c' aceste pro!leme e6ist'$

A$A$B$3 Tipuri de date XML nu suport' prea multe tipuri de date$ Cu e6cep"ia entit'"ilor neanali&ate% toate datele dintr+un document XML sunt te6t% c iar dac' repre&int' alt tip de date% cum ar fi datele calendaristice sau inte#er$ Jn #eneral soft+ul de transfer date va transforma te6tul .din documentul XML/ în alte tipuri de date .în !a&a de date/ (i invers$ )oftul determin' ce conversii sunt necesare (i e6ist' dou' metode pentru efectuarea acestora$ 0rima metod' const' în determinarea de c'tre soft:are a tipurilor de date din sc ema !a&ei de date% deoarece aceasta este accesi!il' la rulare$ .)c ema XML nu este neap'rat accesi!il' la rulare sau s+ar putea sa nu e6iste$/ Jn a doua metod' utili&atorul specific' tipul de date$ -cesta poate fi scris de c'tre utili&ator sau #enerat automat dintr+o sc em' a unei !a&e de date sau dintr+o sc em' XML$ -tunci c*nd sunt #enerate automat% tipurile de date pot fi recuperate din sc emele !a&elor de date (i din anumite tipuri de sc eme XML$

Pagina # din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Formatele de te6t recunoscute în momentul conversiilor pot constitui o pro!lem' atunci c*nd se transfer' date din XML% la fel (i formatele care se pot crea atunci c*nd se transfer' date c'tre XML$ Jn cele mai multe ca&uri% num'rul de formate de te6t care sunt suportate de un tip de dat' este limitat la unul anume sau la cele suportate de driverul WD4C$ Datele pot cau&a multe pro!leme pentru c' #ama de formate posi!ile este foarte mare% iar numerele cu diferitele lor formate interna"ionale pot cau&a de asemenea pro!leme$ A$A$B$2 Date !inare Datele !inare se pot stoca în documente XML în trei feluriF codificare 4aseDB .o codificare MIME care mapea&' datele !inare pe un su!set al U)+-)CII ?I+H% a+&% -+O%d%M@/% codificarea e6a&ecimal' .fiecare octet !inar este codificat cu dou' caractere repre&ent*nd cifre e6a&ecimale ?I+H%a+f%-+F@/% (i entit'"i neanali&ate .datele !inare sunt stocate într+o entitate fi&ic' separat' de restul documentului XML/$ Cea mai mare pro!lem' cu datele !inare este c' multe dintre produsele care transfer' date nu suport' acest tip de date$ O pro!lem' secundar' apare dac' sunt folosite entit'"i neanali&ate (i const' în faptul c' ma,oritatea produselor nu stoc ea&' nota"ii (i declara"ii de entit'"i$ -stfel% nota"ia asociat' cu o anumit' entitate va fi pierdut' atunci c*nd datele sunt transferate dintr+un document XML într+o !a&' de date$

A$A$B$A Date vide Jn domeniul !a&elor de date% date vide sunt numite datele care nu e6ist'$ -cestea sunt foarte diferite de valoarea I .pentru numere/% sau lun#imea &ero .pentru un strin#/$ De e6emplu% se ia în considerare o colec"ie de date de la o sta"ie meteo$ Dac' termometrul nu func"ionea&'% în !a&a de date este stocat' o valoare nul' (i nu valoarea &ero% care ar însemna cu totul altceva$ XML suport' de asemenea conceptul de date vide prin tipuri de elemente (i atri!ute op"ionale$ Dac' valoarea unui tip sau atri!ut op"ional este nul' acesta nu este inclus în document$ Jn ca&ul !a&elor de date% atri!utele care con"in (iruri de caractere cu lun#imea &ero sau elemente nule nu sunt vide% valoarea lor este un (ir cu lun#imea &ero$ La maparea structurii unui document XML la !a&a de date (i invers% tipurile de date (i atri!utele op"ionale sunt mapate ca (i coloane vide$ Dac' nu se procedea&' în acest mod s+ar putea inserarea o eroare .atunci c*nd se transfer' date în !a&a de date/% sau la un document invalid .atunci c*nd se transfer' date din !a&a de date/$
Pagina 7 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

A$A$B$B )eturi de caractere Un document XML poate con"ine orice caracter Unicode cu e6cep"ia unor caractere de control$ Din nefericire% multe !a&e de date ofer' suport limitat sau nu ofer' suport deloc pentru Unicode (i necesit' o confi#ura"ie special' pentru caracterele non+-)CII$ A$A$B$C Instruc"iuni de procesare (i comentarii Instruc"iunile de procesare (i comentariile nu fac parte din datele dintr+un document XML (i ma,oritatea soft+urilor de transfer de date nu le pot manipula$ Totu(i ele pot ap'rea aproape oriunde într+un document XML (i de aceea nu se inte#rea&' u(or în map'rile !a&ate pe ta!ele (i cele o!iectual rela"ionale$ O solu"ie total ineficient' într+o !a&' de date rela"ional' este ad'u#area unor ta!ele pentru instruc"iuni de procesare (i comentarii% ad'u#area de c ei str'ine la aceste ta!ele pentru toate celelalte ta!ele% (i verificarea acestor ta!ele de fiecare data c*nd se procesea&' o alt' ta!el'$ -stfel ma,oritatea soft+urilor de transfer de date le înl'tur'$ A$A$B$D )tocarea marca,elor Jn anumite situa"ii este indicat' stocarea elementelor cu con"inut mi6t în !a&a de date f'r' a se efectua anali&a complet'$ C*nd este reali&at acest lucru% marca,ul este reali&at cu caractere de marcare$ Totu(i apare o pro!lem' la stocarea caracterelor de marcare care nu sunt folosite pentru marca,$ Jn fi(ierul XML% acestea sunt stocate folosind entitatile lt% #t% amp% ]uot% (i apos$ -cest lucru poate fi f'cut (i în !a&a de date$ De e6emplu urm'toarea descriereF Ydescriere\ Y!\E6emplu confu&FYM!\ SltQfooMS#tQ YMdescriere\ poate fi stocat' în !a&a de date caF Y!\E6emplu confu&FYM!\ SltQfooMS#tQ Totu(i apare o pro!lem'% lim!a,ele de intero#are non+XML% cum ar fi )>L% nu caut' în coloane marca,e sau folosirea de entit'"i (i le interpretea&' ca atare$ -stfel% dac' se caut' (irul 8YfooM\9 cu )>L% de fapt tre!uie c'utat (irul 8SltQfooMS#tQ9$

Pagina $ din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

0e de alt' parte% dac' referin"ele la entit'"i sunt e6tinse% soft:are+ul de transfer de date nu poate distin#e între marca, (i folosirea entit'"ilor$ De e6emplu% dac' descrierea de mai sus este stocat' în !a&a de date în forma urm'toare% soft+ul nu poate spune dac' Y!\%YM!\% (i YfooM\ sunt marca,e sau te6tF Y!\E6emplu confu&FYM!\ YfooM\ )olu"ia pe termen lun# la aceast' pro!lem' sunt !a&ele de date care recunosc XML% în care marca,ul efectiv e tratat diferit de elementele care doar par a fi marca,$ Dar% pro!a!il vor fi întotdeauna pro!leme atunci c*nd aplica"ii non+XML lucrea&' cu XML$ A$A$C 1enerarea sc emelor XML din sc eme rela"ionale (i invers O între!are care apare frecvent la transferul datelor între documente XML (i !a&e de date este cum se #enerea&' sc eme XML din sc eme ale !a&elor de date (i invers$ Jnainte de a e6plica cum se face acest lucru% este !ine de re"inut faptul c' aceasta este o opera"ie desi#n+ time$ Motivul pentru acest lucru este c' ma,oritatea aplica"iilor centrate pe date% (i cele mai multe aplica"ii pe vertical'% lucrea&' cu un set cunoscut de sc eme XML (i sc eme de !a&e de date$ -stfel ele nu tre!uie s' #enere&e sc eme în momentul rul'rii$ Jn plus procedurile pentru #enerarea sc emelor nu sunt perfecte$ -plica"iile care tre!uie s' re"in' documente XML aleatoare într+o !a&' de date ar tre!ui s' foloseasc' o !a&' de date nativ' XML în loc s' #enere&e sc eme la rulare$ Cea mai u(oar' cale de a #enera sc eme rela"ionale din sc eme XML (i invers este de a codifica o cale prin maparea o!iectual rela"ional'% care are un num'r de tr's'turi op"ionale$ O sc em' rela"ional' se #enerea&' dintr+o sc ema XML astfelF 0entru fiecare tip comple6 de elemente tre!uie creat' o ta!el' (i o coloan' c eie primar'$ 0entru fiecare tip de elemente cu con"inut mi6t% tre!uie creat' o ta!el' separat' în care se va stoca 0CD-T-% le#at' de ta!ela p'rinte prin intermediul c eii primare din ta!ela p'rinte$ 0entru fiecare atri!ut cu o sin#ur' valoare a acelui tip de element% (i pentru fiecare element descendent simplu care apare o sin#ur' dat' tre!uie creat' o coloan' în acel ta!el$ Dac' sc ema XML con"ine informa"ia despre tipurile de date% atunci tre!uie setate tipurile de date ale coloanelor la tipul corespun&'tor$ -ltfel% tipurile de date tre!uie setate la un tip predeterminat% cum ar fi CLO4 sau 5-RCR-R.2CC/$ Dac' tipul elementelor descendente sau al atri!utelor este op"ional coloana tre!uie s' ai!' posi!ilitatea de a fi setat' nul'$

Pagina 9 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

0entru fiecare atri!ut cu mai multe valori (i pentru fiecare element descendent simplu care apare de mai multe ori tre!uie creat' o ta!el' separat' pentru a stoca valorile% le#at' de ta!ela p'rinte prin intermediul c eii primare din ta!ela p'rinte$ 0entru fiecare element descendent comple6% tre!uie le#at' ta!ela tipului elementului p'rinte de ta!ela tipului elementului descendent prin intermediul c eii primare din ta!ela p'rinte$ O sc ema XML se #enerea&' dintr+o sc em' rela"ional' astfelF 0entru fiecare ta!el' se #enerea&' un tip de element 0entru fiecare coloan' care nu este c eie în acea ta!el'% dar (i pentru coloanele c ei primare% se adau#' la model un atri!ut la tipul elementului sau un element descendent ce con"ine numai 0CD-T-$ La fiecare ta!el' pentru care c eia primar' este e6portat'% se adau#' un element descendent la model (i se procesea&' ta!ela recursiv$ 0entru fiecare c eie str'ina% se adau#' un element descendent la model (i se procesea&' ta!ela cu c eie str'in' recursiv$ E6ist' c*teva de&avanta,e la aceste procedee$ Multe dintre acestea se pot corecta u(or de c'tre pro#ramator% cum ar fi coli&iuni de nume (i specificarea lun#imilor (i tipurilor de date ale coloanelor$ DTD+urile nu con"in informa"ii despre tipurile de date% deci nu este posi!il' cunoa(terea tipurilor de date care ar tre!ui folosite în !a&a de date$ Tipurile de date (i lun#imile pot fi prev'&ute dintr+o sc em' XML$ O pro!lem' mai important' este aceea c' modelul de date folosit de documentul XML este adesea diferit (i de o!icei mai comple6 dec*t cel mai eficient model pentru stocarea datelor în !a&a de date$ De e6emplu% se consider' urm'torul fra#ment XMLF YClient\ YNume\-4C IndustriesYMNume\ Y-dresa\ Y)trada\32A Main )t$YM)trada\ YOras\FoovilleYMOras\ Y)tat\C-YM)tat\ YTara\U)-YMTara\ YCod0ostal\HCIB3YMCod0ostal\ YM-dresa\ YMClient\

Pagina !% din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

0rocedura pentru #enerarea unei sc eme rela"ionale dintr+o sc em' XML ar crea dou' ta!eleF una pentru clien"i (i una pentru adrese$ Totu(i în ma,oritatea ca&urilor ar fi mai !ine s' se re"in' adresa în ta!ela de clien"i% (i nu într+o ta!el' separat'$ Elementul Y-dresa\ este un !un e6emplu pentru un element :rapper$ Elementele :rapper sunt în #eneral folosite din dou' motive$ Jn primul r*nd% ele ofer' structuri adi"ionale ceea ce face documentul mai u(or de în"eles$ Jn al doilea r*nd% ele sunt de o!icei folosite ca o form' de redactare a datelor$ De e6emplu% elementul Y-dresa\ ar putea fi trimis la o rutin' care transform' toate adresele în o!iecte -dresa% indiferent unde apar acestea$ Daca elementele :rapper sunt folositoare în XML% în #eneral ele cau&ea&' pro!leme atunci c*nd sunt mapate la !a&a de date dac' acestea se #'sesc su! forma e6tra+structurilor$ Din aceast' cau&'% ele ar tre!ui eliminate din sc ema XML înaintea #ener'rii sc emei rela"ionale$ Din moment ce este pu"in pro!a!il c' modificarea sc emei XML ar tre!ui s' fie permanent'% acest lucru duce la o neconcordan"' între documentul e6istent (i documentele presupuse de c'tre soft+ul de transfer de date% din moment ce elementele :rapper nu sunt incluse în mapare$ -cest lucru poate fi re&olvat prin transformarea documentelor la rulare cu X)LTF elementele :rapper sunt eliminate înaintea transfer'rii datelor în !a&a de date (i sunt inserate dup' transferul datelor din !a&a de date$ Cu toate aceste de&avanta,e% procedurile de mai sus ofer' în continuare un punct de pornire folositor pentru #enerarea sc emelor XML din sc eme rela"ionale (i invers% în special în sisteme mari$ A$B )tocarea (i recuperarea documentelor 0entru stocarea documentelor XML e6ist' dou' strate#ii de !a&'F stocarea lor în sistemul de fi(iere sau ca un 4LO4 într+o !a&' de date rela"ional' (i acceptarea func"ionalit'"ilor XML limitate% sau stocarea lor într+o !a&' de date nativ' XML$ A$B$3 )tocarea documentelor în sistemul de fi(iere Dac' se lucrea&' cu un set simplu de documente% cum ar fi un set mic de documenta"ie% cea mai u(oara cale de stocare este în sistemul de fi(iere$ )e pot folosi instrumente cum ar fi 8#rep9 pentru intero#area lor% (i 8sed9 pentru modificarea lor$ C'ut'rile complete de te6t în documentele XML sunt ine6acte% pentru c' ele nu pot distin#e marca,ul de te6t (i nu pot în"ele#e folosirea entit'"ilor$ Totu(i% într+un sistem mic% aceste ine6actit'"i ar putea fi accepta!ile$ Dac' se dore(te un simplu control al tran&ac"iilor% documentele pot fi între"inute cu o versiune de control a sistemului cum ar fi C5) sau RC)$ A$B$2 )tocarea documentelor în 4LO4+uri

Pagina !1 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

O op"iune pu"in mai sofisticat' este stocarea documentelor ca 4LO4+uri într+o !a&' de date rela"ional'$ -ceast' modalitate ofer' un num'r de avanta,e a !a&elor de dateF controlul tran&ac"iilor% securitate% acces multiuser$ Jn plus% multe !a&e de date au instrumente pentru c'ut'ri de te6t (i pot face c'ut'ri complete de te6t% c'ut'ri apro6imative% c'ut'ri sinonime (i c'ut'ri fu&&L$ Unele dintre aceste instrumente sunt construite pentru a recunoa(te XML% ceea ce va elimina pro!lemele care apar la c'ut'rile documentelor XML ca simplu te6t$ -tunci c*nd se stoc ea&' documente XML ca 4LO4+uri% se pot implementa u(or inde6'ri simple care recunosc XML% c iar dac' !a&a de date nu poate inde6a XML$ O modalitate de a face acest lucru este crearea a dou' ta!ele% o ta!el' inde6 (i o ta!el' document$ Ta!ela document con"ine o c eie primar' (i o coloan' 4LO4 în care este re"inut documentul$ Ta!ela inde6 con"ine o coloan' în care se #'se(te valoarea ce va fi inde6at' (i o c eie str'in' care duce la c eia primar' a ta!elei document$ -tunci c*nd documentul este stocat în !a&a de date% el este c'utat pentru toate instan"ele elementului sau atri!utului care este inde6at$ Fiecare instan"a este stocat' în ta!ela inde6% împreuna cu c eia primara a documentului$ Coloana de valori este apoi inde6at'% (i permite unei aplica"ii s' efectue&e o c'utare rapid' a unei anumite valori a unui element sau atri!ut (i s' recupere&e documentul corespun&'tor$ De e6emplu% se consider' un set de documente cu urm'torul DTD (i se dore(te construirea unui inde6 de autoriF YeELEMENT 4rosura .Titlu% -utor% Continut/\ YeELEMENT Titlu .f0CD-T-/\ YeELEMENT -utor .f0CD-T-/\ YeELEMENT Continut .gInlineQ/\ Ye++ Inline entitL from XRTML ++\ -cestea ar putea fi stocate în urm'toarele ta!eleF -utori 4rosuri ++++++++++++++++++++++ +++++++++ -utor 5-RCR-R.CI/ 4rosurID INTE1ER 4rosuraID INTE1ER 4rosura LON15-RCR-R C*nd se inserea&' o !ro(ur' în !a&a de date% aplica"ia inserea&' !ro(ura în ta!ela 4ro(uri% apoi caut' elementele Y-utor\% re"in*nd valorile acestora (i ID+ul !ro(urii din ta!ela -utori$ -plica"ia poate recupera !ro(urile în func"ie de autor cu o simpl' fra&a )ELECT$ De

Pagina !2 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

e6emplu% pentru a recupera toate !ro(urile scrise de autorul 8C en9% aplica"ia e6ecut' urm'toarea intero#areF )ELECT 4rosura FROM 4rosuri =RERE 4rosuraID IN .)ELECT 4rosuraID FROM -utori =RERE -utorZ hC enh/ O ta!el' de indec(i mai sofisticat' ar con"ine patru coloaneF numele atri!utului sau elementului% tipul% valoarea (i ID+ul documentului$ -ceasta ta!el' ar putea stoca valorile marca,elor multiple (i ar tre!ui inde6at' dup' nume% tip% (i valoare$ )crierea unei aplica"ii #enerice )-X pentru a popula o astfel de ta!el' ar fi relativ u(oar'$ A$B$A 4a&e de date native XML Dac' sunt necesare mai multe caracteristici dec*t cele oferite de unul din sistemele de mai sus% tre!uie luat' în considerare o !a&' de date nativ' XML$ 4a&ele de date native XML sunt !a&e de date construite special pentru a stoca documente XML$ Ca (i alte !a&e de date% acestea suport' tran&ac"ii% securitate% acces multiuser% -0I+uri pro#ramatice% lim!a,e de intero#are$ )in#ura diferen"' fa"' de alte !a&e de date este aceea c' modelul lor interior este !a&at pe XML (i nu pe altceva% ca în ca&ul modelului rela"ional$ 4a&ele de date native XML sunt de o!icei folosite pentru a stoca documente centrate pe documente$ 0rincipalul motiv este c' ofer' suport pentru lim!a,e de intero#are XML% care ofer' posi!ilitatea adres'rii unor între!'ri de formaF 8E6tra#e toate documente în care al treilea para#raf de la începutul sec"iunii con"ine un cuv*nt în#ro(at9% sau ofer' posi!ilitatea limit'rii c'ut'rilor complete de te6t la anumite por"iuni din document$ -semenea intero#'ri sunt dificil de scris într+un lim!a, ca )>L$ Un alt motiv este acela c' !a&ele de date native XML p'strea&' ordinea documentelor% instruc"iunile de procesare% (i comentarii% (i adesea p'strea&' sec"iuni CD-T-% folosirea entit'"ilor% (i altele% pe c*nd !a&ele de date ce permit folosirea XML nu posed' aceste caracteristici$ 4a&ele de date native XML sunt de o!icei folosite pentru a inte#ra date$ Inte#rarea datelor a fost f'cut' cu !a&e de date rela"ionale federate% dar acestea necesitau ca toate resursele de date s' fie mapate la modelul rela"ional$ -ceast' modalitate nu func"ionea&' pentru mai multe tipuri de date (i modelul de date XML ofer' o fle6i!ilitate mai mare$ 4a&ele de date native XML tratea&' modific'rile sc emelor mai u(or dec*t !a&ele de date rela"ionale (i pot trata (i date care nu au sc em'$ -m!ele considera"ii sunt importante pentru inte#rarea datelor din surse care nu se afl' su! control direct$
Pagina ! din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

-l treilea ca& de utili&are ma,or al !a&elor de date native XML este pentru datele semistructurate% a(a cum se #'sesc în finan"e% în !iolo#ie% date care se sc im!' at*t de des înc*t nu este posi!il' definirea unor sc eme definitive$ Datorit' faptului c' !a&ele de date native XML nu necesit' sc eme% ca !a&ele de date rela"ionale% ele pot s' trate&e acest tip de date% de(i aplica"iile adesea necesit' procesarea acestor date de c'tre oameni$ Ultima utili&are ma,ora a !a&elor de date native XML este tratarea evolu"iei sc emelor$ C iar dac' !a&ele de date native XML nu ofer' solu"ii complete% ele ofer' o fle6i!ilitate mai mare dec*t !a&ele de date rela"ionale$ De e6emplu% !a&ele de date native XML nu necesit' ca datele e6istente s' fie mutate într+o alt' sc em'% ele pot trata modific'ri ale sc emelor pentru care nu e6ist' nicio cale a mi#ra"iei% (i pot stoca date c iar dac' acestea apar"in unei versiuni necunoscute a unei sc eme$ -lte utili&'ri ale !a&elor de date native XML includ punerea la dispo&i"ie de cac e pentru date (i metadate pentru tran&ac"ii lun#i% operarea cu documente mari (i date ierar ice% (i comportarea ca un intermediar între date (i cac e .mid+tier data cac e/$ A$B$A$3 Ce este o !a&' de date nativ' XMLK Termenul 8!a&' de date nativ' XML9 a ap'rut prima dat' în campania de marNetin# a Tamino% o !a&' de date nativ' XML de&voltat' de )oft:are -1$ 0ro!a!il datorit' succesului acestei campanii% termenul a fost acceptat de c'tre companiile care de&voltau produse similare$ De&avanta,ul acestui termen este c' fiind un termen de marNetin#% nu a avut niciodat' o defini"ie formal' te nic'$ O defini"ie posi!ila .de&voltat' de mem!rii XMLFD4/ este aceea c' o !a&' de date nativ' XML are urm'toarele caracteristiciF Define(te un model lo#ic pentru un document XML 7 spre deose!ire de datele din acel document 7 (i stoc ea&' (i recuperea&' documente conform acelui model$ Modelul tre!uie s' includ' minim elemente% atri!ute% 0CD-T-% (i ordinea documentelor$ E6emple de astfel de modele sunt modelul de date Xpat % XML Infoset% (i modelele con"inute de DOM (i evenimentele din )-X 3$I$ -re ca unitate fundamental' de stocare lo#ic' un document XML% a(a cum o !a&' de date rela"ional' are ca unitate de !a&' de stocare lo#ic' o linie dintr+o ta!el'$ Nu este necesar un model fi&ic special de stocare a datelor$ De e6emplu% acesta poate fi construit pe o !a&' de date rela"ional'% ierar ic'% sau orientat' pe o!iecte% sau se poate folosi un format de stocare particular cum ar fi fi(ierele comprimate inde6ate$

Pagina !! din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

0rima parte a acestei defini"ii este similar' cu defini"iile altor tipuri de !a&e de date% (i se concentrea&' pe modelul folosit de !a&a de date$ Nu are nicio importan"' faptul c' o anumit' !a&' de date nativ' XML ar putea stoca mai multe informa"ii dec*t con"ine modelul folosit de !a&a de date$ De e6emplu% ar putea suporta intero#'ri !a&ate pe modelul Xpat % dar s' stoc e&e documente ca te6t$ Jn acest ca&% sec"iunile CD-T- (i folosirea entit'"ilor sunt stocate în !a&a de date dar nu sunt incluse în model$ - doua parte a defini"iei spune c' unitatea de !a&' de stocare într+o !a&' de date nativ' XML este un document XML$ De(i poate p'rea posi!il ca o !a&' de date nativ' XML ar putea atri!ui acest rol fra#mentelor de documente% !a&ele de date native XML sunt populate cu documente complete$ Unitatea de !a&' de stocare este nivelul elementar de conte6t în care se potrive(te un anumit element de date% (i este ec ivalent cu o linie într+o !a&' de date rela"ional'$ E6isten"a acestei unit'"i de !a&' nu împiedic' recuperarea unor unit'"i mai mici de date% cum ar fi fra#mente de documente sau elemente individuale% (i nu e6clude nici posi!ilitatea com!in'rii fra#mentelor dintr+un document cu fra#mente din alt document$ Jn termeni rela"ionali% acest lucru este ec ivalent cu faptul c' e6isten"a liniilor nu împiedica recuperarea individual' a valorilor din coloane sau crearea unor linii noi din altele e6istente de,a$ - treia parte a defini"iei spune c' formatul de stocare nu este important$ -cest lucru este adev'rat% (i este analo# cu faptul c' formatul fi&ic de stocare folosit de o !a&' de date rela"ional' nu are le#'tur' cu faptul ca !a&a de date este rela"ional'$ A$B$A$2 -r itecturile !a&elor de date native XML -r itecturile !a&elor de date native XML se clasific' în dou' cate#oriiF !a&ate pe te6t (i !a&ate pe modele$ 4a&e de date native XML !a&ate pe te6t O !a&' de date nativ' XML !a&at' pe te6t stoc ea&' XML ca te6t$ -cesta ar putea fi un fi(ier într+un sistem de fi(iere% un 4LO4 într+o !a&' de date rela"ional'% sau un format de te6t particular$ Nu are nicio importan"' faptul c' o !a&' de date rela"ional' care a ad'u#at procesarea ce recunoa(te XML a coloanelor CLO4 .C aracter Lar#e O!,ect/ este% de fapt% o !a&' de date nativ' XML av*nd în vedere aceste a!ilit'"i$ Toate !a&ele de date native XML !a&ate pe te6t au în comun indec(ii% care ofer' posi!ilitatea motorului de intero#are s' sar' u(or în orice punct din orice document XML$ -cest lucru d' o vite&' e6traordinar' la recuperarea documentelor între#i sau a fra#mentelor
Pagina !" din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

de documente$ -cest lucru se înt*mpla deoarece !a&a de date poate e6ecuta o sin#ur' c'utare inde6at'% poate po&i"iona capul de citire o sin#ur' dat'% (i% presupun*nd c' fra#mentul necesar este stocat continuu pe disc% poate recupera între#ul document sau fra#ment cu o sin#ur' citire$ )pre deose!ire de aceasta modalitate% reasam!larea unui document din fra#mente% cum se face în ca&ul !a&elor de date rela"ionale (i unele !a&e de date native XML !a&ate pe modele% necesit' c'ut'ri inde6ate multiple (i mai multe citiri ale discului$ Jn acest sens% o !a&' de date nativ' XML !a&at' pe te6t este similar' cu !a&ele de date ierar ice% am*ndou' av*nd performan"e mai !une dec*t !a&ele de date rela"ionale la recuperarea (i returnarea datelor în func"ie de o ierar ie predefinit'$ La fel ca !a&ele de date ierar ice% !a&ele de date native XML !a&ate pe te6t ar putea înt*mpina dificult'"i la recuperarea (i returnarea datelor în orice alt' form'% cum ar fi inversarea ierar iei sau a unor por"iuni ale ei$ -cest lucru nu a fost dovedit înc'% dar predominan"a !a&elor de date rela"ionale% care folosesc pointeri lo#ici ce permit ca toate intero#'rile de aceea(i comple6itate s' fie e6ecutate cu aceea(i vite&'% pare s' indice c' a(a se va înt*mpla$ 4a&e de date native XML !a&ate pe modele - doua cate#orie de !a&e de date native XML este cea !a&at' pe modele$ Jn loc s' stoc e&e documentul XML ca te6t% aceste !a&e de date construiesc un model o!iectual intern din document (i stoc ea&' acest model$ Modalitatea re"inerii acestui model depinde de !a&a de date$ Unele !a&e de date stoc ea&' modelul într+o !a&' de date rela"ional' sau orientat' o!iect$ De e6emplu% stocarea DOM+ului într+o !a&' de date rela"ional' ar putea duce la o!"inerea unor ta!ele cum ar fi Elements% -ttri!utes% 0CD-T-% Entities% (i EntitLReferences$ -lte !a&e de date folosesc un format de stocare particular optimi&at pentru modelul lor$ Un e6emplu de !a&' de date simpl' nativ' XML !a&at' pe un model construit' pe o !a&' de date rela"ional' este cea descrisa de MarN 4ir!ecN la XML+L în decem!rie 3HHG$ )istemul folose(te cinci ta!ele 7 definirea atri!utelor% asocierile dintre elementeMatri!ute% definirea con"inutului modelului% valorile atri!utelor% (i valorile elementelor .0CD-T- sau pointeri la alte elemente/ 7 (i un model care include numai elemente% atri!ute% te6t% (i ordinea documentelor$ 4a&ele de date native XML !a&ate pe modele construite pe alte !a&e de date vor avea performan"e similare cu acele !a&e de date la recuperarea documentelor pentru c' ele se !a&ea&' pe acele sisteme pentru a recupera datele$ Totu(i% desi#nul !a&ei de date% în special pentru !a&ele de date native XML construite pe !a&e de date rela"ionale poate varia destul de mult$ De e6emplu% o !a&' de date care folose(te o mapare o!iectual+rela"ional' direct' a
Pagina !# din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

DOM+ului ar putea duce la un sistem care necesit' e6ecutarea fra&elor )ELECT separat pentru a recupera descenden"ii fiec'rui nod$ 0e de alt' parte% ma,oritatea acestor !a&e de date î(i optimi&ea&' modelul de stocare (i softul de recuperare$ De e6emplu% Ric ard Ed:ards a descris un sistem de stocare a DOM+ului într+o !a&' de date rela"ional' care poate recupera orice fra#ment de document .inclusiv între#ul document/ cu o sin#ur' fra&a )ELECT$ Este pro!a!il c' !a&ele de date native XML !a&ate pe modele care folosesc un format de stocare particular s' ai!' performan"e similare cu cele native XML !a&ate pe te6t la recuperarea datelor în ordinea în care au fost stocate$ -cest lucru se înt*mpl' deoarece ma,oritatea acestor !a&e de date folosesc pointeri fi&ici între noduri% ceea ce ar tre!ui s' duc' la o performan"' similar' cu recuperarea te6tului$ .Rapiditatea unei metode sau alteia depinde (i de formatul de ie(ire$ )istemele !a&ate pe te6t sunt mai rapide la returnarea documentelor ca te6t% pe c*nd sistemele !a&ate pe modele sunt mai rapide la returnarea documentelor ca ar!ori DOM% presupun*nd c' modelul lor se mapea&' u(or la DOM$/ Ca (i !a&ele de date native XML !a&ate pe te6t% e pro!a!il c' (i cele !a&ate pe modele s' înt*mpine pro!leme de performan"' la recuperarea (i returnarea datelor într+un formular% altul dec*t cel în care sunt stocate% cum ar fi inversarea ierar iei sau a unor por"iuni a ei$ Nu se (tie dac' aceste !a&e de date vor fi mai rapide sau nu dec*t cele !a&ate pe te6t$ A$B$A$A Caracteristici ale !a&elor de date native XML Jn aceast' sec"iune sunt pre&entate un num'r de caracteristici ale !a&elor de date native XML$ Colec"ii de documente Multe !a&e de date native XML suport' no"iunea de colec"ie$ -cestea au un rol similar cu cel al ta!elelor în !a&ele de date rela"ionale sau cu cel al directoarelor într+un sistem de fi(iere$ De e6emplu% dac' se folose(te o !a&' de date nativ' XML pentru stocarea unor ordine de v*n&are% ar tre!ui definit' o colec"ie de ordine de v*n&are astfel înc*t intero#'rile cu privire la ordinele de v*n&are s' poat' fi limitate la documentele din acea colec"ie$ Ca un alt e6emplu% dac' se stoc ea&' manualele pentru toate produsele unei companii într+o !a&' de date nativ' XML% ar tre!ui definit' o ierar ie de colec"ii% o colec"ie pentru fiecare produs% (i în acea colec"ie% c*te o colec"ie pentru fiecare capitol din fiecare manual$ Lim!a,e de intero#are -proape toate !a&ele de date native XML suport' unul sau mai multe lim!a,e de intero#are$ Cel mai popular este Xpat .cu e6tensii pentru intero#'ri asupra mai multor
Pagina !7 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

documente/ (i X]uerL% de(i numeroase lim!a,e de intero#are particulare sunt suportate de asemenea$ Jn viitor% ma,oritatea !a&elor de date native XML vor suporta X>uerL din =AC$ Updat'ri (i (ter#eri 4a&ele de date native XML au o varietate de strate#ii pentru actuali&area (i (ter#erea documentelor% de la simpla înlocuire sau (ter#ere a documentului e6istent p*n' la modificarea ar!orelui DOM% p*n' la lim!a,e care specific' cum s' se modifice fra#mente ale unui document$ Ma,oritatea acestor metode sunt particulare$ Totu(i% au ap'rut dou' lim!a,e întruc*tva standardi&ate pentru actuali&area documentelor XMLF XUpdate% de la XMLFD4 Initiative% este un lim!a, !a&at pe XML$ Folose(te X0at pentru a identifica un set de noduri% apoi specific' dac' s' se insere&e sau s' se (tear#' aceste noduri% sau s' insere&e noduri noi înaintea sau dup' acestea$ XUpdate a fost implementat în mai multe !a&e de date native XML$ Un set de e6tensii ale X>uerL a fost propus de mem!rii #rupului =AC X>uerL (i 0atricN Le ti$ 5aria"ii asupra acestor e6tensii au fost implementate în mai multe !a&e de date native XML (i pare pro!a!il c' acestea vor forma !a&ele sinta6ei pentru actuali&are în X>uerL$ Jn ciuda acestor lim!a,e% este pro!a!il ca a!ilit'"ile de actuali&are s' r'm*n' fra#mentate p*n' c*nd va fi ad'u#at' formal o sinta6' de actuali&are la X>uerL$ Tran&ac"ii% !loc'ri% (i concuren"' -proape toate !a&ele de date native XML suport' tran&ac"ii .(i pro!a!il suport' (i întoarceri/$ Totu(i% !locarea se face adesea la nivelul între#ului document% (i nu la nivelul unui nod individual% de aceea concuren"a multi+user este relativ redus'$ Dac' aceasta este o pro!lem' depinde de aplica"ie (i ceea ce constituie un 8document9$ De e6empluF Un document este un capitol al unui # id al utili&atorului (i scriitorii editea&' capitolele$ Este pu"in pro!a!il ca !locarea la nivel de document s' cau&e&e pro!leme de concuren"'% deoarece este impro!a!il ca doi scriitori s' actuali&e&e acela(i capitol în acela(i moment$ Un document stoc ea&' toate datele despre toate v*n&'rile (i v*n&'torii adau#' informa"ii despre noile v*n&'ri$ Este pro!a!il ca !locarea la nivel de document s' determine pro!leme de concuren"'% deoarece (ansele ca doi v*n&'tori s' actuali&e&e informa"ii în acela(i timp este destul de mare$ Din fericire% acest lucru poate fi re&olvat cel pu"in par"ial prin crearea unui document de v*n&are pentru fiecare client$

Pagina !$ din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Un document con"ine datele folosite într+un flu6% cum ar fi un contract financiar$ Fiecare pas al flu6ului cite(te date dintr+un computer (i adau#' datele proprii$ De e6emplu% un pas ar putea face o verificare de credit (i ar ad'u#a un credit la document$ Un alt pas ar putea c'uta !alan"e în a(teptare în alte contracte ale aceluia(i client (i ar putea ad'u#a totalul !alan"elor$ Dac' !locarea la nivel de nod este folosit'% unii dintre ace(ti pa(i ar putea fi e6ecuta"i în paralel$ Dac' este folosit' !locarea la nivel de document% ace(ti pa(i ar tre!ui e6ecuta"i secven"ial pentru a evita conflicte de scriere$ -cest lucru ar putea aduce înt*r&ieri inaccepta!ile în aplica"ii mari$ 0ro!lema !loc'rii la nivel de nod este implementarea acesteia$ 4locarea unui nod necesit' de o!icei !locarea p'rintelui s'u% ceea ce necesit' !locarea p'rintelui acestuia% (i a(a p*n' la r'd'cin'% !loc*nd efectiv între#ul document$ 0entru a vedea de ce acest lucru este adev'rat% se consider' o tran&ac"ie care cite(te un nod frun&'$ Dac' tran&ac"ia nu are !loc'ri pe str'mo(ii nodului frun&'% o alt' tran&ac"ie poate (ter#e un nod str'mo( al frun&ei% astfel (ter#*nd (i nodul frun&'$ Totu(i% o alt' tran&ac"ie ar tre!ui s' poat' actuali&a acele p'r"i ale documentului care nu sunt pe calea direct' de la r'd'cin' la nodul frun&'$ O solu"ie par"ial' a acestei pro!leme este propus' de )ti,n DeNeLser Jn timp ce pro!lema !loc'rii str'mo(ilor unui nod "int' nu a fost total ocolit'% aceste !loc'ri au fost f'cute mai fle6i!ile prin adnotarea lor cu definirea prin intero#are a c'ii de la nodul !locat p*n' la nodul "int'$ -cest lucru permite altor tran&ac"ii s' determine dac' sunt în conflict cu alte tran&ac"ii$ Deoarece evaluarea intero#'rilor pentru a o!"ine !loc'ri este foarte costisitoare% sc ema actual' este întruc*tva mai limitat' dec*t a fost descris' aici% dar acesta este principiul de func"ionare$ Jn viitor% ma,oritatea !a&elor de date native XML vor oferi pro!a!il posi!ilitatea !loc'rii la nivel de nod$ Interfe"e de pro#ramare a aplica"iilor .-0I+uri/ Ma,oritatea !a&elor de date native XML ofer' -0I+uri pro#ramatice$ -cestea sunt de o!icei su! forma unei interfe"e asem'n'toare OD4C% cu metode pentru le#area la !a&a de date% e6plorarea metadatelor% e6ecutarea intero#'rilor% (i recuperarea re&ultatelor$ Re&ultatele sunt de o!icei returnate ca un (ir XML% un ar!ore DOM% sau un 0arser )-X% sau un XMLReader peste documentul returnat$ Dac' intero#'rile pot returna documente multiple% atunci metodele pentru parcur#erea re&ultatelor sunt de asemenea disponi!ile$ De(i ma,oritatea !a&elor de date native XML ofer' -0I+uri particulare au fost de&voltate dou' -0I+uri independente .iulie 2IIB/F

Pagina !9 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

-0I+ul XMLFD4 al XMLFD4$or# care este independent de lim!a,ul de pro#ramare% (i folose(te X0at ca lim!a,ul s'u de intero#are% (i este e6tins pentru a suporta X>uerL$ - fost implementat pentru mai multe !a&e de date native XML (i se poate s' fi fost implementat (i pentru !a&e de date care nu sunt native XML$ W)R 22CF X>uerL -0I pentru Wava .X>W/ este !a&at pe WD4C (i folose(te X>uerL ca lim!a, de intero#are$ Este de&voltat de c'tre Wava CommunitL 0rocess .WC0/ de la )un$ Deoarece aceast' ini"iativa este condus' de I4M (i Oracle este pro!a!il' r'sp*ndirea ei la scar' lar#'$ Ma,oritatea !a&elor de date native XML ofer' de asemenea posi!ilitatea e6ecut'rii intero#'rilor (i returnarea re&ultatelor prin RTT0$ Round+Trippin# O caracteristic' important' a !a&elor de date native XML este c' pot efectua un 8round+trip9 al documentelor XML$ -cest lucru înseamn' c' se poate stoca un document XML într+o !a&' de date nativ' (i se poate recupera din !a&a de date acela(i document$ -cest lucru este important pentru aplica"iile centrate pe documente% pentru care sec"iunile CD-T-% folosirea entit'"ilor% comentariile (i procesarea instruc"iunilor sunt o parte inte#rant' a documentului$ De asemenea este foarte important pentru multe aplica"ii medicale (i le#ale% care sunt o!li#ate prin le#e sa p'stre&e copii fidele ale documentelor$ Round+trippin#+ul este mai pu"in important pentru aplica"iile centrate pe date% pentru care de o!icei contea&' elementele% atri!utele% te6tul% (i ordinea ierar ic'$ Toate softurile care transfer' date între documente XML (i !a&e de date pot e6ecuta acest procedeu cu aceste date$ -celea(i opera"ii pot fi aplicate (i unor ordon'ri similare .ordinea elementelor (i a 0CD-T- în p'rintele lor/ într+un num'r limitat de ca&uri care sunt importante pentru aplica"iile centrate pe date$ Totu(i deoarece nu pot face aceste opera"ii în toate ca&urile% (i nici asupra instruc"iunilor de procesare% comentariilor% (i structurilor fi&ice .referin"ele c'tre entit'"i% sec"iuni CD-T-/% nu sunt potrivite pentru aplica"ii centrate pe documente$ Toate !a&ele de date native XML pot aplica round+trippin#+ul la nivelul elementelor% al atri!utelor% al 0CD-T-% (i al ordinii documentelor$ C*t de mult se poate aplica acest procedeu depinde de !a&a de date$ Ca o re#ul' #eneral'% !a&ele de date native XML !a&ate pe te6t aplic' acest procedeu pe documentele XML e6act% în timp ce !a&ele de date native XML !a&ate pe modele aplic' acest procedeu asupra documentelor XML la nivelul modelului$ Jn ca&ul modelelor minimale de documente% acest procedeu se face la un nivel mai mic dec*t XML+ul canonic$
Pagina "% din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Din moment ce nivelul de round+trippin# depinde de fiecare aplica"ie% (i ale#erea !a&ei de date native XML potrivite poate varia$ Date aflate la distan"' Unele !a&e de date native XML pot include date aflate la distan"' în documente stocate în !a&a de date$ De o!icei aceste date sunt recuperate dintr+o !a&' de date rela"ional' cu OD4C% OLE D4% sau WD4C (i sunt modelate folosind maparea !a&at' pe ta!ele sau maparea rela"ional+o!iectual'$ Daca aceste date sunt Ulive9 7 adic' dac' actuali&'rile documentului din !a&a de date nativ' XML sunt reflectate în !a&a de date aflat' la distan"' 7 depinde de !a&a de date nativ' XML$ Jn viitor ma,oritatea !a&elor de date native XML vor suporta date Ulive9 aflate la distan"'$ Indec(i Toate !a&ele de date native XML suport' indec(i ca o modalitate de a m'ri vite&a de intero#are$ E6ista trei tipuri de indec(i$ Indec(ii valoare inde6ea&' te6t (i valori ale atri!utelor (i sunt folosi"i pentru a re&olva intero#'ri de formaF 81'se(te toate elementele sau atri!utele ale c'ror valori sunt i)anta Cru&j$9 Indec(ii structurali inde6ea&' loca"ia elementelor (i atri!utelor (i sunt folosi"i pentru a re&olva intero#'ri de formaF 81'se(te toate elementele adres'$9 Indec(ii valoare (i structurali sunt com!ina"i pentru a re&olva intero#'ri de formaF 81'se(te toate elementele ora(e ale c'ror valori sunt i)anta Cru&j$9 Indec(ii full+te6t inde6ea&' semnele individuale din te6t (i valorile atri!utelor (i sunt folosi"i pentru a re&olva intero#'ri de formaF 81'se(te toate documentele care con"in cuvintele j)anta Cru&j$9 sau în con,unc"ie cu indec(ii structurali F91'se(te toate documentele care con"in cuvintele i)anta Cru&j într+un element adres'$9 Ma,oritatea !a&elor de date native XML suport' at*t indec(i valoare c*t (i indec(i structurali$ Unele !a&e de date native XML suport' indec(i full+te6t$ )tocarea entit'"ilor e6terne O pro!lem' dificil' care apare la stocarea documentelor XML este tratarea entit'"ilor e6terne$ -dic'% ar tre!ui e6tinse (i valorile lor stocate împreuna cu restul documentului% sau ar tre!ui ca referin"ele la entit'"i s' fie l'sate la locul lorK -ceast' între!are nu are r'spuns unic$ De e6emplu% se consider' c' un document include o entitate e6tern' #eneral' care apelea&' un pro#ram C1I pentru pro#no&a meteo$ Dac' documentul este folosit ca o pa#ina =e! care ofer' pro#no&a meteo% ar fi o #re(eal' e6tinderea referin"ei la entitate% deoarece pa#ina de =e! nu ar mai returna date ilivej$ 0e de alt' parte% dac' documentul ar fi o parte a
Pagina "1 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

unei colec"ii de date despre vreme mai vec i% ar fi o #re(eal' s' nu se e6tind' referin"a% deoarece documentul ar recupera întotdeauna datele curente (i nu le+ar mai re"ine pe cele vec i$ Ca un alt e6emplu% se consider' un manual al unui produs care nu con"ine altceva dec*t referin"e la entit'"i e6terne care trimit la capitolele manualului$ Daca unele dintre aceste capitole ar fi folosite în alte documente% ca manualele pentru diferite modele ale aceluia(i produs% ar fi o #re(eal' e6tinderea acestor referin"e% pentru ca ar duce la copii multiple ale acelora(i capitole$ A$B$A$B Normali&are% inte#ritate referen"ial' (i scala!ilitate 0entru mul"i% în special pentru cei ce poseda cuno(tin"e despre !a&e de date rela"ionale% !a&ele de date native XML ridic' un num'r de pro!leme controversate% în special cu privire la pro!lemele de stocare a datelor .spre deose!ire de documente/$ Unele dintre aceste pro!leme sunt de&!'tute în sec"iunile urm'toare$ Normali&area Normali&area se refer' la procesul de proiectare a sc emei unei !a&e de date în care un anumit set de date sunt repre&entate o sin#ur' dat'$ Normali&area are c*teva avanta,e clare% cum ar fi reducerea spa"iului necesar pe disc (i eliminarea posi!ilit'"ii apari"iei inconsisten"elor% care se pot #'si atunci c*nd un set de date este stocat în mai multe locuri$ -ceasta este una din pietrele de temelie a te nolo#iei rela"ionale (i este un punct aprins în discu"iile despre stocarea datelor în !a&e de date native XML$ Normali&area nu este o pro!lem' pentru documente centrate pe documente$ De e6emplu% se consider' o colec"ie de documente ce descrie produsele unei companii$ Jn multe asemenea colec"ii% e6ist' pu"ine date comune tuturor documentelor 7 notific'ri de copLri# t% adresele corpora"iilor (i numere de telefon% lo#o+uri ale produselor 7 (i aceste date sunt prea pu"ine relativ la total înc*t normali&area acestora nu se ia în calcul$ 0e de alt' parte% alte seturi de documenta"ii au p'r"i comune importante între documente (i se merit' normali&area lor$ Ca (i în ca&ul !a&elor de date rela"ionale% normali&area !a&elor de date native XML nu este o!li#atorie$ De aceea este important' proiectarea atent' a structurii documentelor înainte de stocarea lor într+o !a&' de date nativ' XML$ 4a&ele de date native XML au un avanta, fa"' de !a&ele de date rela"ionale$ Din moment ce !a&ele de date native XML nu au sc eme% se pot stoca documente similare în !a&a de date cu mai multe sc eme la un anumit moment$ C iar dac' este necesar' reproiectarea intero#'rilor (i convertirea documentelor e6istente% acest lucru ar putea u(ura procesul de tran&i"ie$
Pagina "2 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Normali&area datelor pentru o !a&' de date nativ' XML este apro6imativ la fel ca normali&area unei !a&e de date rela"ionaleF documentele tre!uie proiectate astfel înc*t datele s' nu se repete$ O diferen"' între !a&ele de date native XML (i !a&ele de date rela"ionale este aceea ca XML suport' propriet'"i multi+valoare în timp ce ma,oritatea !a&elor de date rela"ionale nu$ -ceasta face posi!il' normali&area datelor într+o !a&' de date nativ' XML într+o manier' care nu este posi!il' într+o !a&' de date rela"ional'$ De e6emplu% se consider' un ordin de v*n&are$ -cesta const' în informa"iile din antet% cum ar fi num'rul ordinului% data% num'rul clientului% (i unul sau mai mul"i itemi care con"in un num'r curent% cantitatea% (i pre"ul total$ Jntr+o !a&' de date rela"ional'% informa"ia din antet tre!uie stocat' într+o ta!el' separat' fa"' de itemi% deoarece sunt mai multe linii în fiecare antet$ Jntr+o !a&' de date nativ' XML% aceast' informa"ie poate fi stocat' într+un sin#ur document f'r' redundan"e% deoarece natura ierar ic' a XML permite unui element p'rinte s' ai!' mai mul"i descenden"i$ Din nefericire% normali&area pe ca&uri concrete nu este at*t de simpl'$ De e6emplu% ce se înt*mpl' atunci c*nd se dore(te ca ordinul de v*n&are s' con"in' informa"ii despre client% cum ar fi nume de contact (i adresa de e6pediere (i facturareK E6ista dou' variante$ 0rima% se pot duplica informa"iile despre client în fiecare ordin de v*n&are pentru acel client% duc*nd la date redundante (i toate pro!lemele care apar cu acestea$ - doua variant'% se pot stoca informa"iile despre client separat (i fie ad'u#at un XLinN în documentul ordinului de v*n&are c'tre documentul clientului% fie unite cele dou' documente atunci c*nd datele sunt intero#ate$ -cest lucru presupune c' fie le#'turile XLinN sunt suportate .în ma,oritatea ca&urilor nu sunt/% fie lim!a,ul de intero#are suport' uniri .de asemenea nu se înt*mpl' întotdeauna/$ Jn practic' nu e6ist' solu"ii clare$ Datele rela"ionale din lumea real' sunt adesea nenormali&ate din motive de performan"'$ Dac' se stoc ea&' documente centrate pe documente (i acestea se pot normali&a p*n' la un anumit #rad 7 cum ar fi stocarea capitolelor sau procedurilor ca documente separate (i unirea lor pentru a crea documente end+user 7 atunci o !a&' de date nativ' XML este o solu"ie !un'% în special pentru c' va oferi caracteristici precum lim!a,e de intero#are XML care nu se #'sesc în alte !a&e de date$ Dac' se stoc ea&' documente centrate pe date (i o !a&' de date nativ' XML îm!un't'"e(te performan"a aplica"iei sau ofer' stocarea datelor semi+structurate% facilit'"i care nu se #'sesc în alte !a&e de date atunci aceast' !a&' de date ar tre!ui folosit'$ Inte#ritatea referen"ial'

Pagina " din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Inte#ritatea referen"ial' este str*ns le#at' de normali&are$ -ceasta se refer' la validitatea pointerilor la datele le#ate (i sunt o parte necesar' a men"inerii consisten"ei !a&ei de date$ De e6emplu nu este de niciun folos un num'r de client dintr+un ordin de v*n&are care nu are o înre#istrare a clientului corespondent'$ Departamentul de e6pediere nu va (ti unde s' trimit' marfa (i departamentul de conta!ilitate nu va (ti unde s' trimit' factura$ Jntr+o !a&' de date rela"ional'% inte#ritatea referen"ial' înseamn' asi#urarea c' se face le#'tura corect' între c eile str'ine (i c eile primare 7 adic'% verificarea c' linia c eii primare ce corespunde oric'rei c ei str'ine e6ist'$ Jntr+o !a&' de date nativ' XML% inte#ritatea referen"ial' înseamn' asi#urarea c' pointerii în documentul XML trimit la documente valide sau fra#mente de documente$ 0ointerii din documentele XML sunt de mai multe feluriF atri!ute IDMIDREF% c*mpuri NeLMNeLref .a(a cum sunt definite în sc eme XML/% le#'turi XLinN% (i diferite mecanisme particulare$ Cele din urma includ elemente (i atri!ute de referire într+un lim!a, specific% cum ar fi atri!utul irefj al elementului Yelement\ în sc emele XML% (i mecanisme de le#'turi specifice !a&elor de date$ Jn timp ce elementele (i atri!utele de referire într+un lim!a, specific sunt destul de des înt*lnite% mecanismele de le#'turi specifice !a&elor de date sunt mai rare$ Inte#ritatea referen"ial' într+o !a&' de date nativ' XML poate fi împ'r"it' în dou' cate#oriiF inte#ritatea pointerilor interni .pointeri dintr+un document/ (i inte#ritatea pointerilor e6terni .pointeri dintre documente/$ Inte#ritatea referen"ial' a pointerilor interni care folosesc mecanisme non+standard nu este for"at'% deoarece !a&ele de date native XML nu pot identifica ace(ti pointeri$ Inte#ritatea referen"ial' a pointerilor interni care folosesc un mecanism standard% cum ar fi IDMIDREF sau NeLMNeLref% este cel pu"in par"ial suportat' prin validare$ Motivul pentru care acest suport este par"ial este c' ma,oritatea !a&elor de date native XML e6ecut' valid'ri numai c*nd un document este introdus în !a&a de date$ -stfel% dac' sunt efectuate actuali&'ri la nivel de document 7 prin (ter#eri (i apoi înlocuiri a unui document 7 validarea este suficient' pentru a asi#ura inte#ritatea pointerilor interni$ Dar dac' sunt efectuate actuali&'ri la nivel de nod 7 inser'ri% modific'ri (i (ter#eri de noduri individuale 7 atunci !a&a de date tre!uie s' mai fac' opera"ii în plus% cum ar fi validarea tuturor modific'rilor% pentru a #aranta inte#ritatea referen"ial' a pointerilor interni$ Inte#ritatea refen"ial' a pointerilor e6terni nu este suportat'% nici de pu"inele !a&e de date care suport' pointeri e6terni$ Dac' un pointer e6tern trimite la o resurs' stocat' în alt' parte în !a&a de date% nu e6ist' motiv pentru a nu se impune inte#ritatea pointerului$ Totu(i% dac' un pointer trimite la o resurs' din afara !a&ei de date nu este o!li#atorie impunerea
Pagina "! din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

inte#rit'"ii$ De e6emplu% se presupune c' un document con"ine o le#'tur' XLinN care trimite la un document pe un site :e! e6tern$ 4a&a de date nu are nici un control asupra e6isten"ei documentului e6tern (i astfel nu se poate impune inte#ritatea le#'turii XLinN$ Jn viitor% ma,oritatea !a&elor de date native XML pro!a!il vor suporta inte#ritatea referen"ial' a pointerilor interni care folosesc mecanisme standard$ Multe !a&e de date native XML vor suporta anumite tipuri de pointeri e6terni% ca (i pointerii e6terni care trimit la resurse stocate în aceea(i !a&' de date$ Deocamdat' în ma,oritatea ca&urilor aplica"iile impun inte#ritatea pointerilor at*t interni c*t (i e6terni$ )cala!ilitate Ca (i !a&ele de date ierar ice (i rela"ionale% !a&ele de date native XML folosesc indec(i pentru a locali&a date$ -cest lucru înseamn' c' locali&area documentelor (i a fra#mentelor de documente este le#at' de dimensiunile indec(ilor% nu de dimensiunile documentelor sau de num'rul de documente% (i de faptul c' aceste !a&e de date pot locali&a începutul unui document sau fra#ment la fel de repede ca (i alte !a&e de date care folosesc aceea(i te nolo#ie de inde6are$ -stfel% !a&ele de date native XML vor scala la fel de !ine ca (i alte !a&e de date$ Ca (i !a&ele de date ierar ice% dar spre deose!ire de cele rela"ionale% multe !a&e de date native XML lea#' fi&ic datele înrudite$ Jn special% !a&ele de date native XML !a&ate pe te6t #rupea&' fi&ic datele înrudite (i !a&ele de date native XML !a&ate pe modele care folosesc sisteme de stocare particulare folosesc adesea pointeri pentru a #rupa date înrudite$ 4a&ele de date native XML !a&ate pe modele construite pe !a&e de date rela"ionale folosesc ca (i acestea le#'turi lo#ice$ Deoarece le#'turile fi&ice sunt mai rapide dec*t cele lo#ice% !a&ele de date native XML% ca (i cele ierar ice% pot recupera date mai repede dec*t !a&ele de date rela"ionale$ -stfel% ele ar tre!ui s' scale&e !ine din punctul de vedere al recuper'rii datelor$ De fapt% ar tre!ui s' se comporte mai !ine dec*t !a&ele de date rela"ionale% deoarece scala!ilitatea este le#at' de o sin#ur' c'utare inde6at' ini"ial'% spre deose!ire de multiplele c'ut'ri necesare în ca&ul !a&elor de date rela"ionale$ Din p'cate% aceast' scala!ilitate este limitat'$ Ca (i !a&ele de date ierar ice% le#'turile fi&ice în !a&ele de date native XML se aplic' numai asupra anumitor ierar ii$ Recuperarea datelor în ierar ia în care sunt stocate este foarte rapid'% dar recuperarea acelora(i date într+o ierar ie diferit' este mai înceat'$ De e6emplu% se presupune c' informa"iile despre clien"i sunt stocate în fiecare ordin de v*n&are$ Recuperarea acestor ordine de v*n&are va fi foarte rapid'% deoarece acesta este ordinul în care datele sunt stocate$ Recuperarea unei alte vederi a datelor%
Pagina "" din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

cum ar fi o list' cu ordinele de v*n&are pentru un anumit client% va fi mult mai înceat'% deoarece le#'turile fi&ice nu se mai folosesc$ 0entru a re&olva par"ial aceast' pro!lema% !a&ele de date native XML folosesc foarte mul"i indec(i% adesea inde6*nd toate elementele (i atri!utele$ Dac' acest lucru a,ut' la sc'derea timpului de recuperare a datelor% totu(i cre(te timpul de actuali&are% pentru c' între"inerea acestor indec(i poate fi costisitoare$ -ceasta nu este o pro!lem' în medii read+ onlL% dar poate cau&a pro!leme în medii în care se folosesc multe tran&ac"ii$ Jn cele din urm'% !a&ele de date native XML scalea&' mai sla! dec*t cele rela"ionale în c'utarea datelor neinde6ate$ -m!ele tipuri de !a&e de date tre!uie s' caute secven"ial datele în acest ca&% dar în ca&ul !a&elor de date native XML este mai #reu datorit' normali&'rii mai pu"in complete$ De e6emplu% se caut' toate ordinele de v*n&'ri cu o anumit' dat' (i datele nu sunt inde6ate$ Jntr+o !a&' de date rela"ional'% aceasta înseamn' citirea tuturor valorilor din coloana OrderDate$ Jntr+o !a&' de date nativ' XML% acest lucru înseamn' citirea fiec'rui ordin de v*n&are în între#ime (i c'utarea elementului YOrderDate\$ Nu numai c' se cite(te con"inutul fiec'rui element YOrderDate\% dar se cite(te (i con"inutul tuturor celorlalte elemente$ Jn !a&ele de date native !a&ate pe te6t% te6tul tre!uie anali&at (i convertit la formatul dat' calendaristic' înainte de a putea fi comparat cu data c'utat'$ -ici se înc eie descrierea !a&elor de date native XML$ Urm'toarele doua sec"iuni tratea&' dou' tipuri speciali&ate de !a&e de date native XMLF DOM+uri persistente (i sisteme de mana#ement ale con"inuturilor$ A$B$B DOM+uri persistente .0DOM+uri/ Un DOM persistent sau 0DOM este un tip speciali&at de !a&' de date nativ' XML care implementea&' DOM+ul peste un tip de stocare persistent'$ )pre deose!ire de ma,oritatea !a&elor de date native XML% care pot returna documente ca ar!ori DOM% ar!orele DOM returnat de un 0DOM este activ .live/$ -dic'% modific'rile f'cute ar!orelui DOM sunt reflectate direct în !a&a de date$ Dac' modific'rile sunt f'cute imediat sau în urma apel'rii unei metode icommitj depinde de !a&a de date$ Jn ma,oritatea !a&elor de date native XML% ar!orele DOM returnat aplica"iei este o copie% (i modific'rile sunt f'cute în !a&a de date prin intermediul unui lim!a, de actuali&are XML sau prin înlocuirea între#ului document$ Deoarece ar!orii 0DOM sunt activi% !a&a de date este de o!icei local'% adic' este în acela(i spa"iu de proces'ri ca (i aplica"ia% sau cel pu"in pe aceea(i ma(in'% de(i acest lucru nu este neap'rat necesar$ -cest lucru este f'cut pentru eficien"'% deoarece un 0DOM peste o !a&' de date aflat' la distan"' ar necesita cereri frecvente la un server aflat la dep'rtare$

Pagina "# din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

0DOM+urile au acela(i rol pentru aplica"iile DOM ca (i !a&ele de date orientate o!iect pentru aplica"iile orientate o!iectF ele ofer' stocare persistent' pentru datele aplica"iei% (i servesc (i drept memorie virtuala pentru aplica"ie$ -l doilea rol este foarte important pentru aplica"iile DOM care operea&' cu documente mari% deoarece ar!orii DOM pot u(or s' dep'(easc' documentele XML ca m'rime$ A$B$C )isteme de mana#ement ale con"inuturilor )istemele de mana#ement ale con"inuturilor sunt un alt tip speciali&at de !a&e de date native XML$ -cestea sunt proiectate pentru operarea cu documente scrise de oameni% cum ar fi manualele de utili&are% (i sunt construite peste !a&e de date native XML$ 4a&a de date este în #eneral ascuns' de utili&ator în spatele unui 9front end9 care ofer' caracteristici precumF Control al versiunilor (i al accesului Motoare de c'utare Editoare XMLM)1ML Motoare de pu!licare pe *rtie% CD sau pe =e! )epararea con"inuturilor (i a stilurilor E6tinderea în scripturi (i pro#ramare Inte#rarea datelor din !a&a de date Termenul de sistem de mana#ement al con"inuturilor spre deose!ire de sistem de mana#ement al documentelor reflect' faptul c' asemenea sisteme permit în #eneral împ'r"irea documentelor în fra#mente cu con"inut discret% cum ar fi e6emple% proceduri% capitole% dar (i metadate cum ar fi numele autorilor% datele revi&iilor% (i numerele documentelor% dec*t s' opere&e cu fiecare document ca un între#$ Nu numai c' astfel se simplific' coordonarea lucrului mai multor scriitori la acela(i document% dar permite (i asam!larea unor documente noi din componente care e6ist' de,a$

C-0ITOLUL I5 CON)TRUIRE- DOCUMENTELOR XML B$3 )inta6a XML XML este format de fapt din dou' metalim!a,e% am!ele descrise în acela(i document$ 0rimul este un set de re#uli pentru reali&area de documente XML construite corect% în timp ce al doilea este un set de re#uli pentru reali&area unei defini"ii a tipului documentului XML% sau DTD .Document TLpe Definition/% care permite ca structura documentului XML s' se supun' unor constr*n#eri (i s' fie validat' fa"' de acele constr*n#eri$ Distinc"ia dintre aceste
Pagina "7 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

dou' lim!a,e este deseori neclar'% deoarece un document XML complet presupune m'car e6isten"a op"ional' a unui DTD% indiferent dac' acesta este de fapt pre&ent sau nu$ 0entru a complica (i mai mult lucrurile% un DTD poate fi compus din dou' p'r"i% o su!mul"ime intern' (i o su!mul"ime e6tern'$ -ceasta parte studia&' documentul XML f'r' a insista prea mult asupra DTD+ului% deoarece un document XML poate fi creat (i f'r' a face referiri la un DTD$ Din motive de performan"'% multe documente XML vor fi utili&ate f'r' a le valida în raport cu DTD+ul% c iar dac' DTD+ul este disponi!il$ Jn ca&ul cone6iunilor lente% citirea dintr+un DTD situat pe un alt sistem poate fi foarte înceat'% iar datorit' faptului c' un DTD poate con"ine referin"e la alte documente% re&olvarea tuturor referin"elor e6terne poate dura e6a#erat de mult c iar (i în ca&ul cone6iunilor de mare vite&'$ Utili&atorii sunt o!i(nui"i ca documentele RTML s' fie înc'rcate incremental% deci pot citi înainte ca documentul s' fie înc'rcat în totalitate% dar anali&atoarele XML de validare nu permit afi(area documentului dec*t în ca&ul în care acesta este valid% deci documentul va ap'rea pe ecranul utili&atorului numai în momentul în care este înc'rcat în totalitate$ -cest lucru poate fi sup'r'tor$ Totu(i% fiecare document este creat av*nd în minte un DTD% indiferent dac' DTD+ul este e6plicit sau nu$ C iar (i la crearea documentelor f'r' un DTD% tre!uie s' avut în vedere un fel de DTD empiric pe m'sur' ce este creat documentul% deoarece un DTD descrie o structur' de date$ B$2 Descrierea de voca!ulare noi cu XML XML are o natur' dual'F un metalim!a, care permite descrierea de noi structuri de documente (i voca!ulare (i un lim!a, utili&at ca s' e6prime acea structur' (i acel voca!ular în ca&ul unui document$ E6ist' o diferen"' clar' între un document XML% care poate avea sau nu asociat un DTD e6primat în metalim!a,ul XML% (i un DTD XML$ Ele utili&ea&' sinta6e complet diferite pentru a descrie un document XML% unul prin e6emplu iar cel'lalt prescriptiv$ Defini"iile tipului documentului XML .DTD+urile/ descriu instan"e ale lim!a,ului XML% numite uneori voca!ulare XML$ Dcumentele XML sunt create utili&*nd acele lim!a,e$ Din p'cate% aceast' diferen"' se pierde uneori în e6primarea neoficial'% iar voca!ularele XML particulare (i DTD+urile asociate sunt descrise ine6act ca 9 XML9$ Utili&atorul unui lim!a, sau voca!ular XML poate c' nu va vedea niciodat' sau poate c' nici nu îi pas' de DTD+ul utili&at pentru a descrie aplica"ia sa% la fel cum miilor de persoane care lucrea&' în desi#n =e! utili&*nd RTML nu le pas' de =AC RTML B$I )1ML DTD utili&at în descrierea RTML$ De fapt% un DTD poate s' nu e6iste$ Nu are o importan"' c iar a(a mare la nivelul aplica"iei$ B$A -vanta,ele defini"iei tipurilor documentului
Pagina "$ din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Cu toate c' DTD+urile sunt op"ionale deoarece un procesor XML poate conduce un DTD convena!il dintr+o instan"' a XML% e6isten"a unui DTD ofer' multe avanta,eF P Un DTD descrie or#ani&area unui document într+un mod care poate fi distri!uit cu u(urin"'$ P Un DTD permite unui proiectant s' cree&e o transformare ro!ust' dintr+un anumit tip de document XML într+un alt format% pentru afi(are sau transfer$ Deoarece cu un DTD se cunoa(te a!solut orice despre documente% se vor putea trata structuri care este posi!il s' nu e6iste într+un anumit e6emplu% dar sunt permise de tipul documentului% c iar dac' nu au fost înt*lnite niciodat' p*n' acum$ P Un DTD permite unui anali&or care validea&' s' determine dac' un anumit document este sau nu creat în conformitate cu re#ulile sta!ilite de autorul specifica"iei$ -cest lucru este e6trem de important pentru EDI .Electronic Data Interc an#e 7 sc im! electronic de date/ (i alte aplica"ii în care documentele vor fi parta,ate (i utili&ate (i de alte procese$ P F'r' un DTD% un mediu de creare XML nu poate oferi su#estii despre elementele care sunt necesare sau op"ionale într+un anumit loc (i despre atri!utele pe care le poate con"ine un anumit element$ Meniurile conte6tuale sau su#estiile pot fi de mare a,utor în accelerarea de&volt'rii documentelor (i în prevenirea erorilor$ P F'r' un DTD% autorul unui manual de crea"ie sau al unui document de stil nu are de unde s' (tie cum ar tre!ui construit documentul definit$ Un manual de crea"ie este o întrupare a informa"iei e6primate într+un DTD% cu toate c' nu este un DTD în sine$ P )pecificarea DTD+ului utili&at într+un document identific' versiunea standardului folosit la crearea sa$ C*nd documentele se de&volt' în func"ionalitate (i sinta6'% acesta poate fi un indiciu într+o situa"ie nou'$ B$B Com!aterea de&avanta,elor defini"iei tipurilor documentului Cu toate avanta,ele lor% DTD+urile ridic' (i pro!leme$ Ele utili&ea&' o sinta6' diferit' de XML% deci construirea unui DTD necesit' un alt set de a!ilit'"i$ Jn plus ca orice descriere te nic'% implicarea în proiectarea unui DTD neav*nd în vedere aspectul structurii datelor în document poate duce la împotmolirea în detalii atunci c*nd este nevoie de aten"ie la structura #eneral'$ Multe persoane proiectea&' documente XML utili&*nd voca!ularul XML destinat (i apoi utili&ea&' un instrument de e6tra#ere automat' de DTD+uri pentru a #enera un DTD pe !a&a documentului$ Dup' reali&area acestui lucru% DTD+ul poate fi re#lat prin ad'u#'ri la codul surs' sau prin a,ustarea acestuia$ Dar DTD au (i urm'toarele de&avanta,eF

Pagina "9 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

P Cu un DTD% un a#ent utili&ator XML care validea&' necesit' cel pu"in înc' o opera"ie de citire pentru a accesa loca"ia unde este disponi!il DTD+ul$ Cu toate c' plasarea în cac e poate reduce performan"ele pentru unii utili&atori din re"ea% multe utili&'ri previ&i!ile ale documentelor XML vor face imposi!il' utili&area stoc'rii în cac e$ P Un DTD cre(te cu mult comple6itatea anali&orului necesar pentru a determina dac' un document poate fi afi(at$ 0entru unele dispo&itive% este posi!il ca acest lucru s' fie reali&a!il$ P Unele medii de creare care validea&' (i utili&ea&' un DTD în#reunea&' salvarea spa"iului de lucru la sf*r(itul &ilei sau restaurarea sa în &iua urm'toare% cu e6cep"ia ca&ului în care documentul se afl' într+o stare valid'$ P Din punct de vedere teoretic% un DTD este capa!il s' continue nelimitat citiri e6terne% deoarece un DTD poate con"ine alte DTD+uri sau mul"imi de entit'"i$ Este posi!il ca pentru afi(area unor documente comple6e s' fie nevoie de foarte mult timp atunci c*nd se utili&ea&' un anali&or care validea&'$ Deci&ia utili&'rii unui DTD este un compromis între a!ilitatea de utili&are f'r' restric"ii% o!i(nuit' în RTML 7 posi!ilitate de a face aproape tot ce se dore(te 7 (i un mediu mult mai structurat$ Jn multe situa"ii% cum sunt cele în care se reali&ea&' documente care tre!uie s' fie #eneral disponi!ile (i sunt create distri!uit% tre!uie s' se respecte strict re#ulile (i este de dorit folosirea unui DTD$ Jn alte ca&uri% cum ar fi atunci c*nd se de&volta un tip de document XML nou% nu este nevoie sau nu este dorit' constr*n#erea strict' (i se poate reali&a f'r' un DTD% cel pu"in în timpul proiect'rii ini"iale$ Dar dup' ce de&voltarea a devenit un produs sta!il% este de dorit ca proiectul s' poat' fi distri!uit cu u(urin"'$ C iar dac' se dore(te crearea unui manual de utili&are% un DTD este o metod' simpl' de a permite utili&atorilor s' î(i teste&e propriile documente pentru a se asi#ura c' au respectat indica"iile pe care le+au citit în manual$ Jn acel moment% se poate considera c' DTD+urile ofer' o fle6i!ilitate prea mare$ B$C XML% doar un alt RTMLK XML este un lim!a, cu etic ete (i atri!ute asem'n'tor cu RTML% dar un RTML transformat at*t de mult% înc*t nu mai poate fi recunoscut$ XML este mult mai structurat dec*t RTML$ Jn timp ce procesoarele RTML accept' în mod curent cod incorect (i diform (i încearc' s' îi dea sens pe ecran% XML tre!uie s' se opreasc' atunci c*nd #'se(te o eroare fatal'% care poate fi aproape orice tip de eroare$ -ceasta este într+un fel o întoarcere la primele &ile ale prelucr'rii datelor% c*nd orice eroare din cod era pedepsit' cu un vida, de memorie% .core dump/ l*n#' care se puteau petrece ore între#i în încercarea de a+l descifra$
Pagina #% din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Totu(i pe l*n#' acest comportament necru"'tor% XML este cu mult mai puternic$ Jn timp ce RTML se mul"ume(te cu un num'r relativ mic de etic ete% XML are un num'r de etic ete aproape infinit% structurate în aproape orice fel se dore(te$ Oricum% fundamentele au r'mas acelea(i% XML repre&ent*nd un pas evolutiv al RTML$ Nu numai c' un RTML !ine f'cut este foarte aproape de XRTML 7 un înlocuitor al RTML care respect' XML 7 dar un cod RTML B$I curat este destul de li&i!il ca XRTML 3$I$ Deoarece RTML B$I a fost structurat ca o aplica"ie )1ML% iar XML este o su!mul"ime a )1ML% acest lucru este lo#ic$ Diferen"ele sintactice minore dintre XRTML% un voca!ular XML% (i RTML% un voca!ular )1ML% pot fi a,ustate automat dac' este nevoie$ -utorul unui document XML ofer' de o!icei un manual de creare sau codare .sau o foaie% pentru DTD+uri mici/ descriind etic etele utili&ate în aplica"ia XML% atri!utele lor% valorile posi!ile (i modul lor de im!ricare$ Urm'rirea unui astfel de manual de codare nu este mai dificil' dec*t re"inerea faptului c' o linie de ta!lou Ytr\ tre!uie s' fie im!ricat' în interiorul unui ta!lou Yta!le\ (i nu are% sau nu ar tre!ui s' ai!'% sens în afara acelui conte6t$ 0entru ma,oritatea situa"iilor% acest lucru este suficient$ XML este capa!il s' ofere autorilor suficient a,utor în înv'"area modului de utili&are a unei anumite aplica"ii% deoarece ace(tia sunt încura,a"i s' dea etic etelor nume su#estive% care s' fie u(or de re"inut$ -utorul unei aplica"ii ar tre!ui s' furni&e&e un manual de creare care s' e6plice în termeni simpli modul de utili&are a aplica"iei$ Cu toate c' orice procesor XML poate spune despre o por"iune de cod dac' este sau nu construit corect% iar un manual poate a,uta la construirea unui document valid% DTD+ul permite verificarea f'r' am!i#uit'"i a codului$ Totu(i% în func"ie de tipul de creare utili&at% acesta poate fi un pas diferit de procesul de editare$ Codul îndepline(te acest ideal în func"ie de utili&area dat' numelor etic etelor% totu(i între anumite limiteF P Numele de etic ete care încep cu (irul U6ml9% indiferent de tipul literelor% sunt re&ervateQ adic'% indiferent de situa"ie% nu este permisa crearea lor$ P Numele de etic ete care con"in caracterul dou' puncte pot fi interpretate ca identificatori av*nd asociat' o &on' de nume% deci utili&area celor dou' puncte în numele etic etelor este puternic com!'tut' (i poate fi c iar inter&is'$ P Un nume de etic et' tre!uie s' înceap' cu o Uliter'9% care în acest conte6t este orice liter' sau ideo#ram' UnicodeMI)OMIEC 3IDBD% sau cu o liniu"' de su!liniere Jn continuare% numele unei etic ete poate con"ine orice Uliter'9% ideo#ram' sau cifr' UnicodeMI)OMIEC 3IDBD% caractere de com!inare% caractere de e6tindere% puncte% cratime% spa"ii sau dou' puncte$ De altfel% pu"ine lim!i de pe #lo! au caractere cu care s' nu poat'
Pagina #1 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

începe un nume corect în lim!a respectiv'$ -ceste caractere sunt e6cluse din lista de caractere dac' se afl' într+o po&i"ie în care pot fi v'&ute ca Uprimele9 dup' o cratim' sau un alt separator lo#ic de cuvinte$ Caracterul t ailande& mai LamoN .arat' ca un f întors (i f'r' liniu"'/% de e6emplu% arat' ca o liter'% dar nu poate fi folosit ca prim' liter' a unui cuv*nt deoarece el semnific' repetarea literei anterioare$ Caracterele de com!inare sunt caractere speciale% folosite pentru a accentua un alt caracter% multe dintre ele fiind normali&ate la un sin#ur caracter cu accent$ -cesta este un avanta, pentru intr'rile de la tastatur' deoarece multe lim!i care con"in caractere accentuate permit introducerea utili&*nd caractere accent speciale Ude l'"ime &ero9 care se pot ata(a la orice alt caracter$ Caracterele de e6tindere sunt diverse semne de punctua"ie% cum ar fi .în lim!ile europene/ middle dot% trian#ular colon (i pe undeva$ B$D )tartul în XML -cest su!iect eviden"ia&' mul"imea de deprinderi necesare pentru XML (i clarific' numeroasele asem'n'ri dintre XML (i RTMLF P XML este sensi!il la tipul literelor deoarece ma,usculele nu repre&int' un concept universal 7 Dac' s+ar trata literele mari (i mici ca fiind ec ivalente% ar tre!ui s' se fac' la fel pentru mii de alte variante de litere în alte lim!i% o opera"ie împov'r'toare$ Unele lim!i nici nu au tipuri de litere$ De e6emplu% în lim!a e!raic' nu e6ist' litere mici% iar lim!a ara!' nu face distinc"ie între forma ini"ial'% de mi,loc (i final' a literelor$ 0entru cei care prefer' s' scrie etic etele cu ma,uscule (i atri!utele cu litere mici% pentru a le eviden"ia% aceasta este o (tire teri!il'$ Dar editoarele de cod moderne nu mai acord' o importan"' a(a de mare acestui lucru ca înainte$ De e6emplu% preci&area anumitor culori pentru a marca etic ete este un lucru o!i(nuit% deci utili&area ma,usculelor este întruc*tva un anacronism istoric% asemenea numerelor de linii în CO4OL$ P XML este foarte precis cu privire la im!ricarea corect' a etic etelor 7Etic etele nu se pot înc eia într+un conte6t diferit de cel de început$ Deci% dac' se dore(te Y!old\Yitalics\% fra&a eviden"iat' tre!uie înc is' cu YMitalics\YM!old\% pentru a evita o eroare fatal'$ Deoarece XML poate referi (i include documente XML (i fra#mente de documente oriunde pe =e!% fiecare document XML tre!uie s' se supun' acelora(i re#uli pentru a nu strica documentele altora$
Pagina #2 din 97

alf+trian#ular colon$ Caracterele e6tinse sunt

similare în alte scrieri din lumeQ nu sunt e6acte din punct de vedere alfa!etic dar se potrivesc

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

P XML nu este !ine prote,at împotriva recursivit'"ii 7 Cu toate c' este posi!il' sta!ilirea e6cluderilor e6plicite la un anumit nivel% la o structur' comple6' a unui document este dificil' men"inerea acelor e6cluderi la un nivel redus% mai ales atunci c*nd se utili&ea&' etic ete care pot fi aplicate la orice nivel$ Deci% interdic"ia RTML referitoare la includerea unei etic ete ancor' Ya\ în interiorul altei etic ete ancor' e6ist' (i în XML% dar nu este impus' dincolo de includerea direct'$ P XML o!li#' la înc iderea fiec'rei etic ete% c iar (i a etic etelor vide 7 Deoarece este posi!ila crearea unui document XML care s' nu utili&e&e un DTD% un procesor XML nu are de unde s' (tie dac' o etic et' este sau nu vid'$ Deoarece toate documentele XML tre!uie s' fie construite corect% etic etele vide tre!uie marcate cu o sinta6' special' care spune unui procesor XML c' etic eta este vid' (i înc is'$ -cest lucru se reali&ea&' plas*nd un spa"iu (i un caracter slas la sf*r(itul etic etei% astfelF Y!reaN M\ E6ist' o sinta6' alternativ'% care este la fel de !un' pentru procesoarele XML reale% dar !loc ea&' frecvent !ro:serele =e! atunci c*nd este utili&at' cu XRTMLQ aceasta cere ca o etic et' vid'% cum ar fi Y!r\% s' fie înc is' cu YM!r\% astfelF Y!r\YM!r\ Din p'cate% este prea periculoas' pentru a fi utili&at' în si#uran"'$ Multe !ro:sere actuale (i ma,oritatea celor mo(tenite nu recunosc etic eta de înc idere non+ RTML (i fac lucruri ciudate cu ea$ Navi#ator B$E% de e6emplu% poate &'p'ci afi(area atunci c*nd se împiedic' de o etic et' YM!r\$ Comportamentul e6act poate diferi în func"ie de po&i"ia în cod (i de etic eta vid' care se înc ide$ 0e scurt% aceast' sinta6' este predispus' la erori (i ar tre!ui evitat'$ P XML necesit' încadrarea valorilor atri!utelor fie între apostrofuri% fie între # ilimele 7 -colo unde RTML este indul#ent% mai ales în ceea ce prive(te numerele (i aproape orice (ir f'r' spa"ii în interior% XML tratea&' totul ca (ir de caractere (i las' aplica"ia s' î(i dea seama sin#ur' de toate acestea$ P XML recunoa(te mai multe lim!i 7 )pre deose!ire de RTML% seturile de caractere e6tinse utili&ate în multe lim!i europene nu sunt pe deplin recunoscute în mod presta!ilit$ E6ist' un mecanism simplu pentru includerea acestora% precum (i a între#ului set de caractere Unicode .cunoscut% de asemenea% (i ca I)OMIEC 3IDBD/ care are peste un milion de caractere% deci suportul pentru c ine&'% ara!' (i multe alte lim!i mai e6otice ale lumii este un lucru u(or$ Jn afar' de diferen"ele men"ionate în aceast' list'% XML este foarte asem'n'tor cu RTML din punctul de vedere al marc'rii etic etelor% al ar#ument'rii atri!utelor (i al trecerii con"inutului între perec i de etic ete$
Pagina # din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Lim!a,ul XML a fost proiectat astfel înc*t s' fie transparent la utili&are pentru a putea fi în"eles (i utili&at cu u(urin"'$ Descrierile XML succinte sau complicate din ma,oritatea documentelor sunt #reu de în"eles în efortul de a fi e6plicit într+un mod în care pro#ramatorii s' îl poat' translata cu u(urin"' în aplica"ii care s' func"ione&e$ B$E Definirea unui document XML ca între# Un document XML este o colec"ie de entit'"i care pot fi sau nu anali&ate$ Datele care nu sunt în"elese de un procesor XML% date !inare sau date care au sens numai pentru alte aplica"ii% repre&int' date neanali&ate$ Datele în"elese de XML% fie ca (i caractere fie ca marca,e% sunt date anali&ate$ Un document XML tre!uie s' fie construit corect$ Jn Recomandarea XML 3$I a =AC aceast' situa"ie este descris' concis prin urm'toarele cerin"eF P Luat ca între#% corespunde produc"iei etic etate ca document$ P )atisface toate constr*n#erile de construire corect' din aceast' specifica"ie .Recomandarea XML 3$I/ P Fiecare entitate anali&at'% referit' direct sau indirect în cadrul documentului% este construit' corect$ 0rima constr*n#ere spune c' pentru a fi construit corect% un document XML tre!uie s' respecte toate re#ulile care descriu un document în Recomandarea XML 3$I$ -cele re#uli spun în primul r*nd c' un document XML tre!uie s' con"in' un prolo# (i un sin#ur element care formea&' elementul r'd'cin' al documentului% împreun' cu comentarii op"ionale (i instruc"iuni de prelucrare la sf*r(itul documentului% dar% din p'cate% anali&orul XML nu are cum s' spun' dac' aceste comentarii (i instruc"iuni de prelucrare ata(ate sunt sau nu ata(ate documentului$ Deoarece ele pot sa fie plasate dup' etic eta de înc eiere% un anali&or XML nu poate s' spun' nici dac' instruc"iunile de prelucrare (i comentariile ata(ate au fost sau nu recep"ionate$ -ceasta contravine re#ulii #enerale din XML care spune c' un anali&or tre!uie s' fie capa!il s' indice dac' un document este sau nu complet$ Dac' se utili&ea&' instruc"iuni de prelucrare sau comentarii% este prefera!il' trecerea lor în prolo# unde sunt mult mai în si#uran"' (i nu se pot pierde$ Cea de a doua constr*n#ere spune c' documentul respect' constr*n#erile construirii corecte descrise în document$ Una din constr*n#erile construirii corecte este c' entit'"ile anali&ate recursiv sunt inter&ise$ Recursivitatea din aceast' interdic"ie se refer' la formarea unei !ucle de entit'"i în care o entitate se încorporea&' pe ea îns'(i sau o alt' entitate care se încorporea&' pe ea îns'(i indiferent de nivelul de indirectare$ -ceasta mai înseamn' (i c' un document nu se poate referi la el însu(i% nici m'car indirect printr+o entitate e6tern'$ El se
Pagina #! din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

poate referi la o entitate e6tern' numai dac' aceasta nu se refer' la ea îns'(i% c iar (i indirect$ Este posi!il ca anali&oarele care nu validea&' s' nu depiste&e aceast' eroare% dar aceasta este totu(i o eroare$ Din punct de vedere lo#ic este evident c' dac' documentul - con"ine documentul 4% definindu+l pe 4 ca (i c*nd l+ar con"ine pe - se #enerea&' o !ucl' infinit'$ 4ucla infinit' este inter&is'$ Jn termeni XML% construc"ia corect' este o alt' modalitate de a spune c' un document XML formea&' un ar!ore% sau o ramur' a unui ar!ore% adic' este complet în sine$ -cest lucru este necesar deoarece XML permite construirea de documente mai mari din unele mai mici (i repre&int' o c eie a posi!ilit'"ii de utili&are a XML pe =e!$ De(i construirea corect' poate fi considerat' suficient' deoarece un document construit corect are un DTD care îl descrie% pot fi construite un num'r infinit de DTD+uri care% de asemenea% s' îl descrie$ Deci% pentru validitate total'% un DTD asociat este necesar$ 0roduc"ia documentului este definit' în numai dou' afirma"ii% preluate din nou din Recomandarea XML 3$IF P Con"ine unul sau mai multe elemente$ P E6ist' un sin#ur element% numit r'd'cin' sau element document% care s' nu ai!' nici o parte a sa în con"inutul oric'rui alt element$ 0entru toate celelalte elemente% dac' etic eta de pornire se afl' în con"inutul unui alt element% atunci (i etic eta de înc eiere se afl' în con"inutul aceluia(i element$ E6primat mai simplu% elemente delimitate de etic ete de pornire (i înc eiere sunt im!ricate corect unele în altele$ 0rima afirma"ie spune c' într+un document tre!uie s' e6iste cel pu"in un element sau% altfel spus% un document construit corect nu poate fi vid$ Cea de a doua afirma"ie spune c'% într+un sens restr*ns% un document tre!uie s' fie un ar!ore$ El nu poate fi o re"ea conectat' ar!itrar sau s' ai!' orice alt' topolo#ie care nu se reduce la un ar!ore simplu$ El tre!uie s' fie complet pentru a putea vedea diferen"a dintre o desc'rcare reu(it' (i una par"ial'$ Din punct de vedere te nic% un ar!ore este un #raf cone6 care nu con"ine circuite$ Cu alte cuvinte% un ar!ore se ramific' de la r'd'cina sa f'r' a se mai conecta la el însu(i% deci nu con"ine muc ii multiple sau !ucle$ Orice lucru care con"ine !ucle sau muc ii multiple% nu este un ar!ore% ci altceva% (i nu poate fi repre&entat în XML$ Un efect secundar interesant este acela c' într+un ar!ore se poate ale#e ar!itrar un punct% (i se poate transforma un nod într+o r'd'cin'% reor#ani&*nd ar!orele într+un alt ar!ore% cu o alt' ordine de parcur#ere$ -ceasta ilustrea&' caracterul capricios al sc emelor de clasificare$

Pagina #" din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

O desc'rcare par"ial' este posi!il' în RTML% deoarece RTML nu are nevoie de etic eta de înc eiere YM tml\% sau nu are nevoie de aproape nici o etic et' de înc eiere$ Uneori !ro:serul poate detecta întreruperea% dar acest lucru nu este #arantat$ -ceasta însemn' c' un document par"ial se poate de# i&a într+unul complet% iar utili&atorul nu are de unde s' (tie acest lucru p*n' c*nd în te6t nu apare o eroare evident'$ XML previne aceste pro!leme% lucru care poate fi important în ca&ul în care un utili&ator reclam' ulterior c' o conven"ie de acordare a licen"ei% de e6emplu% nu a fost afi(at' în între#ime$ Insist*nd asupra unui ar!ore complet% un astfel de e6emplu fiind pre&entat în Fi#ura 3% se

elimin' aceste pro!leme posi!ile$

Fi#ura 3 0e de alt' parte% un #raf care nu formea&' un ar!ore nu poate fi transformat într+un document XML dec*t dac' #raful poate fi simplificat% elimin*nd toate caracteristicile care nu sunt repre&entative pentru ar!ori$ Jn Fi#ura 2% de e6emplu% #raful din st*n#a poate fi simplificat prin eliminarea unei c'i de la frun&a de sus c'tre un nod$ Jn aceea(i fi#ur'%

Pagina ## din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

#rafului din partea dreapt' tre!uie s' i se elimine o r'd'cin' deoarece un document XML poate avea o sin#ur' r'd'cin'$

B$G 0rolo#ulF declara"ia XML Fiecare document XML% ar tre!ui s' înceap' cu o declara"ie XML care identific' fi(ierul ca fiind un fi(ier XML (i identific'% de asemenea% versiunea XML utili&at' în documentul respectiv$ Caracterul op"ional este datorat numai faptului c' pe =e! e6ist' multe fi(iere RTML (i )1ML care corespund perfect unui document XML construit corect$ De asemenea% declara"ia XML este locul unde se declar' codificarea (i dac' documentul este sau nu autonom$ Ordinea din fra#mentul urm'tor este o!li#atorie cu toate c' atri!utele encodin# (i standalone sunt am!ele op"ionale$ YK6ml versionZ93$I9 encodin#Z9I)O+GGCH+39 standaloneZ9Les9\ Codific'rile permit identificarea c'rui dintre multiplele seturi de caractere va fi utili&at în document$ -cest lucru este important deoarece% spre deose!ire de RTML% care implic' -)CII% (i o!li#' la folosirea numelor -)CII% XML permite vor!itorilor de Rindi% de e6emplu% s' utili&e&e codificarea lor (i s' fac' te6tul (i mediul de editare li&i!il (i pentru persoanele o!i(nuite care pot fi autori XML$ )au% un autor c ine& poate s' prefere caracterele c ine&e(ti în etic ete (i în con"inut cu c*teva limit'ri !a&ate pe re#ulile lim!a,ului în sine% se pot utili&a moduri de scriere (i ideo#rame at*t în numele etic etelor c*t (i în con"inut$ B$H Documente autonome

Pagina #7 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Jn conformitate cu Recomandarea XML 3$I a =AC% UDocumentele autonome nu au declara"ii de marcare e6terne care s' afecte&e informa"ia XML transferat' de procesorul XML unei aplica"ii9$ -cesta este un mod e6traordinar de succint (i o!scur de a spune c' standaloneZ9Les9 înseamn' c'F P Jntr+un DTD e6tern nu e6ist' valori presta!ilite declarate ale atri!utelor care s' nu fie setate e6plicit în document$ P Nu sunt utili&ate alte entit'"i în afar' de SampQ% SltQ% S#tQ% SaposQ% (i S]uotQ% care nu au fost declarate local sau poate citite prin referin"' dintr+un fi(ier$ P Nu e6ist' elemente care s' ai!' ca (i con"inut numai spa"ii al!e de orice natur'$ P Nu e6ist' atri!ute e6terne care tre!uie normali&ate% deci con"inutul atri!utelor nu poate con"ine spa"ii al!e% caractere sau referin"e la entit'"i$ -ceasta nu înseamn' c' documentul nu are nimic e6tern$ -ceasta înseamn' în special c'% indiferent de locul în care un procesor XML care nu validea&' se opre(te din citirea documentelor e6terne% se opre(te prelucrarea tuturor declara"iilor$ Toate aceste lucruri se pot face dac' (i numai dac' sunt puse în su!mul"imea DTD+ului intern$ Datele e6terne care nu sunt marca,e nu fac su!iectul acestei afirma"ii$ Deci% pot e6ista fi(iere #rafice% fi(iere te6t incluse (i orice altceva% at*t timp c*t ele nu sunt marca,e (i au fost declarate în su!mul"imea DTD+ului intern$ Dup' toate acestea% procesorul XML nu tre!uie s' anun"e aplica"ia dac' documentul este sau nu autonom$ De fapt% procesorul nu tre!uie s' fac' nimic cu aceast' informa"ie (i nici s' se comporte într+un anumit fel atunci c*nd înt*lne(te aceast' informa"ie$ Jn mod fundamental% proiectantul DTD+ului tre!uie s' descifre&e dac' documentul creat utili&*nd acel DTD poate fi sau nu autonom (i s' comunice acest lucru oamenilor inclusiv autorilor$ -utorii care (tiu c' DTD a fost proiectat pentru a fi autonom sau cei care au convertit un document care nu a fost proiectat s' fie autonom în acest format% pot insera stanaloneZ9Les9 în declara"ia lor XML ca o documenta"ie a acelui faptF YK6ml versionZ93$I9 standaloneZ9Les9 K\ Documentele care nu sunt autonome pot fi convertite prin al#oritmi la documente autonome% automat% presupun*nd c' este disponi!il' o facilitate care s' reali&e&e acest lucru% sau manual în ca& contrar$ B$3I Construirea prolo#ului unui document XMLF Declara"ia tipului documentului .Document TLpe Declaration/ 0rolo#ul unui document XML con"ine mai multe instruc"iuni$ 0rima% declara"ia XML% afirm' c' documentul urm'tor este XML$ Cea de a doua% declara"ia tipului documentului .Document TLpe Declaration/% este metoda utili&ata pentru a identifica defini"ia tipului
Pagina #$ din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

documentului .Document TLpe Definition + DTD/ folosit' de un anumit document$ Faptul c' acronimul DTD poate fi aplicat la Document TLpe Declaration este o coinciden"' nefericit'$ DTD se refer' numai la Document TLpe Definition$ Jntr+un document XML poate e6ista o sin#ur' declara"ie a tipului documentului% deci este introdus' c iar în instan"a documentului$ Deoarece pot fi com!inate mai multe DTD+uri pentru a forma un sin#ur document% aceasta permite controlul înc'rc'rii DTD+urilor în fiecare document$ Declara"ia tipului documentului .DOCTk0E/ are dou' p'r"i% am!ele op"ionale$ 0rima se refer' la un DTD e6tern% (i utili&ea&' cuvinte c eie 0U4LIC sau )k)TEM pentru a identifica o intrare dintr+un catalo#% respectiv un URI$ Jn ca&ul în care cataloa#ele nu sunt implementate în procesorul XML% se pot specifica am!ele p'r"i deodat'% f'r' cel de al doilea cuv*nt c eieF YeDOCTk0E nume+document 0U4LIC UTcatalo# idV9\ YeDOCTk0E nume+document 0U4LIC UTcatalo# idV9 UTuriV9\ YeDOCTk0E nume+document )k)TEM UTuriV9\ Cea de a doua parte op"ional' a declara"iei DOCTk0E permite introducerea su!mul"imii interne a unui DTD direct în document$ E6ist' restric"ii severe cu privire la #enul de informa"ie care poate fi introdus' în DTD+ul intern% dar oricum se pot face destul de multe$ )u!mul"imea intern' a unui DTD este încadrat' între parante&e drepte% astfelF YeDOCTk0E nume+document ? Tdeclara"iile DTD+ului internV @\ De asemenea% cele dou' pot fi com!inate% permi"*nd ad'u#area anumitor tipuri de declara"ii (i entit'"i aproape în orice modF YeDOCTk0E nume+document 0U4LIC UTcatalo# idV9 UTuriV9 ? Tdeclara"iile DTD+ ului internV @\ 0entru claritate% su!mul"imea intern' este eviden"iat' ca mai ,osF YeDOCTk0E nume+document 0U4LIC UTcatalo# idV9 UTuriV9 ? Tdeclara"iile DTD+ului internV @\ Declara"ia DOCTk0E tre!uie s' utili&e&e numele elementului r'd'cin' al DTD+ului fie acesta intern sau e6tern% ca fiind c*mpul etic etat nume+document din e6emplele anterioare$ Deci dac' numele elementului r'd'cin' al DTD+ului este Dave% declara"ia DOCTk0E ar tre!ui s' înceap' astfelF YeDOCTk0E Dave l\ Manualul de codare indic' autorilor ce tre!uie trecut în DOCTk0E$ Un proiectant DTD ar tre!ui s' furni&e&e un astfel de document sau o foaie de codare fiec'rui autor$ De
Pagina #9 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

asemenea% se poate crea un DTD master care apelea&' p'r"ile DTD necesare% lucru care seam'n' cu comen&ile dintr+un meniu$ -tunci c*nd se o!"ine o com!ina"ie de func"ionalit'"i care permite crearea structurii documentului de care este nevoie% se poate pu!lica DTD+ul re&ultat (i înl'tura nepl'cerea refacerii pentru fiecare document nou$ B$3I$3 Crearea corpului documentului Un document XML este alc'tuit din te6t% care de o!icei este format dintr+un amestec de marca,e (i date caracter$ 0rolo#ul con"ine numai marca,e% dar nu aceasta este partea interesant'% deoarece este nevoie de date care s' înso"easc' marca,ele care% altfel% nu ar fi dec*t ni(te cutii #oale ce a(teapt' s' fie umplute$ Corpul documentului con"ine aproape tot ceea ce contea&' din perspectiva unei aplica"ii împr'(tiate #eneros în cadrul marca,elor$ B$3I$2 Date caracter Un DTD poate declara multe tipuri de date care s' poat' fi utili&ate într+un document% dar tipul de date presta!ilit este întotdeauna CD-T-% pentru date o!i(nuite de tip caracter$ Foaia sau manualul de codare indic' ce tip de dat' poate fi introdus în fiecare atri!ut sau c*mp cu con"inut element$ 0resupun*nd c' tipul de date este CD-T-% în c*mp se poate pune aproape orice se dore(te at*t timp c*t nu con"ine un marca, în afara unei secven"e escape$ Este pe deplin posi!il' construirea unui DTD care s' nu con"in' te6t în interiorul elementelor$ Jn sc im!% se pot pune datele semnificative în interiorul atri!utelor asociate fiec'rui element% care pot fi toate declarate ca fiind vide sau av*nd numai con"inut element$ -cest lucru se face uneori pentru a converti un document utili&*nd un standard de codificare cum ar fi M-RC% care este în esen"' un format !inar% la XML$ B$3I$A Marca,ul Marca,ul este format din ansam!lu de date non+caracter dintr+un fi(ier XML$ Diversele forme pe care le poate lua un marca, sunt pre&entate în ta!elul urm'torF

Ta!el 3 )inta6a marca,ului XML
Pagina 7% din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Toate celelalte sunt date de tip caracter$ Marca,ul începe întotdeauna fie cu caracterul Y% ca& în care se înc eie întotdeauna cu caracterul \% fie cu caracterul S% ca& în care se înc eie întotdeauna cu caracterul UQ9$ B$3I$B Formarea structurilor lo#ice în XML Im!ricarea elementelor este sin#urul mecanism utili&at pentru a ar'ta structura lo#ic' dintr+un document XML$ Etic etele de pornire (i înc eiere din flu6ul de te6t spun procesorului XML c' a fost înt*lnit un nod$ Dac' procesorul XML înt*lne(te o alt' etic et' de pornire înainte de etic eta de înc eiere corespun&'toare% atunci procesorul (tie c' acesta este fie un nod nou în ar!ore% fie o frun&'$ Dac' nu #'se(te o nou' etic et' de pornire (i înt*lne(te o etic et' de înc eiere% atunci procesorul (tie c' aceasta este o frun&' (i c' poate ac"iona iterativ la acel nivel al ar!orelui p*n' c*nd înt*lne(te o alt' etic et' de pornire sau de înc eiere$ 0relucrarea ac"ionea&' treptat% !a&*ndu+se pe aceast' re#ul' simpl'$ Dac' procesorul validea&' documentul% atunci fiec'rui nod i se poate asocia o re#ul' care s' determine ce tip de con"inut poate ap'rea în el$ O etic et' vid' este% prin defini"ie% o frun&'% deoarece nu poate avea nici un con"inut$ Ma,oritatea structurilor de date con"inute într+un document XML pot fi accesate secven"ial f'r' a construi structura în memorie$ O etic et' de pornire începe un nod sau o frun&'% iar etic eta de înc eiere corespun&'toare îl.o/ înc eie$ Orice etic ete înt*lnite între o etic et' de înc eiere corespun&'toare ei încep un nod sau o frun&' nou'$ -cest principiu repre&int' !a&a lui )-X (i a altor procesoare XML conduse prin evenimente$ Restul structurii lo#ice a documentului este definit prin atri!utele asociate fiec'rui element$ Jn plus% structura lo#ic' poate diferi în func"ie de con"inutul sec"iunilor condi"ionale din cadrul documentului sau al componentelor sale$ B$3I$C Cum formea&' XML structurile fi&ice Im!ricarea entit'"ilor este sin#urul mecanism utili&at pentru a ar'ta structura fi&ic' dintr+un document XML$ Defini"iile de entit'"i înt*lnite în flu6ul de te6t îi comunic' procesorului XML c' a fost #'sit' o alt' entitate$ E6ist' multe tipuri de entit'"i% de la entit'"ile mici care formea&' caractere individuale% cum ar fiF Sf62IQ .spa"iu/% p*n' la entit'"ile e6terne care permit încorporarea într+un document por"iuni din alte documente XML sau includerea într+un document a referin"elor la date neanali&ate% cum ar fi fi(iere multimedia pentru redarea ulterioar' de c'tre un a#ent utili&ator$

Pagina 71 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Un document XML este o colec"ie de astfel de entit'"i$ Fiecare din aceste su!entit'"i tre!uie s' fie complet' în sine$ -ceasta înseamn' c'% deoarece structura documentului ca între# tre!uie s' fie un ar!ore simplu% fiecare su!entitate tre!uie s' fie un sin#ur nod sau tre!uie s' fie% de asemenea% un ar!ore simplu$ )tructuri mai mari se pot construi prin ad'u#area nodurilor sau a ar!orilor su!entitate ca por"iuni ale ar!orelui mai mare$ B$3I$D Etic ete de pornire (i etic ete de înc eiere Jn XML sunt utili&ate dou' tipuri de etic ete% etic ete cu con"inut (i etic ete vide$ Etic etele cu con"inut tre!uie s' ai!' o etic et' de pornire (i o etic et' de înc eiere$ Etic eta de pornire con"ine numele elementului încadrat între parante&e un# iulare% av*nd op"ional atri!ute ca ar#umente$ Etic eta de înc eiere con"ine numele elementului precedat de caracterul slas % totul fiind încadrat între parante&e un# iulare$ Jn etic eta de înc eiere nu pute"i trece atri!ute$ Codul urm'tor repre&int' o etic et' cu con"inutF Ytitlu su!titluZ9I c'l'torie acas'9 \Dus+întorsYMtitlu\ )eam'n' mult cu etic etele RTML standard (i nu ar tre!ui s' ridice alte pro!leme în afara celei de construire corect'% care cere ca ele s' se im!rice într+adev'r una în cealalt'$ Nu pot e6ista etic ete care s' alterne&e între ele ca în acest e6emplu #re(it construitF Y!old\Yitalic\TEXT -CCENTU-TYM!old\YMitalic\ Cu toate c' este o eroare o!i(nuit' în RTML% XML este cu mult mai preten"ios (i nu va permite aceast' construc"ie$ Etic etele tre!uie im!ricate corect% dup' cum se vede în e6emplul urm'torF Y!old\Yitalic\TEXT -CCENTU-TYMitalic\YM!old\ -cum etic etele sunt im!ricate corect$ Tre!uie înc is' fiecare etic et' care începe în conte6tul unei anumite etic ete .sau a mai multor etic ete/ înainte de înc iderea conte6tului etic etei respective$ Etic etele vide au disponi!il un format special% cu toate c' aceea(i sc em'% etic et' de pornireM etic et' de înc eiere% poate fi utili&at' at*ta timp c*t se "ine cont de faptul c' nu tre!uie pus nici un fel de con"inut între etic eta de pornire a elementului vid (i etic eta de înc eiere care urmea&' imediat dup' ea$ De asemenea% poate e6ista preocuparea c' este posi!il ca documentul XML s' fie vi&uali&at cu un !ro:ser =e! o!i(nuit% deoarece etic etele de înc eiere pentru elementele care arat' ca etic ete RTML vide pot duce la !locarea !ro:serului sau la un comportament ciudat al acestuia$ Totu(i% pentru utili&are #eneral'% formatul special este mnemonic în sine% un avanta, deoarece se poate vedea c' etic eta este vid' (i nu !loc ea&' aproape nici un !ro:ser$ De o!icei% etic etele vide sunt pornite (i înc eiate în cadrul aceleia(i perec i de parante&e un# iulare% plas*nd dup' numele
Pagina 72 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

elementului (i toate atri!utele sale posi!ile un spa"iu% un caracter slas (i apoi parante&a un# iular' înc is'F Yima#e sourceZ9po&amea$,pe#9 tLpeZ9W0E19 M\ B$3I$E Normali&area Normali&area este un cuv*nt e6centric pentru aducerea lucrurilor la cel mai mic numitor comun (i punerea lor într+un fel de form' canonic'$ Jn conte6tul XML% el se refer' la procesul re&olv'rii referin"elor la entit'"i în loca"ii în care pot ap'rea astfel de referin"e% la aran,area r*ndurilor noi pentru a lua în considerare diversele metode de tratare a lor de c'tre diferite sisteme de operare (i la ordonarea altor lucruri care tre!uie f'cute în anumite situa"ii$ 0roiectantul rareori tre!uie s' se preocupe de normali&are% e6cep"ie f'c*nd ca&urile ne#ative$ -nali&orul XML ar tre!ui s' reali&e&e toate normali&'rile necesare% deci sin#urul lucru la care tre!uie s' se #*ndeasc' creatorul documentului este dac' normali&area va afecta sau nu datele sale atunci c*nd se va face trecerea de la forma nenormali&at' (i invers$ )+a dovedit c' e6ist' dou' locuri în care pot fi înt*lnite spa"ii al!eF în datele de tip caracter din cadrul documentului (i în datele de tip caracter atri!uite atri!utelor elementelor$ Jn primul ca&% în entit'"ile anali&ate este dificil s' se fac' distinc"ie între spa"iile al!e Usemnificative9 (i cele nesemnificative$ 0entru proiectan"i% cea mai !un' cale pare s' fie transferul c'tre aplica"ie al tuturor spa"iilor al!e împreun' cu cea mai !un' presupunere a procesorului% !a&at' pe DTD% referitoare la datele care sunt în mod si#ur nesemnificative (i la cele nesi#ure$ -cest transfer de r'spundere are sens deoarece aplica"ia este cea în m'sur' s' (tie cum s' procede&e cu spa"iile al!e suplimentare$ 0rocesorul XML poate numai s' presupun' care spa"iu al! este semnificativ (i care nu% !a&*ndu+se pe ceea ce a fost definit în DTD sau în orice alt lim!a, de sc eme utili&at$ O aplica"ie tre!uie s' fie pre#'tit' s' trate&e presupunerile eronate$ Cu tratarea sf*r(iturilor de linie% o alt' form' de spa"ii al!e% e6ist' o alt' pro!lem'$ Liniile noi sunt tratate diferit pe sisteme diferite$ -lternativele #enerale sunt un salt la linie nou' .UNIX/% un return .MacO)/ (i at*t un return c*t (i saltul la linie nou' .M) =indo:s/$ Un alt lucru o!i(nuit pentru aplica"ii este% de asemenea% inserarea de secven"e contradictorii cu oricare dintre acestea% în orice ordine% atunci c*nd înt*lnesc un fi(ier dintr+un sistem str'in$ =AC a ot'r*t c' nu poate face totul (i a ales un set re&ona!il de re#uli$ Dac' anali&orul înt*lne(te fie Sf6IDQSf6I-Q .return % salt la linie nou'/% fie Sf6IDQ.return/% el le înlocuie(te cu SfI-Q .salt la linie nou'/% caracterul de linie nou' UNIX$ Microsoft (i -pple au ales mecanisme diferite pentru separarea liniilor% Microsoft ale#*nd te nica Ucurea (i !retele9 o!i(nuit' pentru teleimprimatoare% utili&*nd un return (i
Pagina 7 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

apoi un salt la linie nou' pentru a indica o linie nou'$ -pple a ot'r*t c' saltul la linie nou' era redundant (i a considerat c' un sin#ur return este suficient% modelat pro!a!il dup' comportamentul unei ma(ini de scris o!i(nuite$ UNIX a utili&at de la început un sin#ur salt la linie nou' pentru a reali&a acela(i lucru% iar acesta a fost standardul convenit pentru XML$ Jn atri!ute e6ist' o secven"' de transformare standard (i apoi o prelucrare ad'u#at' special pentru orice în afar' de CD-T-F P Referin"ele la caractere sunt prelucrate prin ad'u#area caracterului referit la valoarea de ie(ire a atri!utului$ P Referin"ele la entit'"i sunt procesate prin prelucrarea recursiv' a te6tului de înlocuit al entit'"ii$ P )pa"iile al!e% f62I .spa"iu/% f6ID .retur de car/% f6I- .salt de linie nou'/ (i f6IH .ta! ori&ontal/ sunt prelucrate prin ad'u#area lui f62I .spa"iu/ la valoarea normali&at' a ie(irii e6cep"ie f'c*nd faptul c' se adau#' un sin#ur f62I.spa"iu/ pentru secven"a Uf6IDf6I-9 .retur de car% salt la linie nou'/% care este parte a unei entit'"i e6terne anali&ate sau valoarea entit'"ii literale a unei entit'"i anali&ate interne$ P Celelalte caractere sunt prelucrate prin ad'u#area lor la valoarea normali&at' a ie(irii$ P Dac' tipul de dat' al atri!utului nuI este CD-T-% cel presta!ilit% atunci se aplic' înc' o transformare$ )pa"iile din fa"' (i din spate sunt eliminate% iar spa"iile multiple sunt comasate într+un sin#ur spa"iu$ Diferen"a dintre cele dou' tipuri de normali&are const' în faptul c' se pot transfera în mod convena!il (iruri lun#i într+un atri!ut% restr*n#e linii astfel înc*t s' încap' în pa#in'% iar în final con"inutul elementului s' r'm*n' relativ curat$ B$3I$G Tipuri de elemente Jn mod surprin&'tor% la validare nu este o eroare utili&area unui element de un tip care nu a fost declarat% cu toate c' este posi!il ca anali&orul s' emit' un advertisment$ De fapt% permi"*nd în interiorul unor elemente alte tipuri de elmente nedeclarate% indiferent de ceea ce spune modelul lor de con"inut% se poate suplimenta DTD+ul unui document cu elemente din alte &one de nume$ Deci% tot ce r'm*ne de f'cut este utili&area elementului nedeclarat într+o manier' e6act'% construit' corect% identific*nd pe c*t posi!il &ona de nume de unde provine$ Jn termeni XML% a fi construit corect este un alt mod de a spune c' acel element formea&' un ar!ore sau o ramur' a unui ar!ore care este complet' în sine$ -cest lucru este necesar deoarece XML permite construirea de documente mai mari din unele mai mici (i este un element c eie pentru utili&area XML pe =e!$ Fiecare element dintr+un document XML valid

Pagina 7! din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

a fost definit în DTD+ul asociat acelui document prin declara"ia DOCTk0E$ DTD+ul declar' urm'toareleF P Numele efective ale elementelor P Re#ulile utili&ate pentru a determina care elemente se pot im!rica în alte elemente (i în ce ordine P -tri!utele posi!ile (i valorile lor presta!ilite sau constante P 5alorile caracter ale tipurilor enumerate P Entit'"ile neanali&ate utili&ate în document (i modul în care sunt referite prin nume P Codific'rile de lim!' utili&ate în document P -lte informa"ii importante pentru prelucrarea (i redarea documentului Respect*nd aceste re#uli se pot crea documente în concordan"' cu (a!lonul pe care proiectantul documentului l+a avut în minte atunci c*nd a creat DTD+ul$ Jntr+un mediu care nu validea&' se pot crea etic ete (i atri!ute pe m'sura înaint'rii$ Foaia sau manualul de codare afi(ea&' toate acestea într+un format u(or de citit (i în"eles% dac' autorul DTD+ului (i+a f'cut trea!a corect$ C*nd se creea&' un document XML sau se corectea&' o eroare% este posi!il s' nu se !eneficie&e de avanta,ul unui mediu de creare complet$ Este întotdeauna important' p'strarea la îndem*n' a documenta"iei de codare pentru ca&ul în care apar defec"iuni$ B$3I$H Entit'"i neanali&ate O entitate neanali&at' este orice lucru care nu poate fi recunoscut de un procesor XML% fie date !inare% cum ar fi un fi(ier ima#ine sau audio% fie te6t care tre!uie s' fie transferat unei aplica"ii f'r' a fi prelucrat în vreun fel$ RTML utili&ea&' comentarii pentru a ascunde un astfel de te6t de !ro:serul RTML% dar XML are c*teva mecanisme care func"ionea&' mult mai si#ur$ O entitate neanali&at' tre!uie mai înt*i s' fie declarat' ca NOT-TION% o declara"ie special' care nume(te o aplica"ie de asisten"' care (tie cum s' lucre&e cu entit'"i de un anumit tip$ Nota"iei îi este dat un nume% un identificator pu!lic op"ional (i apoi numele mai pu"in op"ional al aplica"iei de asisten"'% ca în una din variantele urm'toareF Ye NOT-TION nume+mnemonic 0U4LIC Uidentificator+pu!lic9\ Ye NOT-TION nume+mnemonic 0U4LIC Uidentificator+pu!lic9 Unume+ aplica"ie$e6e9\ Ye NOT-TION nume+mnemonic )k)TEM Unume+aplica"ie$e6e9\ 0rima op"iune func"ionea&' numai dac' e6ist' un catalo#$ Nu se poate pune !a&a pe un catalo# deoarece acesta func"ionea&' indiferent dac' e6ist' sau nu catalo#$ Nu se poate
Pagina 7" din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

!a&a pe un catalo# deoarece acesta este un instrument )1ML pe care multe procesoare XML actuale l+au mo(tenit implicit de la predecesoarele lor )1ML$ )tudierea catalo#ului nu este specificat' în recomandarea =AC (i nu se poate conta niciodat' pe ea$ Dac' este posi!il% se recomand' utili&area ultimele dou' versiuni$ 0e de alt' parte% codarea ard a informa"iilor despre loca"ia (i identitatea aplica"iei de asisten"' în a!solut fiecare DTD este un anacronism predispus la erori pe =e!$ 0rin redefinirea comportamentului script+urilor în pre&en"a comentariilor% proiectan"ii XML+ului au introdus o pro!lem' de incompati!ilitate între XML (i RTML$ Dup' toate pro!a!ilit'"ile% procesoarele XML vor continua s' transfere comentarii la aplica"ii deoarece multe pa#ini se vor întrerupe dac' nu vor avea acest comportament$ De asemenea% procesoarelor le este permis transferul informa"iei comentate prin acela(i lim!a, prin care li se permite s' nu o fac'$ Dup' ce o nota"ie a unei entit'"i neanali&ate a fost definit'% ea tre!uie s' fie declarat' ca o entitate% astfelF Ye ENTITk nume+mnemonic ND-T- nume+mnemonic\ (i apoi trecut' ca un atri!ut într+un element pentru a o putea utili&aF Ye ELEMENT name EM0Tk\ Ye -TTLI)T name tLpe NOT-TION Umnemonic9 l\ Numele mnemonice nu împart aceea(i &on' de nume% deci nu are importan"' dac' ele sunt identice$ Jn acest moment se poate utili&a tipul de date definit astfel$ Tipul de date poate fi utili&at numai ca atri!ut al unui element declarat ca fiind de acel tip sau av*nd acel tip disponi!il într+o enumerare$ Celelalte atri!ute adun' informa"iile de care are nevoie aplica"ia de asisten"' e6tern' pentru a fi capa!il' s' prelucre&e datele$ O aplica"ie tipic' poate fi un fi(ier ima#ineF Yima#e source Z9uri9 alt Z9#rap ic description9 tLpeZ9#ifGHa9\ -cest element va necesita în DTD urm'toarele declara"iiF Ye NOT-TION #ifGHa 0U4LIC U+MMCompu)erveMMNOT-TION 1rap ics Interc an#e Format GHaMMEN9 Ue6plorer$e6e9\ Ye ENTITk #ifGHa ND-T- #ifGHa \ Ye ELEMENT ima#e EM0Tk\ Ye -TTLI)T ima#e source CD-T- fRE>UIRED alt CD-T- fIM0LIED tLpe ND-T- #ifGHa \

Pagina 7# din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

0entru ma,oritatea instrumentelor% nu va avea importan"' dac' formatul este specificat ca #ifGEa sau ca #ifGHa% deoarece acelea(i instrumente manevrea&' am!ele formate$ Nota"iile vor fi mult îm!un't'"ite o dat' cu ad'u#area facilit'"ilor oferite de XLinNMX0ointer care a,ut' la urm'rirea loca"iilor asisten"ilor$ Cu insta!ilitatea #eneral' a =e!+ului la nivelul s'u actual (i cu lar#a varietate de facilit'"i (i ar itecturi de pe sistemele utili&atorilor% orice a,utor care poate fi o!"inut de c'tre utili&ator va face mai u(oar' confi#urarea instrumentelor XML$ DTD+ul% în forma sa actual'% necesit' mult prea mult' a,ustare în stil UNIX a fi(ierelor pentru a fi pe placul utili&atorilor o!i(nui"i$ XLinN (i X0ointer încearc' s' învin#' limit'rile te nolo#iei pointer actuale$ 0ermit toate tipurile de rela"ii% inclusiv pointeri inver(i care s' fie #enera"i pe loc în documente f'r' acces la scriere% reali&*nd+u(i efectul c iar asupra copiei afi(ate% (i nu prin inserarea fi&ic' !rut' a etic etelor în con"inut$ Cerin"ele XML pentru nota"ii% în forma actual'% sunt e6trem de severe$ 0osi!ilitatea de a indica loca"ia unde se afl' aplica"ia de asisten"' poate fi comod' pentru nota"ii neo!i(nuite sau foarte speciali&ate$ Totu(i% este de a(teptat ca a#entul utili&ator s' (tie cum s' afi(e&e multe dintre tipurile mai o!i(nuite% cum ar fi 1IF+uri% W0E1+uri% 0N1uri% =-5+uri (i alte tipuri de fi(iere !inare mai mult sau mai pu"in standard% utili&ate pe =e!$ Iat' o list' a nota"iilor o!i(nuiteF Ye NOT-TION eps 0U4LIC UdMMI)4N m+2I3+3G32E+BFF-do!eMMNOT-TION 0ostscript Lan#ua#e Reference ManualMMEN9\ Ye NOT-TION te6 0U4LIC UdMMI)4N m+2I3+3ABBG+HFFXnut MMNOT-TION T e TeX!ooNMMEN9\ Ye NOT-TION cm#c ar 0U4LIC UI)O GDA2M2MMNOT-TION C aracter encodin# MMEN9 \ Ye NOT-TION cm#!inarL 0U4LIC UI)O GDA2MAMMNOT-TION 4inarL encodin# MMEN9 \ Ye NOT-TION cm#clear 0U4LIC UI)O GDA2MBMMNOT-TION Clear te6t encodin# MMEN9 \ Ye NOT-TION tiff 0U4LIC UI)O 32IGAF3HHBMMNOT-TION TIFF+3 MMEN9 \ Ye NOT-TION ,pe# 0U4LIC UI)OMIEC 3IH3GF3HGAMMNOT-TION Di#ital Compresion and Encodin# of Continuous 7tone )till Ima#es .W0E1/MMEN9 \ Ye NOT-TION #ifGEa 0U4LIC U+MMCompu)erve MMNOT-TION 1rap ics Interc an#e Format GEaMMEN9
Pagina 77 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

\ Ye NOT-TION #ifGHa 0U4LIC U+MMCompu)erve MMNOT-TION 1rap ics Interc an#e Format GHaMMEN9 \ Ye NOT-TION fa6 0U4LIC U+MMU)-+DODMMNOT-TION CCITT 1roup B Facsimile TLpe 3 Untiled RasterMMEN9 \ Desi#ur% va tre!ui s' se adau#e un ID sistem pentru a le putea utili&a% fie ca pointer la o aplica"ie de asisten"' local'% fie în fi(ierul catalo# care centrali&ea&' loca"iile acestor aplica"ii% dac' este disponi!il pentru instrumentele folosite$ B$3I$3I -plica"ii din lumea real' )+au v'&ut de,a% mai sus% unele dintre instrumentele care pot fi utili&ate pentru a crea un document XML% dar unde se pot #'si DTD+urileK Multe DTD+uri se afl' în domenii pu!lice sau sunt disponi!ile ca standarde de la I)O% -N)I sau de la alte or#anisme de standardi&are$ C*teva dintre aplica"iile mai importante ale XML care se afirm' în lumea de a&i suntF P Realt Level+E .RLE/% )tandardul informatic de s'n'tate .Realt Informatics )tandard/ a fost introdus în anul 3HGE pentru a de&volta standarde pentru sc im!ul electronic de informa"ii clinice% financiare (i administrative între sistemele de calcul din domeniul s'n't'"ii$ RLE s+a concentrat asupra utili&'rii )1ML (i XML ca mecanisme de transport între diferite sisteme informatice din domeniul s'n't'"ii$ P Real Estate Transaction )tandard .RET) 7 standardul de tran&ac"ii imo!iliare/ este o metod' !a&at' pe XML pentru sc im!ul de informa"ii referitoare la tran&ac"iile imo!iliare$ Un standard concurent este Real Estate MarNup Lan#ua#e .RELML 7 lim!a,ul de marcare pentru domeniul imo!iliar/ care utili&ea&' DTD+urile XML pentru a pre&enta listin#uri cu spa"ii pentru locuin"e% spa"ii comerciale (i terenuri virane% pentru pu!licarea lor pe =e!$ P RosettaNet% lim!a,ul comun pentru afaceri% este o ini"iativ' EDIME+Commerce destinat' intermedierilor în domeniul calculatoarelor$ P Mat ML (i CML sunt dou' standarde XML (tiin"ifice care permit matematicienilor s' edite&e ecua"ii% iar c imi(tilor s' pre&inte formule c imice$ P )MIL% t e )Lnc roni&ed Multimedia Inte#ration Lan#ua#e .lim!a,ul de inte#rare multimedia sincroni&at/% este RLTime for EverLman .RLTime pentru fiecare/% un lim!a, de marcare multimedia care permite furni&orilor de con"inut s' reali&e&e pre&ent'ri audio (i video comple6e$
Pagina 7$ din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

P ICE% Information and Content E6c an#e .sc im! de informa"ii (i con"inut/% cu toate c' nu este c iar o aplica"ie XML% fiind de fapt un mecanism de transport% permite sc im!ul de investi"ii on+line (i informa"ii personale pe =e!$ P )-E W2IIG este un sistem de comen&i (i inventariere !a&at pe XML pentru industria autoQ MI)TI% t e Missile IndustrL )upplL+c ain Transaction Infrastructures% face acela(i lucru pentru industria spa"ial'$ P C inese DTDs furni&ea&' structura speciali&at' necesar' pentru pu!licarea în lim!a c ine&'$ DTD+uri similare e6ist' pentru ,apone&'% coreean'% vietname&' (i multe alte lim!i$ P 1edML% un standard XML #enealo#ic% încura,ea&' flu6ul li!er pe =e! al datelor #enealo#ice$ E6ist' de,a pro#rame pentru conversia fi(ierelor standard 1enealo#ical Data COMmunication .1EDCOM/ la 1edML$ Fiecare produc'tor de !ro:sere are standarde propuse% despre care ceilal"i se pl*n# c' sunt îndreptate împotriva lor$ -(a cum r'&!oaiele !ro:serelor au dus la de&voltarea unor Ue6tensii9 patentate la RTML% care tindeau .sau încercau/ s' !loc e&e celelalte !ro:sere% cre*nd un turn 4a!el de metode incompati!ile% XML va fi într+o continu' sc im!are pentru o !un' perioad' de timp$ Totu(i% !a&ele e6ist' de,a% iar o comunitate de utili&atori cer*nd din ce în ce mai insistent standarde desc ise conduce diferitele propuneri spre conver#en"'$ Multe dintre succesele ma,ore au fost standarde ale I)O (i -N)I% care v*nd documenta"ia pentru a+(i finan"a eforturile în crearea de standarde% dar asi#ur' un teren neutru pentru to"i partenerii$ 0entru pre"ul documenta"iei% de o!icei c*teva sute de dolari% to"i pot concura la acela(i nivel$

C-0ITOLUL 5 0REOENT-RE- -0LIC-<IEI UElectronX9 este o aplica"ie 8e+commerce9% un site :e! ce repre&int' un ma#a&in virtual de electronice care se adresea&' tuturor persoanelor care doresc s' ac i&i"ione&e diverse produse% în ca&ul de fa"' electronice% prin intermediul internetului acces*nd un ma#a&in virtual din confortul propriei locuin"e% comer"ul electronic mondial av*nd o dinamic' ascendent' pe m'sur' ce tot mai mul"i consumatori (i tot mai multe afaceri se conectea&' la :e!% acest tip de comer" c*(ti#*nd din ce în ce mai mult teren (i în Rom*nia$ -plica"ia se dore(te a fi o unealt' folositoare utili&atorilor% av*ndu+se în vedere de&voltarea interfe"ei pentru a fi user+friendlL% dorindu+se a fi o aplica"ie c*t mai u(or de

Pagina 79 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

folosit% eventualele nea,unsuri (i opinii put*nd fi aduse la cuno(tin"a administratorului site+ ului prin adresele de e+mail puse la dispo&i"ia utili&atorilor în pa#ina de contact$ Te nolo#iile folosite pentru reali&area aplica"iei sunt 0R0 pentru #enerarea dinamic' pa#inilor XRTML (i intero#area !a&elor de date % (i ML)]l pentru #estionarea !a&elor de date% totul rul*nd pe suportul oferit de serverul -pac e$ Reali&area acestui site presupune utili&area unei !a&e de date care s' con"in' at*t date despre utili&atori c*t (i date despre produsele puse în v*n&are (i date despre comen&ile efectuate de c'tre utili&atori$ 4a&a de date va con"ine (apte ta!ele cuprin&*nd informa"iile necesare !unei func"ion'ri a aplica"iei$ C$3 Cerin"e ard:are -plica"ia nu necesit' componente ard:are performante$ Cerin"ele ard:are pentru server suntF 0rocesor 0entium I5 2DII MR& Memorie R-M C32 M! Rard DisN 32I 1! Minimul cerin"elor ard:are pentru utili&atori consta inF 0rocesor 0entium III .-MD -t lon/% GII MR& Memorie R-M 32G M! C$2 Cerin"e soft:are Cerin"ele soft:are pentru aplica"ie suntF 0entru serverF =ampserver C% versiunea 3$D$B Un editor 0R0 0entru clientF Internet E6plorer C$I si versiunile urm'toare sau Mo&illa Firefo6 3$I$E C$A Func"ionalit'"ile aplica"iei La accesarea site+ului se va desc ide pa#ina principal' unde utili&atorul se va putea autentifica prin intermediul unui nume de utili&ator (i a unei parole$ Dac' nu are cont î(i va putea crea unul nou$ Dup' autentificare utili&atorul poate s' modifice datele personale sau parola desc i&*ndu+se un formular predefinit unde se pot efectua sc im!'rile dorite$ Utili&atorul poate s' accese&e pa#ina de pre&entare a produselor oferite de site de unde î(i poate ale#e unul sau mai multe produse pentru a le cump'ra$ 0rodusele alese vor fi

Pagina $% din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

ad'u#ate într+un co( de cump'r'turi acestea put*nd fi comandate$ La trimiterea comen&ii datele utili&atorului (i produsele comandate sunt re"inute în !a&a de date$ )e poate de asemenea efectua o c'utare dup' nume a produselor% fiind afi(ate re&ultatele c'ut'rii în !a&a de date$ C$B 0roiectarea !a&ei de date 4a&a de date con"ine (apte ta!ele$ Ta!ela Utili&atori con"ine informa"ii despre utili&atorii înre#istra"i în sistem$ Ta!ela Itemi re"ine datele despre produsele oferite la v*n&are$ Jn ta!ela Caracteristici sunt re"inute caracteristicile fiec'rui produs din ta!ela Itemi Jn ta!ela Cate#orii sunt stocate datele cate#oriilor definite pentru ierar ia produselor$ Jn ta!ela Co( sunt re"inute produsele pe care un utili&ator lo#at dore(te s' le comande la un moment dat$ Dup' trimiterea comen&ii sau la ie(irea din cont înre#istr'rile din aceast' ta!el' sunt (terse$ Ta!ela Comen&i con"ine informa"ii despre toate comen&ile efectuate de c'tre utili&atori$ Ta!ela ItemibComanda stoc ea&' datele despre produsele comandate$

)tructura !a&ei de date este descris' în sc ema conceptual' urm'toareF

Pagina $1 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

)c ema fi&ic' a !a&ei de date se pre&int' astfelF Utili&atori Tip C*mp id utili&ator parola nume prenume cnp varsta email telefon adresa sector codbpost al oras ,udet int.33/ c ar.DI/ c ar.DI/ c ar.AI/ c ar.AI/ varc ar.3A/ c ar.A/ varc ar.CI/ varc ar.2C/ varc ar.2CC / varc ar.2/ varc ar.3I/ c ar.AI/ varc ar.2C/ N ul D a D a D a D a D a D a D a D a D a D a D a D a D a D a Itemi C*mp itembid catbid numebitem 0rnt Tip int.33/ int.33/ varc ar.EC/ float.G%2/ Nul Da Da Da Da )etare de !a&' NULL )et'ri e6tra C eie )etare de !a&' NULL )et'ri e6tra -utobincremen t + + + + + + + + + + + + + C eie primar'

-utobincrement 0rimara + + +

Pagina $2 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

descriere ima#ine

varc ar.2II/ varc ar.CI/

Da Da Nu )etare de !a&' + + + )etare de !a&' NULL )et'ri e6tra )et'ri e6tra

+ + C eie

Caracteristici Tip C*mp Idbitem producator Model Cate#orii C*mp catbid numebcat descbcat Co( C*mp Id Idbsesiune Idbitembv Cant producator Model databad Comen&i C*mp idbc databc Numebc adresa Oras codbpostal Wudet sector valoare modbplata )tatus

l int.33/ Da varc ar.2C/ Da varc ar.2C/ Da Tip Nu

C eie

l int.33/ Da varc ar.CI/ Da varc ar.2II/ Da Tip int.33/ c ar.DI/ int.33/ int.33/ varc ar.2C/ varc ar.2C/ datetime Tip Int.33/ datetime varc ar.3II/ varc ar.2CC/ varc ar.CI/ varc ar.3I/ varc ar.2C/ varc ar.2/ float.G%2/ varc ar.2I/ enum.hprocesatah% hasteptareh/ Nu l Da Da Da Da Da Da Da

-utobincrement primar' + + )et'ri e6tra C eie

)etare de !a&' NULL

-utobincrement primara + + + + + + )etare de !a&' NULL )et'ri e6tra C eie

Nu l Da Da Da Da Da Da Da Da Da Da Da

-utobincrement primara + + + + + + + + + +

Itemibcomanda C*mp Id

Tip int.33/

Nul )etare de !a&' Da NULL

)et'ri e6tra -utobincrement

C eie primar'

Pagina $ din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Idbcomanda Idbitem Cant producator Model 0rnt

int.33/ int.33/ int.33/ varc ar.2C/ varc ar.2C/ float.G%2/

Da Da Da Da Da Da

C$C Implementarea codului Dup' crearea !a&ei de date% urm'torul pas este #enerarea pa#inilor :e! ale aplica"iei folosind codul RTMLM0R0$ 0entru editarea codului am folosit utilitarul 0R0Edit versiunea 2$3I$I$BD3D de&voltate de compania =ater0roof )oft:are% acest utilitar put*nd fi desc'rcat de pe internet de la adresa ttpFMM:::$:aterproof$frM cu o licen"' de utili&are #ratuit' pe o perioada de AI de &ile$ -cest editor de cod este destinat în special cre'rii scripturilor 0R0 oferind suport (i pentru alte lim!a,eF RTML% C))% XML% X)LT% Wavascript% )>L$ )istemul complet are dou' tipuri de componenteF fi(iere RTML (i fi(iere 0R0$ Interfa"a aplica"iei este reali&at' cu a,utorul pa#inilor RTLM% iar scripturile 0R0 #estionea&' interac"iunea dintre pa#inile RTML (i !a&a de date prin intermediul serverului -pac e$ Inre#istrare$p p -tunci c*nd un client nou dore(te s' ac i&i"ione&e unul din produsele oferite de siteul 8ElectronX9 tre!uie s' î(i cree&e mai înt*i un cont de utili&are$ Clientul tre!uie s' introduc' datele personale .nume% prenume% CN0% v*rsta% adresa de e+mail% telefon% adres'% ora(% ,ude" / într+un formular% precum (i un nume de utili&ator (i o parol'$ Datele vor fi folosite înre#istrarea comen&ilor (i pentru a de"ine o eviden"' a utili&atorilor site+ului$ Contul nu va fi creat dac' nu sunt completate toate c*mpurile considerate o!li#atorii$ Dup' inserarea datelor în ta!ela Utili&atori se creea&' (i fi(ierul clien"i$6ml în care sunt stocate toate datele clien"ilor înre#istra"i în !a&a de date$ cb)E))ION?huserh@ Z cb0O)T?huserh@Q cb)E))ION?hparola3h@ Z cb0O)T?hparola3h@Q cb)E))ION?hparola2h@ Z cb0O)T?hparola2h@Q cb)E))ION?hnumeh@ Z cb0O)T?hnumeh@Q cb)E))ION?hprenumeh@ Z cb0O)T?hprenumeh@Q cb)E))ION?hcnph@ Z cb0O)T?hcnph@Q cb)E))ION?hvarstah@ Z cb0O)T?hvarstah@Q

Pagina $! din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

cb)E))ION?hemailh@ Z cb0O)T?hemailh@Q cb)E))ION?htelefonh@ Z cb0O)T?htelefonh@Q cb)E))ION?hadresah@ Z cb0O)T?hadresah@Q cb)E))ION?hsectorh@ Z cb0O)T?hsectorh@Q cb)E))ION?hcodbpostalh@ Z cb0O)T?hcodbpostalh@Q cb)E))ION?horash@ Z cb0O)T?horash@Q cb)E))ION?h,udeth@ Z cb0O)T?h,udeth@Q

if..cb)E))ION?huserh@ ZZ hh/ `` .cb)E))ION?hparola3h@ ZZ hh/ `` .cb)E))ION?hparola2h@ eZ cb)E))ION?hparola3h@/ `` .cb)E))ION?hnumeh@ ZZ hh/ `` .cb)E))ION?hprenumeh@ ZZ hh/ `` .cb)E))ION?hvarstah@ ZZ hh/ `` .eisbnumeric.cb)E))ION?hvarstah@// `` .strlen.cb)E))ION?hvarstah@/ Y 2/ `` .cb)E))ION?hcnph@ ZZ hh/ ``.cb)E))ION?hemailh@ ZZ hh/ `` .cb)E))ION?htelefonh@ ZZ hh/ `` .cb)E))ION?hadresah@ ZZ hh/ `` .cb)E))ION?horash@ ZZ hh// T ec o hY tml\ Y ead\YM ead\ Y!odL te6tZ[f3-3-GC[\ Yfont colorZ[fCHIIAF[ si&eZ[dA[\EroareeYMfont\Y!r\Y!r\ Ycenter\Yfont si&eZ[d3[\Nu ai introdus date in formular sau cele introduse nu sunt corecte$ Y!r\ -pasa Ya YM!odL\ YM tml\hQ V else T ec o hY tml\ Y ead\YM ead\ Y!odL te6tZ[f3-3-GC[\ Y!r\Y!r\Y!r\
Pagina $" din 97

refZ[inre#istrare$p p[\aiciYMa\ pentru a te intoarce la pa#ina

anterioara$YMfont\YMcenter\

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Ycenter\Yfont si&eZ[d3[\5a multumim$ Y!r\ Datele au fost introduse cu succes in !a&a de date$ Y!r\ 0entru YM!odL\ YM tml\hQ ccerere)>L Z [IN)ERT INTO outili&atorio .outili&atoro% oparolao% onumeo% oprenumeo% ocnpo% oemailo% otelefono% ovarstao% oadresao% osectoro% ocodbpostalo% ooraso% o,udeto/ 5-LUE) .h[$addentities.cb)E))ION?huserh@/$[h% h [ $mdC.cb)E))ION?hparola3h@/$[ h% h[$addentities.cb)E))ION?hnumeh@/$[h% h[$addentities.cb)E))ION?hprenumeh@/$[h% h[$addentities.cb)E))ION?hcnph@/$[h% h[$addentities.cb)E))ION?hemailh@/$[h% h[$addentities.cb)E))ION?htelefonh@/$[h% h[$addentities.cb)E))ION?hvarstah@/$[h% h[$addentities.cb)E))ION?hadresah@/$[h% h[$addentities.cb)E))ION?hsectorh@/$[h% h[$addentities.cb)E))ION?hcodbpostalh@/$[h% h[$addentities.cb)E))ION?horash@/$[h% h[$addentities.cb)E))ION?h,udeth@/$[h/[Q mLs]lb]uerL.ccerere)>L/Q -utentificare$p p Odat' ce contul de utili&are a fost creat utili&atorul tre!uie sa se autentifice pentru a avea acces la pa#inile de administrare a contului personal% pentru a putea face comen&i$ Jn acest script se verific' e6isten"a numelui de utili&ator în !a&a de date (i corectitudinea parolei% (i în ca& de eroare% aceasta se semnalea&'$ -utentificarea se reali&ea&' prin intermediul sesiunilor% re"in*ndu+se pentru fiecare utili&ator o instan"' unic' de sesiune$ cb)E))ION?huserh@ Z cb0O)T?huserh@Q if..cb0O)T?huserh@ ZZ hh/ `` .cb0O)T?hparolah@ ZZ hh// T ec o hY tml\ Y ead\YM ead\ Y!odL te6tZ[f3-3-GC[\ Y!r\Y!r\Ycenter\Yfont si&eZd3\0entru a va accesa contul tre!uie sa completati casutele$ Y4r\
Pagina $# din 97

a

va

autentifica

apasati

Ya

refZ

[autentificare$p p[\

aici

YMa\$YMfont\YMcenter\

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

-pasati Ya precedenta$

refZ[autentificare$p p[\aiciYMa\ pentru a va intoarce la pa#ina

YMfont\YMcenter\ YM!odL\ YM tml\hQ V else T ccerere)>L Z [)ELECT _ FROM outili&atorio =RERE utili&atorZh [$ tmlentities.cb0O)T?huserh@/$[h -ND parolaZh [$ mdC.cb0O)T?hparolah@/$[h[Q cre&ultat Z mLs]lb]uerL.ccerere)>L/Q if.mLs]lbnumbro:s.cre&ultat/ ZZ 3/ T : ile.crand Z mLs]lbfetc barraL.cre&ultat// T cb)E))ION?hlo#ath@ Z hDahQ ec o hYMET- RTT0+E>UI5ZRefres CONTENTZ[IQ URLZpa#ina$p p[\hQ V V else T ec o hY tml\ Y ead\YM ead\ Y!odL te6tZ[f3-3-GC[\ Yfont colorZ[fCHIIAF[ si&eZ[dA[\EroareeYMfont\Y!r\Y!r\ Ycenter\Y4r\ Yfont si&eZd3\Date incorecte$ Y4r\ -pasati Ya precedenta$ YMfont\ YMcenter\ YM!odL\ YM tml\hQ 0a#ina$p p
Pagina $7 din 97

refZ[autentificare$p p[\aiciYMa\ pentru a va intoarce la pa#ina

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Dup' ce utili&atorul s+a autentificat se desc ide pa#ina de administrare a contului de utili&are$ Jn acest script utili&atorul are la dispo&i"ie mai multe op"iuniF modificarea datelor personale% modificarea parolei% sunt afi(ate toate comen&ile trimise de c'tre utili&ator% (i poate accesa unul din linN+urile care duc c'tre pa#inile de pre&entare a produselor% afi(are a statisticilor v*n&'rilor% afi(are a co(ului de cump'r'turi sau pentru ie(irea din cont$ 5e&ima#a&in$p p Jn acest script sunt pre&entate toate cate#oriile (i toate produsele e6istente în !a&a de date$ La desc iderea pa#inii apare o list' de linN+uri cu toate cate#oriile de produse% iar dac' utili&atorul selectea&' o cate#orie se vor afi(a toate produsele din acea cate#orie% pentru fiecare dintre acestea afi(*ndu+se numele% pre"ul (i o mic' ima#ine de pre&entare$ c#etbcats Z [select catbid% numebcat% descbcat from cate#orii order !L numebcat[Q c#etbcatsbres Z mLs]lb]uerL.c#etbcats/ or die.mLs]lberror.// Q if .mLs]lbnumbro:s.c#etbcatsbres/Y3/ T cdisplaLb!locN Z [Yp\ Yem\ Nu e6ista cate#orii de vi&uali&at YMem\ YMp\[Q V else T : ile.ccats Z mLs]lbfetc barraL.c#etbcatsbres//T ccatbid Z ccats?catbid@Q ccatbtitle Z strtoupper.stripslas es.ccats?numebcat@//Q ccatbdesc Z stripslas es.ccats?descbcat@/Q cdisplaLb!locN $Z [Yp\Ystron#\ Ya refZa[cb)ER5ER?0R0b)ELF@KcatbidZ ccatbida[\ ccatbtitle YMa\YMstron#\ Y!r\ ccatbdesc YMp\[Q if .cb1ET?catbid@ ZZ ccatbid/ T c#etbitems Z [select itembid% numebitem% pret% ima#ine from itemi : ere catbidZccatbid order !L numebitem[Q c#etbitemsbres Z mLs]lb]uerL.c#etbitems/ or die.mLs]lberror.//Q if .mLs]lbnumbro:s.c#etbitemsbres/ Y3/ T cdisplaLb!locN Z [Yp\ Yem\ Nu e6ista produse in aceasta cate#orie YMem\ YMp\[Q V else T cdisplaLb!locN $Z [Yul\[Q : ile.citems Z mLs]lbfetc barraL.c#etbitemsbres// T
Pagina $$ din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

citembid Z citems?itembid@Q citembtitle Z stripslas es.citems?numebitem@/Q citembprice Z citems?pret@Q citembima#e Z citems?ima#ine@Q cdisplaLb!locN $Z [ Yli\ Yta!le !orderZ3 :idt ZCIg\ Ytr\ Yt \Ya refZa[s o:item$p pKitembidZcitembida[\ citembtitleYMa\YMt \ YMtr\ Ytr\ Yt YMtr\ Ytr\ Yt \citembprice RON .0retul contine T5-/YMt \ YMtr\ Ytr\ Yt \Ya refZa[s o:item$p pKitembidZcitembida[\ Cumpara acest produsYMa\YMt \ YMtr\ YMta!le\Y!r\[Q V cdisplaLb!locN $Z [YMul\[Q V V V V -rataprodus$p p 0a#ina de afi(are a produselor nu face dec*t sa afi(e&e toate informa"iile referitoare la c*te un produs$ -ceste informa"ii sunt introduse automat într+un formular$ Jn acest formular utili&atorul mai poate s' alea#' num'rul produselor pe care dore(te s' le comande (i apoi dac' dore(te s'+l adau#e la co( tre!uie s' apese pe !utonul 8-dau#' la co(9$ -ratacos$p p ei# tZ3GI :idt Z3GI\Yim# srcZa[citembima#ea[ altZa[po&aa[ !orderZI\YMt \

Pagina $9 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Jn aceast' pa#in' este pre&entat con"inutul co(ului de cump'r'turi$ 0rodusele e6istente în co( sunt afi(ate într+un ta!el% pentru fiecare fiind afi(ate numele% produc'torul% modelul% pre"ul% cantitatea% pre"ul total (i un linN pentru scoaterea produsului respectiv din co($ 0e pa#in' mai sunt pre&ente valoarea total' a produselor ad'u#ate în co( (i linN+urile c'tre pa#ina de afi(are a produselor (i c'tre pa#ina de comand'$ Comanda$p p 0a#ina de comand' con"ine un formular în care sunt afi(ate numele% prenumele% CN0+ ul utili&atorului% adresa% ora(ul% ,ude"ul% aceste c*mpuri put*nd fi modificate în ca&ul în care utili&atorul dore(te livrarea comen&ii la o alt' adresa dec*t cea din cont (i valoarea total' a comen&ii$ La ap'sarea !utonului 8Trimite comanda9 se inserea&' în ta!ela comen&i datele despre comand'% iar în ta!ela itemibcomanda se inserea&' produsele comandate$ Dup' inserarea datelor în ta!ele se creea&' fi(ierul comen&i$6ml în care sunt stocate toate comen&ile din ta!el'$ if.eisset.cb0O)T?hadresah@// cb)E))ION?hadresah@ Z hhQ else cb)E))ION?hadresah@ Z cb0O)T?hadresah@Q if.eisset.cb0O)T?hsectorh@// cb)E))ION?hsectorh@ Z hhQ else cb)E))ION?hsectorh@ Z cb0O)T?hsectorh@Q if.eisset.cb0O)T?hcodbpostalh@// cb)E))ION?hcodbpostalh@ Z hhQ else cb)E))ION?hcodbpostalh@ Z cb0O)T?hcodbpostalh@Q if.eisset.cb0O)T?horash@// cb)E))ION?horash@ Z hhQ else cb)E))ION?horash@ Z cb0O)T?horash@Q if.eisset.cb0O)T?h,udeth@// cb)E))ION?h,udeth@ Z hhQ else cb)E))ION?h,udeth@ Z cb0O)T?h,udeth@Q if..cb)E))ION?hadresah@ ZZ hh/ `` .cb)E))ION?horash@ ZZ hh// T ec o hY tml\ Y ead\YM ead\ Y!odL te6tZ[f3-3-GC[\ Ycenter\Y B\Nu ai introdus noua adresa de livrare sau orasul$ Y!r\ -pasa YM!odL\
Pagina 9% din 97

Ya

refZ[comanda$p p[\aiciYMa\

pentru

a

te

intoarce

la

pa#ina

anterioara$YM B\YMcenter\

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

YM tml\hQ V else T ec o hY tml\ Y ead\YM ead\ Y!odL te6tZ[f3-3-GC[\ Ycenter\Y B\5a multumim$ Y!r\ Comanda a fost trimisa cu succes$ Y!r\ Inapoi la ma#a&in Ya refZ[seestore$p p[\aiciYMa\$YM B\YMcenter\ YM!odL\ YM tml\hQ ccerere)>L Z [IN)ERT INTO ocomen&io .odatabco% onumebco% oadresao% ooraso% ocodbpostalo% o,udeto% osectoro% ovaloareo% omodbplatao% ostatuso/ 5-LUE) .no:./% h[$addentities.cb)E))ION?huserh@/$[h% h[$addentities.cb)E))ION?hadresah@/$[h% h[$addentities.cb)E))ION?horash@/$[h% h[$addentities.cb)E))ION?hcodbpostalh@/$[h% h[$addentities.cb)E))ION?h,udeth@/$[h% h[$addentities.cb)E))ION?hsectorh@/$[h% h[$addentities.cb)E))ION?hafisbpricebprodh@/$[h% h[$cb0O)T?hplatah@$[h% hasteptareh /[Q mLs]lb]uerL.ccerere)>L/Q ccidZmLs]lbinsertbid./Q ccerere)>L3 Z [)ELECT cos$idbsesiune% cos$idbitembv% cos$cant% cos$producator% cos$model% itemi$itembid% itemi$pret FROM cos left ,oin itemi on cos$idbitembv Z itemi$itembid =RERE idbsesiune Zhcb)E))ION?user@h[Q cre&ultat3 Z mLs]lb]uerL.ccerere)>L3/Q : ile.crand3 Z mLs]lbfetc barraL.cre&ultat3// T cciditZcrand3?hidbitembvh@Q cccantZcrand3?hcanth@Q ccproducatorZcrand3?hproducatorh@Q ccmodelZcrand3?hmodelh@Q ccpretZcrand3?hpreth@Q
Pagina 91 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

ccerere)>L

Z

[insert

into

itemibcomanda

.

idbcomanda%

idbitem%

cant%

producator%model% pret / values . hccidh% hccidith% hcccanth% hccproducatorh% hccmodelh% hccpreth /[Q mLs]lb]uerL.ccerere)>L/Q V ccerere)>L2 Z [delete from cos : ere idbsesiuneZhcb)E))ION?user@h[Q mLs]lb]uerL.ccerere)>L2/ or die.mLs]lberror.//Q V

C$D Manual de utili&are -ceast' sec"iune are drept scop pre&entarea modului de interac"ionare al utili&atorului cu aplica"ia$ La accesarea site+ului se va desc ide pa#ina principal' unde utili&atorul are doua posi!ilit'"iF Dac' are un cont creat va accesa linN+iul care trimite la pa#ina de autentificare$ Jn ca&ul în care nu are un cont tre!uie s' accese&e linN+ul de înre#istrare care va desc ide o pa#ina ce con"ine un formular de înscriere$ De asemenea pe aceasta pa#ina% ca de altfel pe toate pa#inile aplica"iei% e6ist' mai multe sec"iuniF 3$ Un meniu cu urm'toarele linN+uriF Rome 7 face le#'tura cu pa#ina principal' Contul meu 7 desc ide pa#ina de administrare a contului personal 0roduse 7 sunt afi(ate cate#oriile (i produsele e6istente în !a&a de date Co(ul de cump'r'turi 7 con"ine produsele ad'u#ate în co( de c'tre utili&ator )tatistici v*n&'ri 7 sunt pre&entate v*n&'rile totale (i pe cate#orii în termen de o s'pt'm*na (i o lun'% precum (i cel mai !ine v*ndute produse din fiecare cate#orie (i cate#oria cu cele mai mari v*n&'ri Contact 7 sunt pre&entate op"iunile de a lua le#'tura cu sediul societ'"ii Termeni (i condi"ii 7 con"ine drepturile (i o!li#a"iile utili&atorilor si societ'"ii Ie(ire din cont 7 de&autentificarea utili&atorului 2$ O sec"iune de c'utare unde utili&atorul poate s' introduc' unul sau mai multe cuvinte ce vor fi c'utate în !a&a de date A$ O sec"iune în care sunt afi(ate toate cate#oriile de produse
Pagina 92 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

B$ O sec"iune ce con"ine un top ale celor mai v*ndute cinci produse din ma#a&in 0entru crearea unui cont tre!uie accesat linN+ul de înre#istrare (i se va desc ide o pa#ina cu un formular de înscriere$ -poi utili&atorul va completa datele cerute (i va ap'sa !utonul Jnre#istrea&'$ -stfel se va crea un cont (i se va confirma înre#istrarea contului% afi(*ndu+se (i un linN c'tre pa#ina de autentificare$ Jn ca&ul în care nu mai dore(te înscrierea va ap'sa !utonul Resetea&' pentru a (ter#e toate informa"iile introduse$ La pa#ina de autentificare utili&atorul tre!uie s' introduc' numele de utili&ator (i parola$ Dup' aceasta tre!uie s' apese !utonul Lo#in (i se va desc ide pa#ina 8Contul meu9 unde utili&atorul va putea modifica datele personale sau parola% va putea vi&uali&a

produ sele% co(ul de cump'r'turi (i va vi&uali&a comen&ile efectuate de el anterior$

Pagina 9 din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Jn pa#ina de pre&entare a produselor sunt afi(ate toate cate#oriile (i toate produsele e6istente în ma#a&in$ 0e pa#in' apare o list' de linN+uri cu toate cate#oriile de produse$ La selectarea unei cate#orii se vor afi(a toate produsele din acea cate#orie% pentru fiecare dintre acestea afi(*ndu+se numele% pre"ul (i o mic' ima#ine de pre&entare$ 0entru a vi&uali&a un produs se apas' fie pe numele produsului fie pe linN+ul 8Cump'r' acest produs9 (i se va desc ide pa#ina de pre&entare a produselor care afi(ea&' toate informa"iile referitoare la c*te un produs$ Utili&atorul mai poate s' alea#' num'rul produselor pe care dore(te s' le comande (i apoi dac' dore(te s'+l adau#e la co( tre!uie s' apese pe !utonul 8-dau#' la co(9$

Pagina 9! din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

Jn

pa#ina de vi&uali&are a co(ului de cump'r'turi este pre&entat con"inutul acestuia$

0rodusele e6istente în co( sunt afi(ate într+un ta!el% pentru fiecare fiind afi(ate numele% produc'torul% modelul% pre"ul% cantitatea% pre"ul total (i un linN pentru scoaterea produsului respectiv din co($ 0e pa#in' mai sunt afi(ate valoarea total' a produselor ad'u#ate în co( (i linN+urile c'tre pa#ina de afi(are a produselor (i c'tre pa#ina de comand'$ 0entru a comanda produsele din cont se apas' !utonul de comanda (i se va desc ide pa#ina de comand' în care sunt afi(ate numele% prenumele% CN0+ul utili&atorului% adresa% ora(ul% ,ude"ul% aceste c*mpuri put*nd fi modificate de c'tre utili&ator dac' acesta dore(te livrarea la alt' adres' (i valoarea total' a comen&ii (i apoi va ap'sa pe !utonul 8Trimite Comanda9 dup' care utili&atorul va primi confirmarea înre#istr'rii comen&ii$

Pagina 9" din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

C$E Conclu&ii Odat' cu începuturile Internetului un nou tip de afacere s+a profilat din ce în ce mai pronun"at pe plan interna"ionalF comer"ul online$ -u ap'rut nenum'rate site+uri (i firme care se ocup' cu v*n&'rile en+#ros de produse prin Internet% cu furni&area accesului contracost la pa#ini cu informa"ii% într+un cuv*nt a!ordea&' o form' sau alta de comer" electronic% un domeniu aflat în plin' e6pansiune$ -vanta,ul comer"ului online este evidentF pia"a pe Internet cre(te e6ponen"ial de la un an la altul$ Un site !ine lucrat% cunoscut (i care ofer' produse de calitate la pre"uri !une va avea mai mul"i vi&itatori% mai motiva"i (i mai în&estra"i financiar dec*t multe ma#a&ine conven"ionale$ -v*nd în vedere proiectarea% implementarea (i testarea acestui tip de aplica"ii resursele de ard:are% soft:are% de timp% cele umane (i cele materiale sunt reduse% (i în acela(i timp aceast' aplica"ie are un poten"ial mare de succes$ -plica"ia 8ElectronX9 are ca scop pre&entarea unui model de ma#a&in virtual care s' con"in' func"ionalit'"ile de !a&' specifice unei aplica"ii de acest #enF #estionarea conturilor unui utili&ator% pre&entarea cate#oriilor (i produselor% c'utarea în !a&a de date% ad'u#area produselor într+un co( de cump'r'turi% trimiterea comen&ilor$ -ceste func"ionalit'"i pot fi îm!un't'"ite (i de asemenea pot fi ad'u#ate (i altele at*t la nivelul aspectului interfe"ei c*t (i la nivelul opera"iilor ce pot fi efectuate astfel înc*t s' asi#ure o func"ionare optim' a site+ului$

Pagina 9# din 97

Vizitati www.tocilar.ro ! Arhiva online cu diplome, cursuri si referate postate de utilizatori.

De&voltarea f'r' precedent din ultimele dou' decenii a te nolo#iilor informa"ionale determinate de necesitatea stoc'rii (i a transmiterii rapide a informa"iilor cu cele mai mici costuri% a revolu"ionat comer"ul #lo!al% comer"ul direct sau cu am'nuntul$

Pagina 97 din 97

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close