Fondamenti di Basi di Dati

Documenti analoghi
Progettazione logica relazionale. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G3 D B M G6 D B M G5

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

Laboratorio di Basi di Dati

Progettazione di basi di dati D B M G

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Progettazione logica relazionale (1/2)

Obiettivi della progettazione logica. Fasi della progettazione logica. Ristrutturazione dello schema ER. Parte VI. Progettazione logica

Laboratorio di Basi di Dati

Basi di dati 19 dicembre 2016 Prova parziale Compito A Tempo a disposizione: un ora e quindici minuti. Libri chiusi.

Basi di dati Prova di autovalutazione 17 gennaio 2011

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

Progettazione di un DB

Progettazione logica

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita

Corso di Laurea in Informatica Basi di Dati a.a

Basi di dati McGraw-Hill

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati

Basi di Dati Relazionali

Basi di dati. Progettazione logica

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Obiettivo della progettazione logica. Dati di ingresso e uscita

Basi di Dati 1 Esercitazione 5 08/01/2013. Matteo Picozzi

Corso di Basi di Dati

PROGRAMMAZIONE ANNO SCOLASTICO 2018/2019

Basi di Dati 1! Esercitazione 4. Matteo Picozzi!

Laboratorio di Basi di Dati

Gestione NARRATIVA del 900

ESAME di INFORMATICA e ARCHIVIAZIONE

Laboratorio n 7 del Ing. Dario Cogliati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

La Progettazione Logica

Progettazione logica. Requisiti della base di dati. Schema concettuale. Schema logico. Schema fisico. Obiettivo della progettazione logica

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale

Chiarimenti sugli schemi di progettazione in relazione ai compiti scritti di Basi di Dati

Basi di dati Appello del Compito A

Insegnamento di Basi di Dati

Progettazione logica: criteri di ottimizzazione

Traduzione dal modello E/R al modello relazionale

E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni,, Ceri, Paraboschi, Torlone: : Basi di dati, Capitolo 8) Progettazione logica

Informatica Industriale

I prodotti della varie fasi sono schemi di alcuni modelli di dati:

Esercizio 7.1. Considerate lo schema ER in figura: lo schema rappresenta varie proprietà di uomini e donne.

adattato da Atzeni et al., Basi di dati, McGrawHill

Progettazione logica: criteri di ottimizzazione

Progettazione Logica. Esercitazione 2. Contatti: Dott.ssa Silvia Bonfanti

Progettazione logica di basi di dati La progettazione logica

Corso di Informatica

Basi di Dati - III. La costruzione di una base di dati. Progettazione concettuale di schemi. Esercizio: Segreteria studenti

Elena baralis 2007 Politecnico di Torino 1

Generazione diagrammi ER

Corso di Basi di Dati

Il modello Entità/Relazioni (ER)

ESAME di INFORMATICA e ARCHIVIAZIONE

Introduzione alle basi di dati: Il modello concettuale

Laboratorio di Basi di Dati

Laboratorio n 7 del Ing. Dario Cogliati

Modello relazionale e algebra relazionale

la città in cui si svolgono, nonché il motivo della variazione di città.

Elena Baralis 2007 Politecnico di Torino 1

Considerate lo schema ER in figura: lo schema rappresenta varie proprietà di uomini e donne. Copyright The McGraw-Hill Companies, srl

La progettazione logica

Progettazione concettuale usando il modello Entità-Relazione (ER)

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione concettuale

Ristrutturazione di schemi E-R. Ridondanze. Analisi delle ridondanze. Vantaggi semplificazione delle interrogazioni

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Progettazione logica Fase 2: Traduzione nel modello relazionale. adattato da Atzeni et al., Basi di dati, McGrawHill

Basi di dati I. Esercitazione proposta

Metodologie e modelli di progetto

Il modello relazionale. A. Ferrari

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Un esempio di progettazione concettuale

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Schema Entità-Relazione n 1

Progettazione Logica. Alice Pavarani

Il modello Entità-Relazioni (entity-relationship)

Progettazione di una base di dati. Il Modello Entity-Relationship (E-R) Requisiti della base di dati

Progettazione. Realizzazione

Progettazione di Basi di Dati

LA PROGETTAZIONE LOGICA. Prima parte

Progettazione Logica. ISProgLog 1

A. Ferrari modello relazionale

LA PROGETTAZIONE CONCETTUALE

Esercitazione 3. Vincoli di integrità. Approccio Procedurale

Corso di Informatica

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Progettazione di basi di dati. Fasi (tecniche) del ciclo di vita. Progettazione di basi di dati: Metodologie e modelli

Ma: progettazione dei dati. progettazione delle applicazioni. Progettazione di basi di dati

La progettazione concettuale

Modello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati

D B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati

Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione. Concetti Definizioni Esempi

Corso di Basi di Dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Progettazione logica. Attenzione

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Requisiti della base di dati. Schema concettuale

PROGETTAZIONE DI BASE DI DATI. Metodologie e modelli

Transcript:

Fondamenti di Basi di Dati Esercitazione 5a - Progettazione logica Gioco di società Eseguire la progettazione logica della base di dati dell'esercitazione 4a, di cui riportiamo per comodità le specifiche e lo schema concettuale. Inoltre presentare un esempio di istanza di base di dati, popolando le tabelle con i dati di esempio richiesti in questo testo. Implementare la base di dati in SQLiteStudio. Si vuole rappresentare lo stato attuale di gioco in un gioco di società, con le seguenti informazioni: I Continenti, ognuno con un e un numero di armate supplementari a cui esso dà diritto. I Territori, ognuno con un, e un Continente di appartenenza; ogni Territorio confina con altri Territori: si vogliono rappresentare tali confini. Le carte. Esistono due di due tipi di carte: o le carte ordinarie, ciascuna delle quali mostra un Territorio e un Arma (quest ultima può essere Fanteria, Artiglieria, o Cavalleria); o le carte jolly. I giocatori, con del giocatore, il colore delle armate, l ordine di gioco nell ambito di un turno, le carte che possiede e i Territori che occupa. Ogni Territorio può essere occupato da un solo giocatore, con un certo numero di armate: si vuole rappresentare, per ogni Territorio, il giocatore che lo occupa e il numero di armate con cui lo occupa. Implementare la base di dati in SQLite, e popolarla con i dati che rappresentino lo stato del gioco (semplificato) raffigurato di seguito. A tal fine, si tenga presente che: nel tabellone è presente un unico continente, chiamato Italia centrale, il cui possesso dà diritto a 2 armate supplementari; i jolly sono le carte che raffigurano un fante, un cannone e un carro armato; l ordine del gioco è: Gianni, Giulia.

2 Fondamenti di Basi di Dati Carta (0, 1) Possesso Giocatore Ordine Carta Ordinaria Arma Carta Jolly Confine Raffiguraz. (1,1) Territorio Occupazione Armate Composizione Continente Armate_suppl

Esercitazione 5a Progettazione logica 3 Comprensorio sciistico Eseguire la progettazione logica della base Comprensorio sciistico di dati dell'esercitazione 4a, di cui riportiamo per comodità le specifiche e lo schema concettuale. Inoltre presentare un esempio di istanza di base di dati, popolando le tabelle con i dati di esempio richiesti in questo testo. Ogni impianto parte da una piazzola, avente una certa quota, e arriva a un altra piazzola posta a una quota più elevata. Ogni pista parte da una piazzola e arriva a una piazzola collocata a una quota inferiore. Per gli impianti si vogliono rappresentare il, la lunghezza e la portata, espressa in passeggeri/ora. Gli impianti possono essere cabinovie, seggiovie o sciovie: per le cabinovie e le sciovie si vogliono rappresentare anche la capienza del singolo veicolo, e il tipo di ammorsamento (fisso o automatico); per le sciovie si vuole rappresentare il coefficiente di elasticità della molla di recupero del piattello. Per le piste si vogliono rappresentare il, la lunghezza e il colore della pista. Il colore di una pista ne esprime il grado di difficoltà. Si dovrà poter definire un insieme di colori possibili, ordinato per grado di difficoltà. Popolare un istanza di esempio con i seguenti dati (nell esempio, ogni piazzola è a una quota diversa): Pista Orso (rossa) e Coccodrillo (nera): entrambe partono da quota 1500 m e arrivano a quota 1200 m, condividendo partenza e arrivo. Pista Stambecco (rossa): parte da quota 1800 m e arriva a quota 1200 m. Seggiovia triposto Poltrona: parte da quota 1200 m e arriva a quota 1500 m, ammorsamento manuale PartenzaImpianto PartenzaPista Lunghezza Portata (1,1) (0, 1) Impianto ArrivoImpianto Piazzola ArrivoPista Pista Quota Lunghezza Capienza Collettivo Sciovia Difficoltà CoeffEl Ammorsamento Seggiovia Cabinovia Grado

4 Fondamenti di Basi di Dati Skilift Sgabello: parte da quota 1500 m e arriva a quota 1800 m. Cabinovia esaposto Divano: parte da quote 1200 m e arriva a quota 1800 m, ammorsamento automatico. Comprensorio sciistico - svolgimento della progettazione logica Ristrutturazione dello schema Entità-Relazione Eliminiamo la generalizzazione Collettivo accorpando le entità figlie Seggiovia e Cabinovia nell entità padre Collettivo, poiché le entità figlie sono del tutto prive di attributi. Introdurremo un attributo aggiuntivo tipo che può assumere, come valori, Seggiovia oppure Cabinovia. Successivamente eliminiamo anche la generalizzazione Impianto. Poiché tanto l entità padre quanto le entità figlie hanno parecchi attributi significativi, scegliamo di eliminare la generalizzazione introducendo, per ciascuna entità figlia, una relazione uno-a-uno con l entità padre. (Ribadiamo che la generalizzazione si sarebbe potuta eliminare anche usando uno degli altri metodi presentati nel corso.) L entità Piazzola non ha identificatori tra gli attributi (più piazzole possono avere la stessa quota). Introduciamo dunque un identificatore ad-hoc IdPiazzola. Ne risulta il seguente schema E-R ristrutturato: PartenzaImpianto PartenzaPista Lunghezza Portata (1,1) (0, 1) Impianto ArrivoImpianto Piazzola ArrivoPista Pista Lunghezza (0, 1) (0, 1) IdPiazzola Quota Difficoltà ImpiantoCollettivo ImpiantoSciovia Grado Capienza Tipo Collettivo Sciovia CoeffEl Ammorsamento Osserviamo che l identificatore delle entità Collettivo e Sciovia è completamente esterno; in altri termini, esso è lo stesso identificatore di Impianto.

Esercitazione 5a Progettazione logica 5 Traduzione verso il modello relazionale La traduzione verso il modello relazionale è particolarmente semplice perché tutte le relazioni sono uno-amolti (o uno-a-uno): esse si realizzano introducendo una foreign key nella tabella che discende dall entità che partecipa alla relazione con cardinalità massima pari a 1: Colle-vi Impian' Sciovie Piste Colori capienza lunghezza coeff_el lunghezza colore grado 2po portata partenza ammorsamento partenza arrivo arrivo Piazzole difficoltà id_piazzola quota Implementazione istanza Piazzole id_piazzola quota P1 1200 P2 1500 P3 1800 Colori colore grado Blu 1 Rossa 2 Nera 3 Piste lunghezza partenza arrivo difficolta Orso 900 P2 P1 Rossa Coccodrillo 700 P2 P1 Nera Stambecco 680 P3 P2 Rossa Impianti lunghezza portata partenza arrivo Poltrona 500 1000 P1 P2 Sgabello 400 600 P2 P3 Divano 900 2000 P1 P3 Collettivi capienza tipo ammorsamento Poltrona 3 S M Divano 6 C A Skilift Coeff_el Sgabello 6,53

6 Fondamenti di Basi di Dati DB Riparto scout Si vuole costruire una base di dati per memorizzare i dati relativi alla composizione di un riparto scout. Un riparto è costituito da un certo numero di ragazzi, detti scout, di cui vogliamo rappresentare i dati anagrafici (, cog, data di nascita), il numero di tessera e il numero di telefono. Gli scout del riparto sono suddivisi in gruppetti, detti squadriglie. Ogni squadriglia ha un (il di un animale), e un motto, chiamato urlo di squadriglia. Ciascuno scout occupa una posizione gerarchica all interno della propria squadriglia: ci sono un capo, un vice, un terzo di squadriglia, e così via. Durante la loro vita, gli scout compiono un percorso, raggiungendo una serie di tappe in un ordine prefissato. Ogni tappa ha un, e un ordine rispetto alle altre tappe. Vogliamo rappresentare la tappa raggiunta da ciascuno scout (per ultima). Infine, l abilità tecnica di uno scout è certificata mediante il conseguimento di brevetti di specialità. Ogni specialità ha un e una tappa minima richiesta (il ragazzo non può conseguire la specialità se non ha raggiunto almeno quella tappa). Uno scout può conseguire tutti i brevetti di specialità che desidera, purché abbia raggiunto la tappa minima richiesta. Eseguire la progettazione concettuale e logica della base di dati del riparto scout. Preparare un istanza con i seguenti dati: Tappe: Novizio, Piede Tenero, Seconda Classe, Prima Classe, Esploratore Scelto. Specialità: Segnalatore, Ambulanziere, Campeggiatore (richiedono la Seconda Classe); Pioniere, Fotografo (richiedono la Prima Classe). Squadriglie: Aquile (urlo: Aquile sulle vette ), Castori, Pantere. Scout: Luca (Capo Aquile), Maurizio (Vice Aquile), Pierpaolo (Terzo Aquile), Andrea (Capo Pantere). Luca e Andrea sono scout di Seconda Classe, Maurizio e Pierpaolo sono Piedi Teneri. Luca ha le specialità di Segnalatore, Andrea ha le specialità di Campeggiatore e Segnalatore. DB Riparto scout Svolgimento progettazione concettuale Entità e loro attributi, identificatori Iniziamo a individuare e rappresentare le entità e i loro attributi. Le entità sono Scout, Squadriglia, Tappa, e Specialità:

Esercitazione 5a Progettazione logica 7 Per ciascuna entità abbiamo individuato uno o più possibili identificatori. Osserviamo che è errato definire TappaMinima come attributo dell entità Specialità. Infatti, da un punto di vista concettuale, la tappa minima richiesta per conseguire una specialità è una tappa; e, dal momento che nello schema è presente un entità Tappa, per rappresentare il concetto di tappa minima richiesta occorre introdurre una relazione tra l entità Specialità e l entità Tappa. Chiameremo tale relazione Requisito. Relazioni e loro attributi Introduciamo ora le relazioni. Appartenenza: denota l appartenenza degli scout alle squadriglie. Poiché vogliamo rappresentare l ordine gerarchico degli scout all interno della squadriglia, definiamo un attributo Posizione della relazione. Il caposquadriglia apparterrà alla squadriglia con posizione 1, il vicecapo apparterrà alla squadriglia con posizione 2, e così via. Urlo Squadriglia Posizione Appartenenza Tessera Cog Scout Conseguimento DataNascita Telefono Raggiungimento Tappa Requisito Specialità Ordine

8 Fondamenti di Basi di Dati Raggiungimento: denota la tappa raggiunta da ciascuno scout. Conseguimento: denota le specialità conseguite da ciascuno scout. Requisito: denota la tappa richiesta per poter conseguire una specialità. Ne risulta lo schema concettuale (parziale) precedente. Cardinalità delle relazioni Riesaminiamo una a una le relazioni, e stabiliamo le loro cardinalità. Appartenenza Scout - A quante squadriglie appartiene uno scout? Minimo 1, massimo 1: cardinalità. Squadriglia Quanti scout ha una squadriglia? Minimo 0, massimo senza vincoli: cardinalità. Le cardinalità massime sono 1 e N: la relazione è quindi di tipo uno-a-molti. Raggiungimento Scout In quante tappe si trova uno scout? Minimo 1, massimo 1 (ricordiamo che le tappe funzionano come i gradi militari, ogni scout occupa una tappa): cardinalità. Tappa Quanti scout occupano una data tappa? Minimo 0 (per esempio le tappe più difficili potrebbero ancora non essere state raggiunte da alcuno scout), massimo indeterminato: cardinalità. Le cardinalità massime sono 1 e N: la relazione è quindi di tipo uno-a-molti. Conseguimento Scout Quante specialità può conseguire uno scout? Quante ne vuole, cioè minimo 0, massimo senza vincoli: cardinalità. Specialità Quanti scout possono conseguire una specialità? Minimo 0, massimo senza vincoli: cardinalità. Le cardinalità massime sono N e N: la relazione è quindi di tipo molti-a-molti. Requisito Specialità Quante tappe sono il requisito per conseguire una specialità? Secondo le specifiche, ogni specialità ha come requisito una data tappa, quindi ogni specialità ha minimo 1 e massimo 1 requisito: cardinalità. Tappa Data una tappa, quante specialità hanno tale tappa come requisito? Non lo sappiamo, quindi minimo 0, massimo senza vincoli: cardinalità. Le cardinalità massime sono 1 e N: la relazione è quindi di tipo uno-a-molti.

Esercitazione 5a Progettazione logica 9 Lo schema Entità-Relazione completo è dunque il seguente: Urlo Squadriglia Posizione Appartenenza Cog Scout Tessera Conseguimento DataNascita Telefono Raggiungimento Tappa Requisito Specialità Ordine La progettazione logica e l implementazione dell istanza richiesta sono lasciati come esercizio.