Pagina documente » Informatica, Matematica » Aplicatii ale XML in baze de date

Despre lucrare

lucrare-licenta-aplicatii-ale-xml-in-baze-de-date
Aceasta lucrare poate fi descarcata doar daca ai statut PREMIUM si are scop consultativ. Pentru a descarca aceasta lucrare trebuie sa fii utilizator inregistrat.
lucrare-licenta-aplicatii-ale-xml-in-baze-de-date


Cuprins

CUPRINS
INTRODUCERE 3
CAPITOLUL I 5
NOI MODELE DE DATE SI APLICATIILE LOR 5
1.1 INTEROGAREA WORLD-WIDE-WEB-ULUI 5
1.2 INTEGRAREA SURSELOR DE DATE ETEROGENE 6
1.3 NAVIGARE iN INTERNET 7
1.4 CUBUL DE DATE SI OLAP 8
1.5 NOI MODELE TRANZACTIONALE 8
1.6 OPTIMIZARI 9
CAPITOLUL II 12
MODELE DE REPREZENTARE A DATELOR NECONVENTIONALE 12
2.1 DEFINIREA CONCEPTULUI DE DATE NECONVENTIONALE 12
2.2 MODELUL SEMISTRUCTURAT ALE DATELOR 13
2.2.1 Conceptul de date semistructurate 15
2.2.2 Modelarea datelor semistructurate 16
2.2.3 Limbaje de interogare a datelor semistructurate 18
2.3 MPEG-21 - SUPORT PENTRU INTEGRAREA DATELOR iN APLICATII MULTIMEDIA DISTRIBUITE 19
2.3.1 Prezentare generala 19
2.3.2 Declararea elementelor digitale 22
2.3.3 Adaptarea continutului utilizind MPEG-21 26
CAPITOLUL III 29
XML CA BAZA DE DATE 29
3.1 ESTE XML-UL O BAZA DE DATE? 29
3.2 DATE SI DOCUMENTE 29
3.2.1 Documente centrate pe date 30
3.2.2 Informatii centrate pe documente 32
3.2.3 Date, documente si baze de date 33
3.3 STOCAREA SI RECUPERAREA DATELOR 33
3.3.1 Maparea schemelor documentelor pe schemele bazelor de date 34
3.3.2 Limbaje de interogare 37
3.3.3 Stocarea datelor in baze de date native XML 40
3.3.4 Tipuri de date, valori nule, seturi de caractere 41
3.3.5 Generarea schemelor XML din scheme relationale si invers 44
3.4 STOCAREA SI RECUPERAREA DOCUMENTELOR 47
3.4.1 Stocarea documentelor in sistemul de fisiere 47
3.4.2 Stocarea documentelor in BLOB-uri 47
3.4.3 Baze de date native XML 48
3.4.4 DOM-uri persistente (PDOM-uri) 62
3.4.5 Sisteme de management ale continuturilor 63
CAPITOLUL IV 64
CONSTRUIREA DOCUMENTELOR XML 64
4.1 SINTAXA XML 64
4.2 DESCRIEREA DE VOCABULARE NOI CU XML 64
4.3 AVANTAJELE DEFINITIEI TIPURILOR DOCUMENTULUI 65
4.4 COMBATEREA DEZAVANTAJELOR DEFINITIEI TIPURILOR DOCUMENTULUI 66
4.5 XML, DOAR UN ALT HTML? 67
4.6 STARTUL iN XML 69
4.7 DEFINIREA UNUI DOCUMENT XML CA iNTREG 70
4.8 PROLOGUL: DECLARATIA XML 74
4.9 DOCUMENTE AUTONOME 74
4.10 CONSTRUIREA PROLOGULUI UNUI DOCUMENT XML: DECLARATIA TIPULUI DOCUMENTULUI (DOCUMENT TYPE DECLARATION) 75
4.10.1 Crearea corpului documentului 76
4.10.2 Date caracter 76
4.10.3 Marcajul 77
4.10.4 Formarea structurilor logice in XML 77
4.10.5 Cum formeaza XML structurile fizice 78
4.10.6 Etichete de pornire si etichete de incheiere 78
4.10.7 Normalizarea 79
4.10.8 Tipuri de elemente 81
4.10.9 Entitati neanalizate 82
4.10.10 Aplicatii din lumea reala 84
CAPITOLUL V 87
PREZENTAREA APLICATIEI 87
5.1 CERINTE HARDWARE 87
5.2 CERINTE SOFTWARE 88
5.3 FUNCTIONALITATILE APLICATIEI 88
5.4 PROIECTAREA BAZEI DE DATE 88
5.5 IMPLEMENTAREA CODULUI 91
5.6 MANUAL DE UTILIZARE 97
5.7 CONCLUZII 100
BIBLIOGRAFIE 102

EXTRAS DIN DOCUMENT

?INTRODUCERE

Formatul de date XML devine formatul comun acceptat in industrie pentru schimbul de informatii dintre diverse sisteme eterogene. Din acest motiv, este important ca o baza de date sa fie capabila sa stocheze informatiile nu doar in formatele traditionale, relationale, ci si in format XML. Stocand datele XML in format nativ se castiga foarte mult in performanta, aceasta materializandu-se in costuri reduse. Un plus de performanta la o tehnologie de baze de date inseamna o infrastructura redusa, servere cu mai putine procesoare, deci un sistem informatic ceva mai ieftin, costuri mai mici pentru licentiere, deci per total o economie de bani.

Standardul industrial al datelor in format XML prezinta o serie de avantaje si dezavantaje. Avantajul major este acela ca este adoptat de toti producatorii de tehnologie din industrie, dar in schimb are dezavantajul ca este un format nu foarte eficient din punct de vedere al stocarii datelor. De aceea devine foarte util ca baza care stocheaza aceste date sa aiba capabilitati de compresie, care sa duca la scaderea spatiului si resurselor de stocare necesare pentru a pastra date in format XML.

Lucrarea de fata isi propune sa prezinte in capitolele sale cateva noi directii de dezvoltare in domeniul bazelor de date, modelul de date semistructurat si tehnologia XML ca o noua baza de date.

Capitolul I prezinta necesitatea aparitiei modelului semistructurat al datelor, datorita nevoii de interogare a unor surse de date care nu au o schema predefinita sau a unor date care provin din surse diferite si au scheme diferite. Modelul semistructurat al datelor reprezinta schema (tipul, structura) si instanta (valoarea) datelor in mod uniform, permitand interogarea lor simultana spre deosebire de modelele de date conventionale, care diferentiaza intre cele doua tipuri de informatie.

Capitolul II detaliaza modelul semistructurat al datelor definind conceptul de date neconventionale din mai multe perspective si pe cel de date semistructurate prezentand avantajele acestui tip de date, modelarea acestor date si limbajele de interogare a acestora, si prezinta in detaliu tipul de date MPEG-21 ca suport pentru integrarea datelor in aplicatii multimedia distribuite.

Capitolul III prezinta legatura dintre tehnologia XML si bazele de date incercand sa clarifice in ce masura este XML-ul o baza de date, reprezentarea datelor si documentelor, stocarea si recuperarea datelor, stocarea datelor in baze de date native XML, generarea schemelor XML din scheme relationale si invers, stocarea documentelor in sistemul de fisiere si in BLOB-uri, detaliaza bazele de date native XML, si prezinta notiunile de DOM (Document Object Model) persistent si sisteme de management ale continuturilor.

Capitolul IV se ocupa de construirea documentelor XML prezentand sintaxa XML, descrierea de vocabulare noi cu XML, avantajele definitiei tipurilor documentului, combaterea dezavantajelor definitiei tipurilor documentului, definirea unui document XML ca intreg, declaratia XML, documentele autonome, construirea unui document XML, declaratia tipului documentului si prezinta cateva aplicatii din lumea reala a declaratiei tipului documentului.

Capitolul V consta in prezentarea aplicatiei – magazinul virtual „ElectronX” - si prezinta scopul acestei aplicatii, cerintele minime hardware si software ale aplicatiei, functionalitatile de baza ale acestui website, proiectarea bazei de date continand schema conceptuala a structurii bazei si schema fizica a fiecarei tabele, implementarea codului in care sunt explicate fisierele cele mai importante ale aplicatiei cu exemplificari din codul sursa, un manual de utilizare al aplicatiei in care e descris modul de functionare al acesteia si concluzii asupra aplicatiei.

CAPITOLUL I

NOI MODELE DE DATE SI APLICATIILE LOR

1.1 Interogarea World-Wide-Web-ului

Exista surse de date, ca de pilda World-Wide-Web-ul, pe care am dori sa le interogam ca baze de date, dar care nu pot fi constranse de o schema. Majoritatea interogarilor web-ului folosesc tehnici de regasire a informatiei pentru a gasi pagini dupa continut. Exista insa putine posibilitati de formulare a interogarilor in vederea exploatarii structurii web-ului si, deoarece aceasta nu este conforma cu nici un model de date standard, este necesara o metoda de descriere a acestei structuri.

Modelul de date semistructurat a fost propus in vederea satisfacerii acestei necesitati. Ideea centrala in modelul semistructurat este de a reprezenta datele sub forma unui graf etichetat. Structura documentelor hipertext este capturata interpretand arcele grafului drept legaturi. O reprezentare posibila este cea introdusa in proiectul UnQL[1]. Etichetele arcurilor pot fi atat valori (de tip intreg, sir de caractere si alte tipuri de baza, precum si de tip de date abstract, ca video, audio, etc.) cat si nume de atribute (Film, Titlu, Regizor, Actor), etc. modeland de exemplu cunoscuta baza de date cinematografica IMDB [2].

Exista numeroase limbaje de interogare pentru modelul semistructurat. Toate aceste limbaje sunt construite pe baza ideii de expresii asociate cailor (path expressions). Acestea sunt expresii regulate ce exprima cai generice in graful etichetat, permitand astfel traversarea grafului si colectionarea tuturor etichetelor ce satisfac o anumita conditie de selectie.

Limbajele semistructurate pot fi clasificate in doua categorii, dupa strategia de calcul adoptata. Prima categorie, dezvoltata oarecum ad-hoc, se bazeaza pe modelarea grafurilor in modelul relational si apoi pe interogarea lor intr-un limbaj relational de tip SQL. Cateva exemple prezentate in literatura sunt [3], [4], [5], [6], [7]

A doua categorie porneste de la un limbaj bazat pe o notiune formala de calcul cu date semistructurate: limbajul UnQL este reprezentantul acestei categorii [1]. Acest limbaj porneste de la recursivitatea structurala, forma naturala de recursivitate asociata cu tipul de date grafuri etichetate. Datorita bazei sale teoretice, UnQL este capabil de restructurari complexe, in adancime, spre deosebire de limbajele din prima categorie, care se limiteaza la scoaterea la suprafata a datelor din graf, fara insa a crea noi structuri.

Aceasta capacitate de restructurare sta la baza proiectului STRUDEL[8] care propune limbajul StruQL de gestiune a sit-urilor de web. Un alt avantaj al bazei teoretice a limbajelor UnQL si StruQL este posibilitatea efectuarii optimizarilor specifice acestui nou model de date. Limbajele din prima categorie pot beneficia doar de optimizarile specifice modelului relational, deci dezvoltate pentru alt model de date si in consecinta nu atat de folositoare.

1.2 Integrarea surselor de date eterogene

Integrarea datelor provenind din surse eterogene (cu scheme disparate sau, mai grav, modelate diferit), este un domeniu de cercetare care, desi consacrat de mai bine de un deceniu, continua sa ramana in centrul atentiei multor cercetatori. Cercetarea in acest domeniu este motivata de absenta unui model de date atotcuprinzator, fapt ce ingreuneaza dezvoltarea de software care converteste date intre doua modele diferite.

O complicatie aditionala este reprezentata de faptul ca majoritatea datelor stocate electronic nu se afla in baze de date conventionale, ci in sisteme de fisiere, programe de biblioteca, de posta electronica, foi de calcul etc., care prezinta capacitati de interogare limitate.

Ultima observatie a reprezentat punctul de plecare al proiectului Tsimmis [9][10] de la Stanford. Proiectul Tsimmis isi propune integrarea atat a surselor de date care sunt conforme cu modelele de date standard (relational, orientat pe obiecte), cat si a surselor de date cu capacitati de interogare limitate. Aceste surse neconventionale sunt impachetate in asa-numiti wrappers (ambalaje). Un astfel de ambalaj asigura interfata intre sursa de date cu capacitati de interogare limitate si aplicatia care o interogheaza. Aplicatia trimite catre sursa interogari intr-un limbaj expresiv cum ar fi SQL sau OQL si asteapta rezultatul intr-un format numit OEM (Object Exchange Model).

OEM foloseste grafuri etichetate, ca structura de date, care captureaza majoritatea datelor folosite in aplicatii de baze de date. În acelasi timp, toate celelalte structuri de date pot fi codificate ca grafuri OEM.

Rolul ambalajului consta in: interceptarea interogarii si identificarea acelor parti ale acesteia care pot fi efectuate de catre sursa, translatarea acestor parti in limbajul specific sursei, receptionarea si prelucrarea rezultatelor intermediare in vederea reconstituirii rezultatului interogarii originale, codificarea rezultatului final in formatul OEM si transmiterea acestuia catre aplicatie.

Evident, daca interogarea originala este prea complexa, este posibil sa nu poata fi efectuata pornind de la capabilitatile limitate ale sursei. Ambalajul detecteaza aceasta situatie si anunta sursa ca nu ii poate satisface cererea. Cu cat creste capacitatea de evaluare a interogarilor in cadrul ambalajului (de exemplu, capacitatea de a efectua operatii de tip join, proiectii, selectii, etc.), cu atat se extinde clasa de interogari pe care le poate satisface combinatia sursa-ambalaj.

Un proiect similar, cu scopul interogarii surselor de date structurate din web este [13].

Se remarca similaritatea dintre modelul OEM si cel semistructurat. Într-adevar, Lore [11],[12] este un sistem de interogare a datelor semistructurate, foarte similar cu UnQL, utilizand un model de date inspirat de OEM.

1.3 Navigare in Internet

În anumite situatii este avantajos sa privim bazele de date conventionale ca fiind semistructurate. Un exemplu este activitatea de navigare in Internet.

În general, utilizatorul nu poate interoga o baza de date fara a-i cunoaste schema. Din nefericire insa, aceasta este adeseori greu de inteles, datorita marimii exagerate (zeci de tabele, de exemplu) si a terminologiei opace, nestandard, folosite de catre proiectantii bazei de date.

Descifrarea schemei ar fi considerabil usurata de facilitatea de a interoga datele avand doar o intelegere partiala a structurii lor. De exemplu, in cazul bazei de date cinematografice din World-Wide Web[2], urmatoarele interogari ar fi de folos:

În care atribut gasim sirul de caractere Casablanca?

Exista in baza de date intregi mai mari decat 216?

Ce obiecte din baza de date au un atribut al carui nume incepe cu act?

Si in acest domeniu, modelul semistructurat se dovedeste a fi folositor. Spre deosebire de modelele de date conventionale, care diferentiaza intre schema (tipul, structura) si instanta (valoarea) datelor, modelul de date semistructurat reprezinta cele doua tipuri de informatie in mod uniform, permitand interogarea lor simultana. Din acest motiv, datele semi-structurate se numesc si autodescriptive.

[1] prezinta un elegant limbaj de interogare care permite exprimarea concisa a acestor interogari.

1.4 Cubul de date si OLAP

Sistemele de suport pentru decizii (Decision support systems) sunt utilizate de catre companiile moderne pentru integrarea intr-o baza de date centrala numita data warehouse (magazia centrala de date), a datelor provenind din baze de date mici operationale folosite in diferite domenii de activitate/filiale ale companiei.

Datele astfel acumulate sunt analizate in timp real (OLAP: On-Line Analitical Processing) pentru a asista conducerea companiei in luarea deciziilor strategice de dezvoltare [14] (de exemplu, analizand vanzarile unui anumit produs pe trimestru si zona geografica, se poate stabili o noua strategie de marketing pentru acest produs). Datele din magazia centrala de date sunt modelate sub forma unui (hiper)cub de date multidimensional [15]) care poate fi analizat la nivelul subcuburilor de granularitate arbitrara. Subcuburile se obtin prin agregarea cuburilor din care provin.

De exemplu, prin insumarea vanzarilor trimestriale pentru fiecare zona, cubul de date tridimensional reprezentand vanzarile pe trimestru si zona geografica poate fi redus la un subcub bidimensional (plan) reprezentand vanzarile pe zona geografica. Agregarea este o operatie costisitoare, efectuarea ei eficienta pe un volum mare de date reprezentand telul principal al cercetarii in acest domeniu ([16],[17],[18],[19]).

1.5 Noi modele tranzactionale