Esercitazioni Basi di dati e web Dario Facchinetti

Documenti analoghi
REGISTRO DELLE LEZIONI

Sommario. Introduzione... 13

Corso di Laurea in Informatica Basi di Dati a.a

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

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

Progettazione Logica. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Prefazione. Parte Prima Basi di dati relazionali: modello e linguaggi 15

Basi di Dati Relazionali

Prova Scritta di Basi di Dati

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica

Basi di Dati 1 Esercitazione 4 27/11/2012. Matteo Picozzi

Analisi di una ridondanze. Numero abitanti. (1,1) (0,N) Residenza

REGISTRO DELLE LEZIONI

Basi di Dati 1! Esercitazione 4. Matteo Picozzi!

IL MODELLO ENTITÀ-RELAZIONE

ITI M. FARADAY. Programmazione a. s

MODULO Il sistema azienda. Sistema Informativo e Informatico Requisiti dei dati

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

BASE DI DATI. Esercizio: FACEBOOK Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

LA PROGETTAZIONE LOGICA

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Fondamenti di Informatica A. A / 1 9

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

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

Il modello Entità/Relazioni (ER)

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

TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE

Corso di Basi di Dati

Progettazione logica D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/2013

LA PROGETTAZIONE LOGICA. Prima parte

Basi di Dati. Corso di Laurea in Informatica Corso B A.A. 2015/16. Dr. Claudia d'amato. Dipartimento di Informatica, Università degli Studi Bari

Fondamenti di Informatica e Programmazione

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

PROGRAMMAZIONE DIDATTICA DI DIPARTIMENTO A.S. 2017/2018

Esercitazione 3. Vincoli di integrità. Approccio Procedurale

La progettazione logica

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Unità 3. Modello Relazionale

Esercitazioni Basi di dati e web Dario Facchinetti

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Esercizio 6. Progettare la seguente base di dati: Studio Fotografico. L'archivio delle attività di uno studio fotografico.

Laboratorio di Basi di Dati

Progettazione logica relazionale (1/2)

I DATI E LA LORO INTEGRAZIONE 63 4/001.0

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Prova Scritta di Basi di Dati

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

Progetto concettuale delle basi di dati

La Progettazione Logica

PIANO DI LAVORO. a.s / 2019

Disciplina: INFORMATICA

Progettazione di basi di dati D B M G

Progettazione logica: criteri di ottimizzazione

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

Basi di dati Prova di autovalutazione 17 gennaio 2011

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

Laboratorio di Basi di Dati prova totale 30 gennaio 2013

Basi di Dati Relazionali

Decomposizione senza perdita

Basi di dati (database)

Laboratorio di Basi di Dati

Tecnico della progettazione implementazione e manutenzione di sistemi di gestione di database

Laboratorio di Basi di Dati

Istituto Statale E.Torricelli Liceo Scientifico Tecnologico-Tecnico Industriale. Compiti Estivi Informatica

SISTEMI INFORMATIVI E DATABASE

Sistemi informativi D B M G

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

Basi di dati Modelli e linguaggi di interrogazione

Lezione 4. Dallo schema ER al relazionale

Laboratorio di Basi di Dati

Scopo Laboratorio di Informatica

Anno Scolastico

Lezione 11. database: modello entityrelationship. Proff.Valle Folgieri. Lez11 Trattamento dati. Database: modello entity-relationship 1

Basi di dati (nuovo ordinamento) 16 giugno 2008 Compito A

Basi di dati McGraw-Hill

Traduzione dal modello E/R al modello relazionale

Corso di Informatica

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

A.s Programma di Informatica

Progettazione Logica. ISProgLog 1

PROGRAMMAZIONE CLASSE: 4A-4B-4I DISCIPLINA: INFORMATICA A.S. 2016/17

Prova Scritta di Basi di Dati

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

SCIENTIFICA MATERIA: INFORMATICA

INTRODUZIONE AL 2 TEST IN ITINERE. a.a

Metodologie e modelli di progetto

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

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale

A.S PIANO DI LAVORO CONSUNTIVO CLASSE 5Ci

Progettazione Logica e Modello Realizzativo

Microsoft Access. Nozioni di base. Contatti: Dott.ssa Silvia Bonfanti

Informatica. per laurea triennale di area non informatica. 1 Le basi di dati

Progettazione di Basi di Dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

ISTITUTO TECNICO INDUSTRIALE "G.M.ANGIOY"

Transcript:

Esercitazioni Basi di dati e web Dario Facchinetti - 2019 dario.facchinetti@unibg.it https://cs.unibg.it/dariofad/esercitazioni/bdweb2019.htm

Introduzione Questa esercitazione ѐ rivolta alla parte di progettazione di una base di dati. L obiettivo non ѐ estrarre informazioni partendo da schemi, ma creare schemi a partire da specifiche e requisiti. Vedremo come: Tradurre delle specifiche (testo) in schemi concettuali (ER) Tradurre schemi concettuali in schemi logici (nello specifico relazionali)

Introduzione alla progettazione Dividiamo la progettazione in tre categorie: Concettuale Logica Fisica Un breve richiamo alle dipendenze di ciascuna categoria: Tipo Dipendenze dal modello Dipendenze dal DBMS Concettuale no no Logica si no Fisica si si

Introduzione alla progettazione concettuale Si occupa principalmente di: Classificare Aggregare Generalizzare Nella modellazione ER questi concetti vengono espressi attraverso l uso di: Entità Associazioni Attributi

Introduzione alla progettazione concettuale Ripasso della modellazione ER: Cardinalità Auto-associazioni Associazioni ternarie Cardinalità degli attributi Identificatori Entità deboli Gerarchie e relative proprietà Sottoclassi intersezione Qualità di uno schema concettuale

Introduzione alla progettazione logica Traduzione del progetto concettuale in qualcosa di direttamente comprensibile da un database, nel nostro caso produrre uno schema relazionale. Un possibile processo da seguire: 1. Eliminazione delle gerarchie ISA 2. Selezione delle chiavi primarie e individuazione delle chiavi esterne 3. Normalizzazione degli attributi composti o multipli 4. Traduzione di entità e associazioni in schemi relazionali 5. Verifica di normalizzazione

Progettazione fisica Traduzione del modello logico in istruzioni SQL DDL. La progettazione fisica coinvolge anche ulteriori aspetti sui quali non ci focalizziamo: Definizione di ruoli Scelta dei connettori Politiche di gestione dei dati Definizione di viste Sviluppo di applicazioni per automatizzare alcune attività di manipolazione dati

Es 01 - Tradurre in diagramma ER e schema logico Ciascuna persona all'interno di una organizzazione può essere considerata un impiegato oppure un manager. Le persone hanno la possibilità di lavorare per una o più aziende, tuttavia ciascuna compagnia dà impiego ad almeno un dipendente. Le aziende sono a loro volta organizzate in dipartimenti, ciascun dipartimento è diretto da un manager.

Es 02 - Tradurre in diagramma ER e schema logico Un rivenditore processa molti ordini di acquisto relativi alla vendita di un certo numero di prodotti. Ciascun prodotto viene venduto da un unico rivenditore. Gli ordini di acquisto possono includere molti prodotti, la relazione che associa un ordine ad un prodotto viene detta "linea-prodotto". Ciascun cliente può effettuare più ordini, non è possibile effettuare un ordine cumulativo delle richieste di più clienti.

Es 03 - Tradurre in diagramma ER e schema logico Il personale di volo di ciascuna compagnia aerea deve essere sottoposto ad addestramento prima di poter poter prestare servizio. Il personale è composto da piloti e assistenti di volo; i piloti vengono assegnati ad un solo aeromobile, mentre gli assistenti possono invece prestare servizio su diversi tipi di aereomobile. Per ciascun aeromobile viene erogato un addestramento relativo alle emergenze unitamente ad un addestramento proprio del velivolo. Gli assistenti di volo, così come i piloti, necessitano di addestramento per le emergenze per ciascun aeromobile; l'addestramento relativo all'aeromobile ѐ obbligatorio solo per i piloti. L'addestramento piloti è inoltre soggetto a valutazione. Ciascun addetto può cumulare nel tempo diversi addestramenti, tuttavia ciascuna compagnia aerea si riserva di assegnare il personale a determinati aeromobili in funzione di altri parametri, quali ad esempio il paese di residenza dell addetto oppure la presenza di cicli all interno della mappa delle rotte (il testo introduce ridondanza!). Per ciascun pilota viene anche tenuta traccia di un profilo medico che ne determina l'idoneità.

Es 04 - Tradurre in diagramma ER e schema logico Una società vuole realizzare un database che supporti un sito web per aste online. I clienti che si registrano al sito indicano uno username, una password e diversi dettagli del proprio conto bancario. Ciascun cliente può agire come compratore e venditore: nel ruolo di venditore il cliente può avviare molteplici gare d'asta, rispettivamente nel ruolo di compratore il cliente può effettuare delle offerte per diverse aste. Le gare d'asta sono classificate in categorie, per ciascuna asta corrisponde una e una sola categoria. Prima di poter avviare una gara d'asta un cliente deve stabilire una durata in giorni e può caricare diverse immagini (di esempio oppure autoscatti). Le stesse immagini possono essere utilizzate in più gare d'asta. Ciascuna gara d'asta raccoglie informazioni specifiche al prodotto(ad esempio consumo, volume, etc.), un metodo di pagamento e un metodo di consegna. Ogni cliente può inviare e ricevere messaggi, tuttavia ciascun messaggio non può essere inviato a più persone. Ogni cliente è caratterizzato da un profilo di reputazione variabile nel tempo. Al momento della chiusura dell'asta, il vincitore deve valutare il venditore, in modo tale da poter aggiornare il suo profilo.

Qualità di uno schema concettuale La qualità di uno schema concettuale si misura : Completezza Correttezza Leggibilità Minimalità Auto-esplicatività Come garantire invece che le scelte fatte in fase di traduzione logica siano corrette? normalizzazione

Normalizzazione Forme normali: 1NF 2NF 3NF vs BCNF 4NF 5NF Impatto su operazioni di interrogazione, aggiornamento, inserimento e cancellazione.

Es 05 - Tradurre in diagramma ER e schema logico Un'organizzazione vendite è strutturata in uno o più canali di distribuzione, i quali sono a loro volta composti da una o più divisioni. L'organizzazione si avvale di procedure e condizioni per la determinazione del prezzo dei beni trattati, ciascuna condizione può essere utilizzata in molteplici procedure. Esiste una relazione "traccia" che è funzione del tipo di IVA a cui la procedura per la determinazione del prezzo è soggetta, del tipo di documenti che vengono utilizzati per la sua redazione e della divisione che si occupa dello svolgimento del processo. Ciascuna procedura di calcolo del prezzo viene effettuata da una e una sola divisione. Ciascun ordine di vendita viene assegnato ad un certo documento e un certo tipo di calcolo dell'iva.