1 XML e basi di dati. 2 A cosa serve XML in un sistema informativo? A fare circolare le informazioni utilizzando un formato standard (XML, appunto) –

Slides:



Advertisements
Presentazioni simili
Architettura del sistema
Advertisements

Introduzione ad XML Mario Arrigoni Neri.
Elaborazione di Franco Grivet Chin
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
PHP.
Nana Mbinkeu Rodrigue Carlos 1 DB unimo OTTIMIZZAZIONE DI QUERY IN MOMIS Università degli studi di Modena e Reggio Emilia Relatore: Prof. Sonia.
Query OQL e XQUERY a confronto
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Analisi.
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
30/05/07Cinzia Bocchi1 Programmi Ministeriali Informatica Abacus Finalità e obiettivi.
Il progetto Media Library e nuovi servizi via web Gabriele Iotti 18 novembre Biblioteca di Scandiano Conferenze di Servizio.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
Prototipo di uno strumento per la produzione di siti Web adattativi in grado di gestire varie coordinate di adattamento Riccardo Torlone Milano, novembre.
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
Basi di Dati II Sara Romano
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Esercizio zSi consideri la tabella Panorami, memorizzata in una base di dati Oracle 8i. Tale tabella contiene i seguenti campi: yId, di tipo NUMBER yNome,
Appunti informatica- prof. Orlando De Pietro
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Daniel Stoilov Tesi di Laurea
JDBC(TM) Database Access
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
C APITOLO 6 © 2012 Giorgio Porcu – Aggiornamennto 22/02/2012 G ESTIRE D ATI E C ARTELLE DI LAVORO Excel Avanzato.
Esercitazione di Basi di Dati
INFORMATICA Corso Base Modulo G: I DataBase  Access.
Il componente Query Manager del sistema MOMIS: testing ed analisi delle performance UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA _____________________________________________________.
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
1 w w w. g a t 4. c o m WI GAT WebIngelligence rappresenta una piattaforma funzionale e tecnologica per la creazione e gestione di un datawarehouse che.
Basi di Dati e Sistemi Informativi
Gerarchie Ricorsive Una gerarchia ricorsiva deriva dalla presenza di una ricorsione o ciclo (un anello nel caso più semplice) nello schema operazionale.
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
IMPLEMENTAZIONE TECNOLOGIE:HIBERNATE & JAVA RMI.
Presentazione Data Base Ovvero: il paradigma LAPM (Linux - Apache - PHP - mySQL) come supporto Open Source ad un piccolo progetto di Data Base relazionale,
OBIETTIVI: Introduzione ai driver ODBC Creazione di alcune tabelle del database Creazione query Creazione report Lezione del 13/11/2009 Bray Francesco.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
IV D Mercurio DB Lezione 1
I DATABASE.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
MySQL Database Management System
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill.
Servizi Internet Claudia Raibulet
Basi di dati Funzionalità e Progettazione Giorgio Ghelli.
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Approfondimenti SQL.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Novembre 2009 SIGEC WEB – Presentazione Prototipo.
Data warehouse(B.2.8) Nei database ci sono molti dati di tipo diverso e ciascuna tipologia di dato può avere un formato diverso. Alcuni provengono da legacy.
DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo.
Transcript della presentazione:

1 XML e basi di dati

2 A cosa serve XML in un sistema informativo? A fare circolare le informazioni utilizzando un formato standard (XML, appunto) – XML come formato di trasmissione per applicazioni Web e non solo a rappresentare e memorizzare le informazioni in un formato standard – XML come formato di memorizzazione

3 XML come formato di trasmissione Varie componenti architetturali traducono i dati in XML prima di inviarli ad altre componenti Quando ricevono dati in XML, li traducono in un formato interno prima di memorizzarli XML come interfaccia

4 XML come formato di memorizzazione Si vogliono memorizzare i documenti XML in un DBMS Problema: – è possibile/necessario memorizzare documenti XML in un DBMS? – Quale tecnologia è necessaria a questo scopo? Risposta: – è certamente possibile memorizzare e gestire documenti XML in un DBMS – la tecnologia necessaria a questo scopo dipende dal perché vogliamo gestire documenti XML in un DBMS

5 Tipologie di documenti XML Due possibili usi per documenti XML: – Data Centric: i documenti possono rappresentare lo strumento con il quale dati tradizionali (es. relazionali) vengono trasferiti su Web XML come veicolo per trasporto di dati Esempio: ordini di vendita, scheduling di voli, menù – Document Centric: l’informazione è rappresentata dal documento in sé XML come modello per la rappresentazione dei dati Esempio: libri, documenti in genere

6 Documenti Data Centric Struttura regolare livello di dettaglio piuttosto fine contenuto omogeneo l’ordine con cui gli elementi allo stesso livello appaiono è ininfluente Utilizzati per “machine consumption” Esempi: ordini di vendita, scheduling di voli, menù,…

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

8 Documenti Document Centric Struttura irregolare Livello di dettaglio meno fine contenuto eterogeneo l’ordine degli elementi allo stesso livello è significativo in genere progettati per “human consumption” Esempi: libri, , …

9 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....

10 XML e DBMS Ciascuna 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)

11 XML e DBMS Due categorie di DBMS: – XML-Native DBMS: comprendono un insieme di nuovi sistemi la cui architettura è stata progettata per supportare totalmente le funzionalità necessarie alla gestione di documenti XML tecnologia non ancora matura utili per Document Centric Esempio: eXcelon, Tamino – XML-Enabled DBMS: comprendono tutti i DBMS che mantengono integra la propria architettura estendendola con funzionalità necessarie alla gestione di documenti XML sono tipicamente Object-Relational (DB2, Oracle9i,…) utili per Data Centric e parzialmente per Document Centric

12 XML e DBMS Nel seguito. – Problematiche relative alla gestione di documenti Data Centric e Document Centric in XML-Enabled DBMS

13 XML-Enabled DBMS e documenti Data Centric

14 Problematiche per Data Centric Tre problematiche di base: – come rappresentare i dati contenuti nei documenti XML nel DBMS – come generare documenti XML partendo dai dati contenuti nel DBMS – come interrogare i dati estratti da documenti XML DB XML doc DB XML doc DB

15 Rappresentazione dati È 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 rappresentazione strutturata Vantaggi: – approccio piuttosto semplice – i dati sono facilmente interrogabili Svantaggi: – Scarsa flessibilità: la tabella deve essere conforme al documento – il documento di partenza non è più recuperabile

16 1. DBMS relazionale Un documento XML viene rappresentato come una singola tabella o un insieme di tabelle la struttura del documento XML è simile alla seguente: approccio tipico per DBMS relazionali, object-relational

17 Esempio 7369 PAUL SMITH 7000 STEVE ADAM

18 Interrogazione dati Poiché i dati vengono rappresentati secondo il modello supportato dal DBMS (es. relazionale), è possibile utilizzare i linguaggi supportati dal DBMS per l’interrogazione dei dati memorizzati

19 Esempio basato su template 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

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

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

22 Esempio SELECT nome, cognome FROM Clienti WHERE Numero = “7369 PAUL SMITH

23 XML-Enabled DBMS e documenti Document Centric

24 Problematiche per Document Centric Due problematiche di base: – come rappresentare i documenti XML nel DBMS – come interrogare i documenti XML DB XML doc DB XML doc

25 Rappresentazione Permette di mantenere integro il documento XML Due approcci: – rappresentazione non strutturata documento come unico oggetto – rappresentazione ibrida documento parzialmente rappresentato secondo la rappresentazione strutturata e parzialmente secondo la rappresentazione non strutturata

26 Rappresentazione non strutturata Il documento viene tipicamente mappato in un singolo campo di una tabella di tipo: – CLOB (Character Large Object): il documento è fisicamente contenuto nel campo della tabella alcuni DBMS (IBM DB2) supportato tipi ad hoc: XMLVARCHAR – riferimento: il campo contiene il riferimento al documento, memorizzato altrove, sul file system Vantaggi: – flessibile Svantaggi: – i dati sono non strutturati – interrogazione più complessa – la tabella può contenere documenti eterogenei (diversi DTD)

27 Rappresentazione non strutturata Documento XML riferimento CLOB XML DBMS

28 Esempio 7369 PAUL SMITH 7000 STEVE ADAM Id Documento_XML 7369 PAUL SMITH 7000 STEVE ADAM 10

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

30 Interrogazione in Oracle È possibile utilizzare un particolare motore di ricerca per testi – Intermedia Text utilizzando questo strumento è possibile abilitare ricerche sui vari elementi ed attributi di un documento XML, tramite un meccanismo di indicizzazione SQL viene esteso in modo da supportare predicati ad hoc per la ricerca in documenti XML

31 Interrogazione in Oracle Nuova funzione: – CONTAINS(XML_COLUMN, QUERY_TAG) XML_COLUMN : colonna (attributo) in cui sono contenuti i documenti XML QUERY_TAG : predicato che permette di specificare condizioni sui documenti XML – QUERY_TAG::= WITHIN | WITHIN | … – CONTAINS restituisce un valore maggiore di 0 se la condizione è verificata

32 Esempio LISTA_CLIENTI(NUMERO, DOCUMENTO_XML) SELECT * FROM LISTA_CLIENTI WHERE COND >0; COND = CONTAINS (DOCUMENT_XML, ‘PAUL WITHIN NOME’) – determina tutti i documenti contenuti nel campo DOCUMENT_XML che contengono un tag NOME con valore PAUL COND = CONTAINS (DOCUMENT_XML, ‘1 WITHIN – determina tutti i documenti contenuti nel campo DOCUMENT_XML che contengono un elemento Cliente con un attributo NUM di valore 1

33 XML-Native DBMS

34 Cosa sono DBMS nati per gestire documenti XML il modello dei dati non è più relazionale ma basato su XML – la base di dati è costituita da un documento XML o un insieme di documenti XML Esempi: – Excelon (Excelon Corp.) – Tamino (A&G) – Exists (prototipo) – dbXML (prototipo)

35 Problematiche Due problematiche di base: – come rappresentare i documenti XML nel DBMS – come interrogare i documenti XML DB XML doc DB XML doc

36 Rappresentazione Nessun problema la base di dati è costituita da un insieme di documenti XML

37 Interrogazione Il modello di riferimento è XML stesso Quale linguaggio utilizzare? Sono stati proposti diverse tipologie di linguaggi per interrogare documenti XML, da parte di diverse comunità scientifiche – prospettiva DB Lorel, YaTL, XML-QL, XMAS, FLORA/FLORID, XQUERY, … – Prospettiva document processing XQL, XSL(T), XPath,... – …. Il futuro standard sarà Xquery – combinazione linguaggi precedenti

38 Prospettiva DB: aspetti importanti Parti tipiche di una query: – pattern di match seleziona parti del documento XML usando una espressioni di cammino che considerano la struttura del documento – condizione di filtro selezione dei documenti, basata sul contenuto – costruzione del documento risultato

39 Il mercato I DBMS XML-Native non sono ancora molto diffusi – problema commerciale i sistemi esistenti supportano tipicamente interrogazioni Xpath, ma difficilmente supportano in modo completo altri linguaggi

40 XML e Oracle 8i XML-enabled supporta rappresentazione strutturata attraverso XSU (XML SQL Utility) – Interrogazione tramite SQL (estensioni Object-relational) Supporta rappresentazione non strutturata in campi CLOB e BFILE, e ibrida – interrogazioni tramite Intermedia Context generazione documenti XML a partire dal contenuto DB

41 XML e IBM DB2 XML enabled supporta rappresentazione strutturata, non strutturata in campi ad hoc, e ibrida Nuovi tipi di dato: – XMLVARCHAR: documenti XML memorizzati come VARCHAR – XMLCLOB: documenti XML memorizzati come CLOB – XMLFILE: riferimento ad un documento XML, memorizzato su file system interrogazione rappresentazione non strutturata tramite: – operatori specifici, che permettono di navigare la struttura del documento – Text Extender, che supporta funzionalità aggiuntive di analisi del contenuto generazione documenti XML a partire dal contenuto DB

42 XML e SQL-Server 2000 SQL Server 2000 è un XML-enabled DBMS supporta le seguenti funzionalità: – gestione documenti document centric: tramite campi di tipo text (nessun supporto particolare) – gestione documenti data centric: generazione documenti XML a partire dal contenuto della base di dati inserimento di documenti data-centric – supporto per XDR (XML-Data Reduced) schema viste in formato XML sullo schema di una base di dati interrogazione di tali viste con XPath – accesso a SQL Server da HTTP