Prima esercitazione di Basi di Dati Barcelli, Bardine, Loconsole, Manganelli e MIgliorini
MODELLI INFORMATICI L’importanza di modellare per costruire una visione semplificata di una qualche realtà in funzione di qualche scopo Esempi semplici di realtà ben conosciute in cui il modello costruito è elementare: – Collezioni di canzoni in formato mp3; – Collezione di video; – Collezione di fidanzate/i ; Riflessione sui meccanismi di modellazione applicati, tramite semplificazione e filtraggio;
MODELLI INFORMATICI Modello : Un modello astratto è la rappresentazione formale di idee e conoscenze relative a un fenomeno. Aspetti – rappresentiamo certi fatti, opportunamente semplificati; – usiamo rappresentazioni grafiche per descrivere il modello; Considerazioni – conoscere perfettamente la realtà da modellare e gli scopi per cui la stiamo modellando; – Conoscere gli strumenti – Capiare come applicarli…
Esempio: informazioni turistiche Vogliamo gestire informazioni turistiche offerte dalle città italiane. Città (alcune UNESCO) Luoghi di interesse Servizi Non consideriamo le industrie, il numero di abitanti, etc… che non ci interessano rispetto al turismo (il nostro scopo)
Progettazione concettuale Abbiamo definito le cose che ci interessano, ovvero la conoscenza concreta: – Entità (la città Milano, un aereoporto Malpensa) – Collezioni (l’insieme di tutte le città o l’insieme di tutti gli aereoporti, l’insieme di tutti gli alberghi) – Associazioni (un certo albergo, Hotel Pinco Pallino, si trova in una certa città)
Entità, proprietà e collezione Entità: cosa che ci interessa anche se da sola (la città di Milano); Proprietà: caratteristica di una entità che ci interessa solo collegata a questa (il CAP della città di Milano); Tipo di entità: insieme e tipo delle proprietà di una entità; Collezione o classe di entità: l’insieme di tutte le città o di tutti gli aereoporti.
Esercizio guidato Informazioni Turistiche Si vuole utilizzare una base di dati per gestire le seguenti informazioni sui servizi turistici offerti dalle città italiane. Di una città interessano nome, provincia, regione, prefisso telefonico e numero di asterischi che ne sottolineano l’importanza turistica. Se è stata classificata dall’UNESCO come Patrimonio dell’Umanità, interessa da quale anno e i motivi della scelta. Di ogni città interessa conoscere da quali aeroporti è servita e a quale distanza si trovano. Per ogni aeroporto interessano inoltre il nome, l’indirizzo e la sigla. Di ogni città interessano anche i luoghi di interesse, che possono essere monumenti oppure musei, da visitare. Per ciascuno di questi interessano indirizzo, recapito telefonico, orario e giorni di chiusura. Dei servizi interessano il codice, nome, indirizzo e recapito telefonico, in quale zona della città si trovano e, se accettano pagamenti con carta di credito, le sigle di quelle accettate. Un servizio può essere un albergo o un ristorante. Di un albergo interessa la categoria e il numero di stanze. Di un ristorante interessa il tipo di cucina e il numero di coperti. Individuare entità e proprietà nell’esempio proposto
Esercizio guidato 2 Informazioni Turistiche Si vuole utilizzare una base di dati per gestire le seguenti informazioni sui servizi turistici offerti dalle città italiane. Di una città interessano nome, provincia, regione, prefisso telefonico e numero di asterischi che ne sottolineano l’importanza turistica. Se è stata classificata dall’UNESCO come Patrimonio dell’Umanità, interessa da quale anno e i motivi della scelta. Di ogni città interessa conoscere da quali aeroporti è servita e a quale distanza si trovano. Per ogni aeroporto interessano inoltre il nome, l’indirizzo e la sigla. Di ogni città interessano anche i luoghi di interesse, che possono essere monumenti oppure musei, da visitare. Per ciascuno di questi interessano indirizzo, recapito telefonico, orario e giorni di chiusura. Dei servizi interessano il codice, nome, indirizzo e recapito telefonico, in quale zona della città si trovano e, se accettano pagamenti con carta di credito, le sigle di quelle accettate. Un servizio può essere un albergo o un ristorante. Di un albergo interessa la categoria e il numero di stanze. Di un ristorante interessa il tipo di cucina e il numero di coperti. Individuare entità e proprietà nell’esempio proposto
Associazioni Due entità possono avere un legame logico tra di loro: – Un albergo si trova in una certa città – Un monumento si trova in una certa città; – Un cantante canta delle canzoni; – Un regista dirige un film; – … Questo legame prende il nome di associazione, più precisamente: – Istanza di associazione; – Associazione;
Gerarchie ed ereditarietà Un tipo particolare di associazione è l’ereditarietà: – Un docente è una persona, uno studente è una persona, quindi: esistono delle proprietà comuni tra gli studenti ed I docenti che sono quelle di persona (nome, cognome, dataDiNascita, etc…) Uno studente ed un docente hanno anche altre proprietà specifiche del proprio ruolo (diverse)
Esercizio guidato Informazioni Turistiche Si vuole utilizzare una base di dati per gestire le seguenti informazioni sui servizi turistici offerti dalle città italiane. Di una città interessano nome, provincia, regione, prefisso telefonico e numero di asterischi che ne sottolineano l’importanza turistica. Se è stata classificata dall’UNESCO come Patrimonio dell’Umanità, interessa da quale anno e i motivi della scelta. Di ogni città interessa conoscere da quali aeroporti è servita e a quale distanza si trovano. Per ogni aeroporto interessano inoltre il nome, l’indirizzo e la sigla. Di ogni città interessano anche i luoghi di interesse, che possono essere monumenti oppure musei, da visitare. Per ciascuno di questi interessano indirizzo, recapito telefonico, orario e giorni di chiusura. Dei servizi interessano il codice, nome, indirizzo e recapito telefonico, in quale zona della città si trovano e, se accettano pagamenti con carta di credito, le sigle di quelle accettate. Un servizio può essere un albergo o un ristorante. Di un albergo interessa la categoria e il numero di stanze. Di un ristorante interessa il tipo di cucina e il numero di coperti. Individuare le associazioni nell’esempio proposto
Esercizio guidato 2 Informazioni Turistiche Si vuole utilizzare una base di dati per gestire le seguenti informazioni sui servizi turistici offerti dalle città italiane. Di una città interessano nome, provincia, regione, prefisso telefonico e numero di asterischi che ne sottolineano l’importanza turistica. Se è stata classificata dall’UNESCO come Patrimonio dell’Umanità, interessa da quale anno e i motivi della scelta. Di ogni città interessa conoscere da quali aeroporti è servita e a quale distanza si trovano. Per ogni aeroporto interessano inoltre il nome, l’indirizzo e la sigla. Di ogni città interessano anche i luoghi di interesse, che possono essere monumenti oppure musei, da visitare. Per ciascuno di questi interessano indirizzo, recapito telefonico, orario e giorni di chiusura. Dei servizi interessano il codice, nome, indirizzo (sta nella città) e recapito telefonico, in quale zona della città si trovano e, se accettano pagamenti con carta di credito, le sigle di quelle accettate. Un servizio può essere un albergo o un ristorante. Di un albergo interessa la categoria e il numero di stanze. Di un ristorante interessa il tipo di cucina e il numero di coperti. Alcune associzioni non corrispondono non sono esplicite nel testo
Tipi di associazione Facendo riferimento all’esercizio si possono introdurre: – Molteplicità – Totalità R(X,Y) è (1:N) se essa è multivalore su X ed univoca su Y R(X,Y) è (N:1) se essa è univoca su X e multivalore su Y R(X,Y) è (N:M) se essa è multivalore su X e multivalore su Y R(X,Y) è (1:1): se essa è univoca su X e univoca su Y
Conoscenza astratta Conoscenza astratta: fatti generali che descrivono: – a) restrizioni sui valori possibili della conoscenza concreta e sui modi in cui essi possono evolvere nel tempo (vincoli d’integrità); – L’anno deve essere un numero positivo, un albergo ha da 1 a 5 stelle, due città devono avere nomi diversi – b) regole per derivare nuovi fatti da altri noti; – Età della persona dalla data di nascita, numero di ristoranti presenti in una città; – c) la struttura della conoscenza concreta (collezioni, tipi entità, associazioni). – Come riflessione proposta alla classe si fa notare come l’entità città potrebbe essere una proprietà di ogni albergo…
Dal modello concettuale al logico Dopo aver costruito il modello concettuale il prossimo passo è il modello logico – Entità Oggetto – Tipo entitàTipo oggetto – Collezione Classe – AssociazioneAssocizioane o relazione
Esercizio: entità
Esercizio: proprietà ed ereditarietà
Esercizio: associazioni
Esercizio: soluzione alternativa