Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © 2003 - The McGraw-Hill.

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
DB - Modello relazionale dei dati
Sistemi Informativi di Rete AA (IV) Progettazione di siti Web: un approccio per Entita e Relazioni.
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
Analisi e progettazione
DBMS (DataBase Management System)
Progettazione concettuale
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill.
Esercizio zSi vuole realizzare un data warehouse per una azienda che vende mobili allingrosso. zIl data warehouse deve permettere di analizzare i ricavi.
Query OQL e XQUERY a confronto
Università degli Studi di Modena e Reggio Emilia
Progettazione Concettuale: Il modello Entità-Relazioni
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Progettazione di Dati e Applicazioni per il Web Alessandro Antonini Lorenzo Berti Lorenzo Maffucci
TW Analisi dei documenti n Classificazione dei componenti n Selezione dei componenti, costruzione della gerarchia, dei blocchi informativi e degli elementi.
Prototipo di uno strumento per la produzione di siti Web adattativi in grado di gestire varie coordinate di adattamento Riccardo Torlone Milano, novembre.
ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
1 Anatomia di una pagina Un insieme di pagine web hanno generalmente una parte invariante (o poco): header, navigazione, footer una parte variabile: contenuti.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Basi di dati Università Degli Studi Parthenope di Napoli
UML: Extension Mechanism Corso IS I /03 Gianna Reggio Versione 0.0.
XML e la generazione di cataloghi multimediali F. Garzotto, L. Mainetti, P. Paolini Politecnico di Milano HOC - Hypermedia Open Center Dipartimento di.
Modello E-R Generalizzazioni
Progettazione di una base di dati
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
Modello E-R Generalizzazioni
Introduzione alla modellazione di sistemi interattivi
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill.
Esercitazione di Basi di Dati
Compito di Laura Lorusso (565547) Abilità informatiche avanzate CdLM in Marketing.
ESERCIZIO N.1 ANALISI DEI REQUISITI Si vuole progettare un Data Base per una biblioteca personale che presti libri. La progettazione tiene conto di quanto.
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.
DB- Sistemi Informativi
1 Ontology languages. Strato dei modelli LA SCELTA DEL LINGUAGGIO Una volta selezionati i componenti dell’ontologia occorre esprimerli in maniera esplicita,
O C L Object Constraint Language
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill.
Creato da Riccardo Nuzzone
PROG Progettazione di dati e ipertesto. PROG Progettazione dei dati IN: dizionario dei dati, mappa del sito, requisiti funzionali, requisiti degli.
Prog. applicazioni Web- 1 - Processo di sviluppo: Visione d’insieme.
1 LABORATORIO DI INFORMATICA Ingegneria Informatica Dott. Giorgio Cicerchia a.a ° Ciclo.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
SISR-MODWEBML Modellazione concettuale di applicazioni Web.
Tecnologie dell'informazione e della comunicazione - Stacey S. Sawyer, Brian K. Williams Copyright © The McGraw-Hill Companies srl “Commercio elettronico,
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill.
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Tecnologie dell'informazione e della comunicazione - Stacey S. Sawyer, Brian K. Williams Copyright © The McGraw-Hill Companies srl Introduzione.
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Eprogram informatica V anno.
Cloud informatica V anno.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Prima esercitazione di Basi di Dati Barcelli, Bardine, Loconsole, Manganelli e MIgliorini.
WebDewey Italiana di Piero Cavaleri.
Transcript della presentazione:

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 2: Modello dei dati Parte I: Introduzione alla modellazione concettuale di Applicazioni 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 Modellazione concettuale di applicazioni Web Metodologia di sviluppo per applicazioni Web data-intensive WebML (Web Modeling Language) – –Modellazione del contenuto informativo –Modellazione dell’ipertesto

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 Applicazioni Web data-intensive Sistemi per il Web, il cui scopo principale è gestire e pubblicare grandi quantità di dati Dotate di interfacce ipertestuali –Supportano la navigazione tra i contenuti –In alcuni casi sono personalizzate Esempi: Commercio: cataloghi elettronici, e-mall, aste elettroniche,... Contenuto: quotidiani online, biblioteche elettroniche, siti istituzionali... Servizi: e-banking, prenotazioni, monitoraggio degli ordini,... Comunità: portali tematici, forum,... Contesto: portali di ricerca, directory,... Tutte gestiscono e pubblicano grandi quantità di 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 Alcuni fattori di complessità Output su dispositivi diversi –PC, telefoni WAP, palmari,... Personalizzazione One-to-One –myYahoo, myCDNOW,… Carenza di personale IT esperto –I Web designers si concentrano sul look-and-feel –Elevati sforzi di programmazione per codificare a mano software ridondante - difficoltà nella generazione di prototipi Costi di mantenimento superiori ai costi per la prima versione del sistema Documentazione povera = difficile evoluzione dell’applicazione

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 Problematiche di sviluppo Mancanza di metodi adeguati –I metodi centrati sui dati non soddisfano i requisiti di sviluppo del front-end –I metodi OO (per es. UML) non sempre catturano l’essenza dei sistemi basati sul Web Mancanza di modelli concettuali –Modelli di ipertesto non adeguati

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 Vantaggi della modellazione concettuale Svariati successi in diversi campi: –ER per la progettazione dei dati –UML per l’analisi e la progettazione OO Processo di sviluppo maggiormente strutturato Applicazioni finali maggiormente usabili e coerenti Maggiore qualità della documentazione Generazione automatica del codice –Produzione di prototipi immediata –Minori sforzi di sviluppo (costi e tempo)

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 Requisiti per la modellazione di applicazioni Web Espressività –Possibilità di specificare casi reali –Catagolazione dei design pattern frequentemente adottati Facilità d’uso –Notazioni visuali intuitive –Semantica non ambigua - Verifica automatica degli schemi Implementabilità –Mapping efficiente verso strutture fisiche dei dati –Generazione automatica di codice a partire da specifiche ad alto livello

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 Alcuni modelli concettuali Prime proposte per la modellazione di applicazioni ipermediali (Communication of ACM, August 1995) –HDM (1993) –OO-HDM (1995) –RMM (1995) Proposte successive, per la modellazione di applicazioni Web –ARANEUS (1998) ADM (Araneus Data Model) –Strudel (1998) UGM (Unified Graph Model) + StruQL (Strudel Query Language) –Web Modeling Language – WebML (1998) Modello ER per il contenuto + Primitive visuali per l’ipertesto Supportato da uno strumento CASE commerciale ( )

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 WebML – concetti di base Applicazione Web= Dati + Ipertesto + Presentazione struttura del contenuto entità, relazioni composizione + navigazione + personalizzazione unità, pagine, link, site view presentazione stili

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 2: Modello dei dati Parte II: Modello dei dati in WebML

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 Obiettivi Tipiche domande: –Quali sono gli oggetti informativi da pubblicare tramite l’applicazione? –Quali sono le proprietà che li caratterizzano? –In che modo i vari oggetti sono correlati? Primitive del modello Entità-Relazioni: –Entità: una classe di oggetti nel dominio dell’applicazione –Attributo: una proprietà di una entità –Relazione: una connessione tra entità –Gerarchia IS-A: costrutto utilizzato per classificare o raggruppare MODELLO 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 Notazione grafica Entità2Entità1 SottoEntità attributo1 MODELLO DEI DATI Ogni entità identificata da un Object Identifier (OID), non rappresentato esplicitamente nello schema

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 Ruoli e cardinalità delle relazioni Il ruolo di una relazione è una delle due “direzioni” in cui una relazione può essere interpretata MODELLO DEI DATI pubblica pubblicato_da LibroAutore Pubblicazione 0..N 1..N Per ogni ruolo, possono essere specificati vincoli di cardinalità

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 Attributi multi-valore Attributi di un oggetto che possono assumere un insieme di valori Reppresentati per mezzo di una entità più una relazione Es.: una persona ha più numeri telefonici Telefono Valore: string Persona 0..N 1..1 NOTA: L’entità Indirizzo è debole MODELLO 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 Attributi composti Attributi con una struttura interna (per es., un indirizzo può includere diversi campi) Rappresentati per mezzo di una entità e una relazione Es.: una persona ha uno o più indirizzi,ognuno formato da numero, via, città, provincia, stato Indirizzo Via Numero Città Provincia Stato Persona NOTA: L’entità Indirizzo è debole MODELLO 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 Relazioni con attributi Rappresentate da una entità centrale e due relazioni Es.: il voto preso da uno studente nell’esame di un certo corso Voto Valore:integer Studente 0..N 1..1 Corso N NOTA: l’entità Voto è debole MODELLO 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 Relazioni N-arie Relazioni che coinvolgono N entità (N>2) –Es.: la fornitura di componenti ad un dipartimento da parte di una ditta Rappresentabili da una combinazione di entità e N relazioni binarie Ditta 0..N 1..1 Dipartimento N Componente N Fornitura MODELLO DEI DATI NOTA: L’entità Fornitura è debole

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 Gerarchie IS-A Le sotto-entità ereditano gli attributi e le relazioni di una super entità Le sotto-entità possono anche avere proprietà localmente definite Le sotto-entità modellano collezioni Cantante nome cognome biografia CantantePopCantanteJazz strumento MODELLO DEI DATI Alcune ipotesi restrittive in WebML: Non è permessa l’ereditarietà multipla E’ possibile definire solo gerarchie esclusive Ogni entità può apparire al massimo in una gerarchia

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 Esempio Catalogo Elettronico della ditta ACME ACME: una medio-piccola impresa di mobili, che vende i suoi prodotti attraverso punti vendita sparsi in tutto il mondo Necessità di sviluppare un sito Web per pubblicare il catalogo dei suoi prodotti. Il sito deve pubblicare informazioni su: –prodotti –offerte speciali: combinazioni di prodotti venduti ad un prezzo scontato –punti vendita –Ogni prodotto ha una sua scheda tecnica e diverse immagini –I prodotti sono raggruppati in categorie CASO DI STUDIO

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 ACME – Schema dei dati CASO DI STUDIO Store Location: string Map: image URL Foto: image Product Code: integer Name: string Price: float Description: text Thumbnail: image Highlighted: boolean Combination Code: integer Name: string Price: float Description: text Photo: image StartDate: date EndDate: date Highlighted: boolean Tech record Colors: image Sizes: text Big image Description: text Photo: image 0:N 1:1 0:1 0:N 1:1 1:N Category Category: string 1:1 0: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 Oggetti derivati La derivazione permette di: –Arricchire il contenuto di un’entità, aggiungendo sia attributi calcolati, sia attributi importati da oggetti correlati. –Definire la popolazione di entità o di relazioni, sulla base di alcune proprietà degli oggetti coinvolti. MODELLO 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 WebML OQL La derivazione si specifca scrivendo espressioni chiamate “query di derivazione” WebML OQL (Object Query Language): un linguagigo per esprimere query di derivazione Concetti derivabili: –Entità, relazioni, attributi Le query di derivazione sono automaticamente trasformate in viste SQL installate nella base di dati MODELLO 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 Entità derivate La popolazione di Sotto-Entità nelle gerarchie IS-A può essere specificata per mezzo di query OQL Es.: “Un’autore italiano è un autore nato in Italia” WebML OQL: value = “Autore as A where A.LuogoNascita contains ‘Italia’” AutoreItalianoAutore ISA MODELLO 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 Attributi derivati Quattro tipi di attributi derivati: –Attributi costanti –Attributi Importati –Attributi Calcolati –Attributi Aggregati MODELLO 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 Attributi Costanti Value=“Politecnico di Milano” DipendentePoli Affiliazione MODELLO 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 Attributi importati DonnaUomo marito cognome cognomeAcquisito MODELLO DEI DATI Value=“Self.marito.cognome” La variabile Self denota l’entità corrente in cui si vuole definire l’attributo

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 Dettaglio prezzo qta prezzoTotale Attributi calcolati e aggregati Prezzo totale dell’ordine come somma dei prezzi delle singole linee d’ordine: 1.prezzoTotale in Dettaglio come attributo calcolato: Self.prezzo * Self.qta 2.prezzoTotale in Ordine come attributo aggregato: Sum (Self.Ordine_Dettaglio.prezzoTotale) Il numero di linee d’ordine per un certo ordine Count (Self.Ordine_Dettaglio) Ordine prezzoTotale numLineeOrd Ordine_Dettaglio MODELLO 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 Relazioni Derivate Le relazioni possono essere derivate in due modi: Definendo restrizioni e/o composizioni di relazioni pre- esistenti Definendo nuove relazioni tra coppie di oggetti in base a condizioni MODELLO 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 Relazioni derivate: restrizione Restrizione di relazioni pre-esistenti: Value=“Self.Autore_Libro as L where L.date > ‘01/01/03’” LibroAutore Autore_Libro Autore_LibroRecente MODELLO 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 Relazioni derivate: concatenazione Concatenazione di relazioni: value=“Self.Capitolo_Libro.Libro_Autore” AutoreLibro Libro_Autore Capitolo_Libro Capitolo Capitolo_Autore MODELLO DEI DATI