La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

XML & DBMS. XML -- cenni Struttura e Rappresentazione di un documento zUn documento è composto di tre livelli. zLa rappresentazione può essere utile.

Presentazioni simili


Presentazione sul tema: "XML & DBMS. XML -- cenni Struttura e Rappresentazione di un documento zUn documento è composto di tre livelli. zLa rappresentazione può essere utile."— Transcript della presentazione:

1 XML & DBMS

2 XML -- cenni

3 Struttura e Rappresentazione di un documento zUn documento è composto di tre livelli. zLa rappresentazione può essere utile yper migliorare la leggibilità yper favorire la percezione della struttura y…ma non per recuperare linformazione zNel momento in cui occorre recuperare linformazione le informazioni sulla struttura sono rilevanti zInfatti attraverso la struttura dellinformazione è possibile ideare piani di recupero efficiente ContenutoContenuto Struttura Rappresentazione

4 Crisi del Web zLa potenza di HTML rappresenta anche il punto di massima debolezza zSe infatti realizzare pagine HTML è estremamente facile riuscire a effettuare ricerche su tali documenti è molto inefficiente zManca il concetto di struttura dei dati. Si pone lenfasi solo sulla rappresentazione zDistinzione struttura/rappresentazione persa zTale distinzione è la base della concezione dei linguaggi di markup di tipo descrittivo come SGML, HTML,,, … ??

5 Inadeguatezza di HTML - Nuove richieste z Gli utenti richiedono pagine complesse, z Le prestazioni hardware migliorano z Javascript Shockvawe, Acrobat reader z HTML diventa assemblatore di tecnologie HTML Javascript VBScript AppletFlash PHP PERL CGI

6 XML - Introduzione zXML = Extensible Markup Language XML is a language for creating markup languages that describe structured data. Mike Edwards, Microsoft zDescrive i dati e non la loro rappresentazione zHa un formato aperto e leggibile visualmente simile allHTML zElimina la necessità di Browser e tool di mezzo per aggiungere TAG speciali

7 XML - Introduzione zeXtensible - non rigido come HTML zOttimo per la trasmissione di dati da server e browser zOttimo per la trasmissione da applicazione a applicazione, da macchina a macchina… zE un metalinguaggio usato per definire nuovi domini applicativi o linguaggi specifici

8 XML - Aree Applicative zApplicazioni che richiedono al Web Client di mediare tra due o più DB eterogenei zApplicazioni che cercano di distribuire porzioni significanti di dati tra Client/Server OracleSQL…

9 XML – Aree Applicative zApplicazioni che richiedono al Web Client di mostrare più viste dello stesso dato a diversi utenti zApplicazioni in cui Agenti Web Intelligenti decidono riguardo informazioni utili per un utente Compito TestoEsercizio Soluzione Client User1 Client User2 TestoEsercizio Soluzione Client con caratteristiche A, B, C, …. Agente

10 XML - Vantaggi zAttenzione esclusivamente al contenuto zLa fase di grafica può essere attuata successivamente o da un altra persona zSi possono sviluppare linguaggi ad HOC specifici per certe comunità di utenti zMatematici, chimici, una singola società, un ente…etc…

11 XML - Vantaggi zLa gestione semplice da SGML a XML rende le società che usano SGML per larchiviazione dati proiettate alla pubblicazione di dati nel Web zStrutturando le info bene, i software di ricerca, in IR, possono essere precisi e veloci zscegliendo tra lenorme quantità di materiale nel Web

12 XML e HTML zXML non specifica né la semantica né un insieme di TAG zXML è un metalinguaggio per la descrizione dei linguaggi di markup zXML fornisce un modo per definire i tag ed i rapporti strutturali fra loro zPoiché non vi è un insieme predefinito di TAG, non ci può essere alcuna semantica preesistente

13 XML – Standard collegati zXML è una lingua franca che permette di descrivere la struttura di documenti zIl W3C ha definito svariati standard per poter integrare la definizione di XML per consentire la: yDefinizione metadata yDefinizione link tra più documenti yTrasformazione/Rappresentazione documenti XML yDefinizione di linguaggi di interrogazione yManipolazione documenti XML da programma yRappresentazione di informazione grafica

14 Definizione di metadata zCome detto in precedenza, i TAG non definiscono la semantica dei dati che rappresentano zOccorre quindi introdurre il concetto di metadata cioè dati sui dati zSi parla di metadata a diversi livelli ya livello linguistico introducendo dizionari di nomi (Namespace) ya livello di tipo introducendo gli schema (Xschema) ya livello concettuale introducendo concetti e legami tra concetti (RDF -- Resource Description Framework)

15 Definizione link tra più documenti zLo standard XML permette di rappresentare solo i link interni al documento, ma non i link tra documenti diversi zInoltre, si vogliono poter rappresentare tutte le forme di link che abbiamo visto in precedenza zPer questo motivo sono stati introdotti i seguenti standard yXLink che permette di definire link tra più documenti yXPointer che permette di indirizzare una parte specifica di un documento

16 Rappresentaz./Trasformaz. documenti XML zLo standard XML permette di strutturare documenti XML zNo rappresentazione zNasce XSL. zXSL permette di yIdentificare parti di documento da rappresentare (Xpath) yTrasformare le parti (attraverso il linguaggio XSLT) yRappresentare (HTML, PDF,...) il documento risultante (attraverso il linguaggio XSL-FO)

17 Definizione di linguaggi di interrogazione zI documenti XML possono essere memorizzati in sorgenti di informazioni (DB). zOgnuno può sottomettere alla sorgente richieste di documenti che soddisfano certe query. zEsistono diversi linguaggi per poter interrogare sorgenti XML zAttualmente non esiste uno standard W3C QUILT zLa proposta potrebbe essere QUILT

18 Manipolazione documenti XML da programma zI documenti XML possono essere visti come canale di comunicazione tra applicazioni client-server zCioè permettono alle applicazioni di scambiarsi informazioni. zUnapplicazione deve saper leggere e manipolare documenti XML zSono stati introdotti standard per manipolare documenti XML DOMSAX zGli standard principalmente utilizzati sono DOM e SAX

19 SVG – Scalable Vector Graphics zLinguaggio per la descrizione di grafica 2D in XML 1.0 zSVG tiene conto tre tipi di oggetti grafici: yvector graphic shapes (path che consistono in linee rette e curve), yimmagini ytesto. zGli oggetti grafici possono essere raggruppati, trasformati zGli oggetti SVG possono essere interattivi e dinamici. yLo vedremo in dettaglio dopo.

20 SMIL zSynchronized Multimedia Integration Language zPermette la gestione di presentazioni nelle quali interagiscono audio e video, ed in generali elementi multimediali. zBasato su XML è di fatto uno dei linguaggi definiti su di esso yRecommendation yLo vedremo in dettaglio dopo.

21 XML e DTD Sintassi ed esempi

22 Elemento zUn elemento è un blocco elementare dei documenti XML zUn elemento è una parte del documento delimitata da 2 TAG yes: Marco Mesiti Elemento Contenuto Start-tag End-tag

23 Tag zI tag appaiono, normalmente, in coppia, ytag di apertura (start-tag) ytag di chiusura (end-tag) Marco Mesiti zIl tag rappresenta il nome dellelemento

24 Struttura gerarchica degli elementi LIBRO CAPITOLO SEZIONE LIBRO CAPITOLO SEZIONE

25 Struttura gerarchica degli elementi LIBRO CAPITOLO SEZIONE Ogni elemento deve essere completamente incluso da un altro elemento CAPITOLO No!

26 Contenuto di un Elemento zaltri elementi ( sub-elements) 33, Terry Dr. Morristown ztesto ( data content) 33, Terry Dr. zcontenuto misto ( mixed content) Today, Mr. Bill Gates is in California to talk to...

27 Elemento documento (Document Element) zE lelemento più esterno in un documento XML zViene anche detto elemento radice Contiene tutti gli elementi del documentoesempio: … zDeve sempre esistere

28 Elemento vuoto (Empty Elements) zE un elemento senza contenuto yNon ha il tag finale yHa una particolare rappresentazione del Tag iniziale esempio:

29 Attributi zUn elemento può avere degli attributi zGli attributi possono essere pensati come aggettivi che descrivono gli elementi zOgni attributo ha ynome yvalore zTutti gli attributi di un elemento devono essere distinti Gli attributi vengono inseriti come parte dello start-tag: Marco Mesiti

30 Esempio di elemento con attributi Marco Luca Mesiti Marco Luca Mesiti

31 Elementi Vs Attributi zUn elemento, quando: ySi richiede di recupe-rare i dati velocemente yE visibile a tutti yE rilevante per il signi-ficato del documento z Un attributo, quando: yEsprime una scelta yE utilizzato dal sistema yNon è rilevante per il significato del docu-mento Quando è meglio usare elementi o attributi per rappresentare uninformazione? Sicuramente elementi se si tratta di informazione strutturata

32 Un documento XML zUn file XML è un semplice file di testo con tag XML al suo interno zEsso ha una estensione.xml ynome_file.xml zUn file XML contiene tre sezioni yUna dichiarazione che si tratta di un file XML yUna dichiarazione (opzionale) del tipo di documento e sul nome della DTD associata yIl contenuto del documento con tag XML

33 Un semplice esempio (1) The XML Companion Neil Bradley … Data on the Web Serge Abiteboul Peter Buneman Dan Suciu BOOKS.xml

34 Un semplice esempio (2) ABC Industries agrees to lease the property at 123, Main St., Chicago, IL from XYZ Properties for a term of not less than 18 at the cost of the LEASE.xml

35 DTD: Document Type Definition Sintassi Di Una DTD

36 DTD - Document Type Definition zE opzionale, ma è consigliabile la presenza zE un insieme di regole per definire la struttura di un documento XML zTali regole: ystabiliscono gli elementi che possono essere usati ystabiliscono gli attributi da inserire negli elementi yimpongono vincoli sulle relazioni tra gli elementi (fratelli, elemento-sottoelemento,...) zIl DTD è un modo per fare un check sulla strutturazione corretta di un documento XML

37 Perché è importante usare i DTD? zSono utili per i programmatori. E la definizione del tipo di documento che andranno a processare zUtili per definire fogli di stile zUtile per creare documenti corretti. Il DTD può essere visto come un vincolo sullinformazione da inserire nel documento zUtili per creare interfacce dinamiche per i documenti XML

38 DTD - rappresentazione ad albero LibroCapitolo + Sezioni Par + I nodi dellalbero rappresentano: elementi attributi I nomi di elementi e attributi possono essere seguiti da caratteri speciali (+,*,?) Gli archi dellalbero permettono di rappresentare la relazione elemento-sottoelemento, elemento-attributo Un DTD può essere visto come un albero

39 DTD - elementi zGli elementi possono essere contenitori o essere vuoti. zGli elementi contenitori possono contenere: ytesto yaltri elementi (sottoelementi) yun mix dei precedenti zNel caso di elementi che contengono sottoelementi, con il DTD si può specificare come i sottoelementi occorrono

40 DTD - occorrenza di un sottoelemento zUn sottoelemento potrebbe essere obbligatorio zAd esempio un libro deve avere un titolo, quindi lelemento libro deve avere un sottoelemento titolo zUsando la grammatica della DTD titolo

41 DTD - occorrenza di un sottoelemento zUn sottoelemento può essere opzionale zAd esempio, un libro può avere un sottotitolo, quindi lelemento sottotitolo è opzionale per lelemento libro zUsando la grammatica della DTD sottotitolo

42 DTD - occorrenza di un sottoelemento zUn sottoelemento può essere ripetibile zAd esempio, un libro ha degli autori, almeno uno zQuindi lelemento libro può avere una lista di elementi autore, cmq almeno uno zUsando la grammatica della DTD autore

43 DTD - occorrenza di un sottoelemento zUn sottoelemento può essere ripetibile e opzionale zAd esempio, un libro può avere dei traduttori, oppure no zQuindi lelemento libro può avere una lista di elementi traduttore, ma anche nessuno zUsando la grammatica della DTD traduttore

44 DTD - Sequenze di sottoelementi zUn libro presenta diverse informazioni: gli autori, il titolo, eventualmente i traduttori e così via. Lelemento libro può contenere quindi una sequenza di sottoelementi zUsando la grammatica della DTD zNota è rilevante lordine titolo sottotitolo autore

45 DTD - Alternative di sottoelementi zUn libro può avere un IBDN oppure un codice zUsando la grammatica della DTD ISBN codice

46 DTD - riassumento zI costrutti visti possono essere combinati nel modo preferito, al fine di modellare linformazione

47 DTD dellesempio RICETTA zDTD ricettario.dtd

48 Dichiarare un elemento non vuoto (2/2) zIl nome è semplicemente una stringa di caratteri, zEventuali entità presenti nella stringa vengono trasformate nei caratteri corrispondenti

49 Dichiarazione di un elemento vuoto zAd esempio loggetto foto potrebbe pensarsi equivalente al tag HTML zPertanto non ha un marcatore di chiusura né tantomeno un contenuto zPossiede solo degli attributi

50 Dichiarazione di un elemento ANY zIndica che il contenuto dellelemento può essere arbitrario zIn altre parole, non viene fissato alcun vincolo sul contenuto dellelemento

51 Dichiarazione elemento mixed-content zAbbiamo detto che un elemento può avere un contenuto misto zQuesto può essere richiesto a livello di DTD zLa dichiarazione di un elemento a contenuto misto deve seguire le seguenti regole yviene dichiarato una alternativa di sottoelementi yil primo sottoelemento deve essere #PCDATA yLalternativa di sottoelementi deve essere ripetibile

52 Dichiarazione elemento mixed-content zVediamo un esempio: H 2 O è lacqua

53 Dichiarazione di attributi ysrc, nome del file bitmap necessario (#REQUIRED) ydesc, descrizione è opzionale (#IMPLIED) ylelemento telefono ha un attributo tipo, yche indica se il numero è di casa, dell'ufficio o di un cellulare yil valore di default è 'casa

54 Un esempio

55 XML e Database

56 il problema zProblema: yè possibile/necessario memorizzare documenti XML in un DBMS? yQuale tecnologia è necessaria a questo scopo? zRisposta: yè certamente possibile memorizzare e gestire documenti XML in un DBMS yla tecnologia necessaria a questo scopo dipende dal perché vogliamo gestire documenti XML in un DBMS

57 Tipologie di documenti XML zDue possibili usi per documenti XML: yData Centric: i documenti possono rappresentare lo strumento con il quale dati tradizionali (es. relazionali) vengono trasferiti su Web xXML come veicolo per trasporto di dati xEsempio: ordini di vendita, scheduling di voli, menù yDocument Centric: linformazione è rappresentata dal documento in sé xXML come modello per la rappresentazione dei dati xEsempio: libri, documenti in genere

58 Documenti Data Centric zStruttura regolare zlivello di dettaglio piuttosto fine zcontenuto omogeneo zlordine con cui gli elementi allo stesso livello appaiono è ininfluente zUtilizzati per machine consumption zEsempi: ordini di vendita, scheduling di voli, menù,…

59 Esempio: ordini di vendita ABC Industries Turkey wrench: Stainless steel, one piece

60 Documenti Document Centric zStruttura irregolare zLivello di dettaglio meno fine zcontenuto eterogeneo zlordine degli elementi allo stesso livello è significativo zin genere progettati per human consumption zEsempi: libri, , …

61 Product Description Turkey Wrench Full Fabrication Labs, Inc. Like a monkey wrench, but not as big. The Turkey wrench, which comes in both right- and left-handed versions.... You can: Order your turkey wrench Read about wrenches Download the catalog....

62 XML e DBMS zCiascuna tipologia di documenti richiede una particolare tecnologia per la sua gestione data document Relational/object-oriented DB DB basato su XML (XML è il modello dei dati)

63 XML e DBMS zDue categorie di DBMS: yXML-Native DBMS: xcomprendono un insieme di nuovi sistemi la cui architettura è stata progettata per supportare totalmente le funzionalità necessarie alla gestione di documenti XML xtecnologia non ancora matura xutili per Document Centric xEsempio:eXcelon yXML-Enabled DBMS: xcomprendono tutti i DBMS che mantengono integra la propria architettura estendendola con funzionalità necessarie alla gestione di documenti XML xsono tipicamente Object-Relational (DB2, Oracle8i,…) xutili per Data Centric e parzialmente per Document Centric

64 XML e DBMS zNel seguito. yProblematiche relative alla gestione di documenti Data Centric e Document Centric in XML-Enabled DBMS

65 XML-Enabled DBMS e documenti Data Centric

66 Problematiche per Data Centric zTre problematiche di base: ycome rappresentare i dati contenuti nei documenti XML nel DBMS ycome generare documenti XML partendo dai dati contenuti nel DBMS ycome interrogare i dati estratti da documenti XML DB XML doc DB XML doc DB

67 Rappresentazione dati zÈ necessario definire un mapping tra la struttura dei documenti XML e lo schema del DB èPer memorizzare i dati contenuti in un documenti XML in un DB, deve esistere una o più tabelle con lo schema richiesto dal mapping zrappresentazione strutturata zVantaggi: yapproccio piuttosto semplice yi dati sono facilmente interrogabili zSvantaggi: yScarsa flessibilità: la tabella deve essere conforme al documento yil documento di partenza non è più recuperabile

68 DBMS relazionale zUn documento XML viene rappresentato come una singola tabella o un insieme di tabelle zla struttura del documento XML è simile alla seguente: zapproccio tipico per DBMS relazionali, object-relational

69 Esempio 7369 PAUL SMITH 7000 STEVE ADAM Documento XMLTabella Clienti

70 Esempio Documento XML Tabella Lista_Clienti 7369 PAUL SMITH STEVE ADAM Tabella Clienti

71 Interrogazione dati zPoiché i dati vengono rappresentati secondo il modello supportato dal DBMS (es. relazionale), è possibile utilizzare i linguaggi supportati dal DBMS per linterrogazione dei dati memorizzati zapproccio template-based: yla query viene rappresentata nel documento XML ynecessità di middleware

72 Flight Information The following flights have available seats: SELECT Airline, FltNumber, Depart, Arrive FROM Flights We hope one of these meets your needs The following flights have available seats: ACME 123 Dec 12, :43... We hope one of these meets your needs

73 Interrogazione dati Doc Query Doc Result DB Extract Select Command Construct Document answer Submit SELECT Command Middleware Result

74 Generazione documenti XML zProblema: fornire una rappresentazione XML ai dati recuperati tramite query dal DBMS zsi utilizza il mapping inverso rispetto a quello utilizzato per la memorizzazione zoperazione importante per attribuire un formato standard ai dati ritrovati, prima di inviarli sulla rete

75 Esempio PAUL SMITH Documento XML Tabella Clienti SELECT nome, cognome FROM Clienti WHERE Numero = 7369

76 XML-Enabled DBMS e documenti Document Centric

77 Problematiche per Document Centric zDue problematiche di base: ycome rappresentare i documenti XML nel DBMS ycome interrogare i documenti XML DB XML doc DB XML doc

78 Rappresentazione zPermette di mantenere integro il documento XML zDue approcci: yrappresentazione non strutturata xdocumento come unico oggetto yrappresentazione ibrida xdocumento parzialmente rappresentato secondo la rappresentazione strutturata e parzialmente secondo la rappresentazione non strutturata

79 Rappresentazione non strutturata zIl documento viene tipicamente mappato in un singolo campo di una tabella di tipo: yCLOB (Character Large Object): il documento è fisicamente contenuto nel campo della tabella xalcuni DBMS (IBM DB2) supportato tipi ad hoc: XMLVARCHAR yriferimento: il campo contiene il riferimento al documento, memorizzato altrove, sul file system zVantaggi: yflessibile zSvantaggi: yi dati sono non strutturati yinterrogazione più complessa yla tabella può contenere documenti eterogenei (diversi DTD)

80 Rappresentazione non strutturata Documento XML riferimento CLOB XML DBMS

81 Esempio 7369 PAUL SMITH 7000 STEVE ADAM Documento XML Tabella Clienti Id Documento_XML 7369 PAUL SMITH 7000 STEVE ADAM 10

82 Rappresentazione ibrida zRappresentazione che combina rappresentazione strutturata e non strutturata Documento XML CLOB XML DBMS XML Rappr. strutturata

83 Esempio Oracle Guide M. Abbey Introduzione … … Guida introduttiva al mondo dei DBMS Oracle … … Documento XMLTabella LIBRO SCHEMA CLOB Titolo autore contenuto dettagli capitolo Guida introduttiva al mondo dei DBMS Oracle... capitolo titolo

84 Interrogazione documenti zDal punto di vista del DBMS, un documento memorizzato in modo non strutturato non è che un documento di testo zin genere i DBMS supportano strumenti per ritrovare i documenti in base al contenuto znel caso di documenti XML, mettono a disposizione operatori avanzati da utilizzare in statement SQL per recuperare documenti XML in base al contenuto

85 XML e Oracle 8i zXML-enabled zsupporta rappresentazione strutturata, non strutturata in campi CLOB e BFILE, e ibrida zinterrogazione rappresentazione non strutturata tramite Intermedia Context zgenerazione documenti XML a partire dal contenuto DB

86 XML e IBM DB2 zXML enabled zsupporta rappresentazione strutturata, non strutturata in campi ad hoc, e ibrida zNuovi tipi di dato: yXMLVARCHAR: documenti XML memorizzati come VARCHAR yXMLCLOB: documenti XML memorizzati come CLOB yXMLFILE: riferimento ad un documento XML, memorizzato su file system zinterrogazione rappresentazione non strutturata tramite: yoperatori specifici, che permettono di navigare la struttura del documento yText Extender, che supporta funzionalità aggiuntive di analisi del contenuto zgenerazione documenti XML a partire dal contenuto DB

87 XML e SQL-Server 2000 zSQL Server 2000 è un XML-enabled DBMS zsupporta le seguenti funzionalità: ygestione documenti document centric: xtramite campi di tipo text (nessun supporto particolare) ygestione documenti data centric: xgenerazione documenti XML a partire dal contenuto della base di dati xinserimento di documenti data-centric ysupporto per XDR (XML-Data Reduced) schema xviste in formato XML sullo schema di una base di dati xinterrogazione di tali viste con XPath yaccesso a SQL Server da HTTP

88 Gestione documenti document- centric zT-SQL supporta comandi per: ygenerare un insieme di tuple da un documento XML ygenerare un documento XML come risultato di una query

89 Due parole su XPath zXpath permette di navigare la struttura ad albero di un documento XML, utilizzando una sintassi simile a quella utilizzata per navigare nel file system, estesa con lutilizzo di condizioni di selezione (predicati) zRestituisce I nodi finali del cammino specificato zper ogni nodo lungo il percorso, è possibile specificare dei predicati zper specificare il passaggio da un livello allaltro: / y/Customers/ContactName zper identificare un attributo zper specificare una condizione: [] zper specificare il nodo padre:.. zPer specificare il nodo corrente:.

90 Esempi zSeleziona dalla radice (elemento più esterno), I clienti con attributo ClientID = ="ALFKI" zsupponendo che Customer abbia come sottoelemento Order, seleziona tutti gli ordini in cui OrderID = 1 zSupponendo che Customer ammetta come sottoelemento ContactName, selezionare tutti I Customer che: yhanno almeno un ContactName x/Customer[ContacName] ynon hanno ContactName x/Customer[not(ContacName)]

91 Esempi zSelezionare gli ordini che si riferiscono al cliente identificato da "ALFKI" zselezionare lordine identificato da "Ord-10643, relativo al cliente identificato da "ALFKI" 10643"] z selezionare I clienti che hanno effettuato almeno un ordine di un prodotto inquantità superiore a 5

92 Esempi zSelezionare I vari prodotti ordinati, che complessivamente costano più di 2000 = 2000] zseleziona il cliente "ALFKI" e il cliente ANATR

93 Esecuzione query XPath zXpath può essere utilizzato in SQL Server per interrogare documenti XML ztali documenti devono essere creati definendo opportune viste XML sulla base di dati ytali viste possono essere specificate utilizzando gli schemi XML- Data Reduced (XDR) zQuindi, in SQL Server per utilizzare Xpath, è necessario: yCreare viste XML del database tramite schemi XML-Data Reduced (XDR) yInterrogare tali viste con Xpath

94 Idea di base DBMS XDR Schema (vista XML) Doc XML Query XPath ?

95 Viste XML zE possibile creare viste XML del contenuto del database utilizzando XML-Data Reduced Schema (XDR) zUno schema XDR descrive la struttura del documento XML che si vuole generare, quindi descrive la vista XML che si vuole eseguire sulla base di dati zA differenza del DTD, mi permette di descrivere la struttura di un documento XML utilizzando la sintassi XML zLa struttura del documento deve quindi essere mappata sulla struttura del database

96 Viste XML zSe si vogliono recuperare dati da una sola tabella e se I nomi delle tabelle e dei campi dai quali vengono estratti I dati coincide con il nome degli attributi e degli elementi con I quali si vuole costruire il documento XML ysintassi immediata zse la condizione precedente non è soddisfatta, si utilizzano le annotazioni yinformazioni che specificano come effettuare Il mapping tra elementi e attributi XML e dati nel database

97 Mapping di default Employees(EmployeeID,FirstName,LastName) Tabella Risultato

98 Mapping espliciti zÉ possibile specificare come gli elementi e gli attributi del file XML vengono associati alle tabelle e ai campi delle tabelle zsi utilizzano le annotazioni zper indicare a quale relazione si riferisce un certo elemento: ysql:relation zper indicare a quale campo è associato un elemento o un attributo: ysql:field zesiste un ampio numero di annotazioni, che permette di creare schemi XDR molto flessibili

99 Esempio 1 Customers(CustomerID,ContactName,Phone) Tabella Risultato

100 Come interrogare le viste XDR? zÉ possibile utilizzare Xpath per interrogare le viste XDR zla query Xpath deve essere rappresentata: y nellURL y allinterno di un template

101 Utilizzo di Xpath query zDirettamente nellURL yhttp://paperino/myDB/schema/ zallinterno di un template /

102 Esempio zXDR Schema: zXpath:

103 Esempio (continua) zTemplate: zPossibile risultato


Scaricare ppt "XML & DBMS. XML -- cenni Struttura e Rappresentazione di un documento zUn documento è composto di tre livelli. zLa rappresentazione può essere utile."

Presentazioni simili


Annunci Google