Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Capitolo 11 Implementazione delle sorgenti dati
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Indice Architettura generale Mapping standard –Mapping di entità e relazioni –Mapping di attributi BLOB –Mapping di dati derivati Modelli di architetture –Dedicata –Con replicazione –Distribuita
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Architettura
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Architettura Il modello concettuale dei dati (ER) è mappato su una struttura relazionale Esiste un mapping standard Le interrogazioni da parte dell’applicazione avvengono sullo schema relazionale Un unico schema relazionale può coprire diverse sorgenti, anche non relazionali
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Mapping standard Insieme di regole standard di corrispondenza da E-R a relazionale. Esempi: –ENTITA’: –RELAZIONI N:N:
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Mapping di attributi BLOB Diversi modi per memorizzare oggetti BLOB:
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Mapping di dati derivati Dati derivati vengono mappati su view del database: CREATE TABLE ArtistBaseTable ( Oid number(10) primary key, FirstName varchar(50), LastName varchar(50), Biography clob, Photo varchar(100), ); CREATE VIEW ArtistView AS SELECT Oid, FirstName, LastName, Biography, Photo, COUNT(AlbumTable.Oid) AS NumberOfAlbums FROM ArtistBaseTable, AlbumTable WHERE ArtistBaseTable.Oid=AlbumTable.ArtistOid GROUPBY ArtistBaseTable.Oid
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Architetture di basi di dati Il mapping standard è la situazione ideale Spesso bisogna interagire con più sorgenti o con database pre-esistenti Soluzioni possibili: –DATABASE DEDICATO: un apposito DB per il sito (schema standard) –DATABASE REPLICATO: il DB del sito è replicato in toto o in parte da un DB esistente (schema standard) –DATABASE IN LINEA: lo schema dei dati standard del sito è una view su una sorgente dati esterna, direttamente interrogata
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Database dedicato Schema e contenuti del DB costruiti ad hoc per l’applicazione Web
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Integrazione di schemi E’ necessario allineare lo schema standard agli schemi reali delle sorgenti dati. Due approcci possibili: –Adattare lo schema standard –Adattare lo schema delle sorgenti esterne Possibilità: utilizzare viste sulle sorgenti esterne
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Integrazione di schemi attraverso view
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Database replicati L’integrazione di sorgenti diverse viene affrontata importando i dati dalle varie sorgenti in un unico DB con schema standard Ciò può richiedere un workflow di trasformazioni dei dati
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Basi di dati distribuite
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Basi di dati distribuite. Osservazioni Prodotti disponibili sul mercato Vantaggi: –Trasparenza di localizzazione garantita –Trasparenza di frammentazione garantita L’applicazione non si deve preoccupare di dove stanno fisicamente i dati Servizi di BD distribuite: –Viste distribuite –Query distribuite –Transazioni distribuite –Servizi di amministrazione distribuite –Prestazioni scalabili
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Basi di dati in linea In assenza di infrastruttura distribuita, effettuo connessioni esplicite e indipendenti ad ogni differente sorgente
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill Companies, srl Contenuto per concessione del Politecnico di Milano Basi di dati in linea. Osservazioni Architettura molto semplice Molti svantaggi: –Trasparenza di localizzazione è impossibile –Relazioni inter-database devono essere gestite a mano –Atomicità transazionale è assente