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

Documenti analoghi
Progettazione di Basi di Dati

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Ciclo di vita di un sistema informativo

Modello Entità-Relazione

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

Metodologie e modelli di progetto

Progettazione di basi di dati

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

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

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3

Progettazione di basi di dati

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

Progettazione di basi di dati

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Il modello Entità/Relazioni (ER)

Modello Entità-Relazione (E-R)

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

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

Il modello Entity-Relationship: elementi avanzati

Il modello Entity-Relationship: elementi avanzati

Basi di Dati Concetti Introduttivi

Il Modello Concettuale Enità-Relazione (ER)

Cap. 3 - Il modello ER

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

Informatica Industriale

Programmazione con Java

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

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni

DataBase Management System - DBMS

Corso di Laurea in Informatica Basi di Dati a.a

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione

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

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

SCHEMA E/R DI UNA UNIVERSITA'

IL MODELLO ENTITA - RELAZIONE

Basi di dati 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/13

Laboratorio di Basi di Dati

Le Basi di dati: progettazione concettuale

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Corso di Informatica

LA PROGETTAZIONE CONCETTUALE

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

REGIONE BASILICATA UFFICIO S. I. R. S.

Progettazione logica

Conversione Modello ER in Modello Relazionale. A.Bardine - Conversione Modello ER in Modello Relazionale

Progettazione logica: criteri di ottimizzazione

Elena Baralis, Claudio Demartini

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

Progettazione concettuale. Facoltà di Scienze Matematiche, Fisiche e Naturali. Progettazione concettuale. Acquisizione e analisi dei requisiti

Corso di Basi di Dati

BASI DATI INFORMATICA

Basi di dati: progettazione concettuale con schemi E-R

Traduzione ER - relazionale

Il PROCESSO UNIFICATO

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

RELAZIONI E BASI DI DATI

Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati

Corso di Basi di Dati

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

I modelli logici dei dati

Raccolta e analisi dei requisiti

Requisiti della base di dati. Schema concettuale

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

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

I database. Introduzione alla teoria delle basi di dati

Il modello Relazionale.

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

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

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

Sommario. Introduzione... 13

ESERCIZI DI MODELLAZIONE E-R

Progettazione base dati relazionale

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

1. Dire cosa si intende per componente intensionale e componente estensionale di una base di dati.

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Basi di dati Modelli e linguaggi di interrogazione

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

MODELLO e RAPPRESENTAZIONE

Basi di Dati. Concetti e Principi Generali. Maria Mirto

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

Esercitazione di Basi di Dati

Lezione 3. Modellazione dei Dati mediante il Modello Entità Associazione (ER)

2. Modellazione dei casi d uso

Le basi di dati. Base di dati = dati + DBMS.

Progettazione concettuale

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

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

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

Introduzione alla progettazione. Metodologie e modelli per la progettazione di basi di dati. Il ciclo di vita dei sistemi informativi

Generazione diagrammi ER

Sistemi di Elaborazione delle Informazioni (C.I. 15) Basi di dati Introduzione teorica

Linguaggi, Traduttori e le Basi della Programmazione

Che cos è l informatica?

Il modello Entity-Relationship: pattern di progettazione

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Esercitazione 2: Progettazione Concettuale

UNIVERSITÀ DEGLI STUDI DI VERONA LAUREA IN SCIENZE DELLA COMUNICAZIONE

Transcript:

Sistemi informativi D B M G Progettazione di basi di dati Modello Entità-Relazione Progettazione concettuale Progettazione logica Normalizzazione D B M G 2 1

Progettazione di basi di dati D B M G Modello Entità-Relazione Ciclo di vita di un sistema informativo Progettazione di basi di dati Entità e relazioni Attributi Identificatori Generalizzazione Documentazione di schemi E-R UML ed E-R D B M G 4 2

Modello Entità-Relazione D B M G Progettazione di basi di dati La progettazione di una base di dati è una delle attività del processo di sviluppo di un sistema informativo va inquadrata nel contesto più ampio di ciclo di vita di un sistema informativo D B M G 6 3

Ciclo di vita di un sistema informativo Studio di fattibilità D B M G 7 Ciclo di vita di un sistema informativo Studio di fattibilità determinazione dei costi delle diverse alternative e delle priorità di realizzazione delle componenti del sistema D B M G 8 4

Ciclo di vita di un sistema informativo Studio di fattibilità Raccolta e analisi dei requisiti D B M G 9 Ciclo di vita di un sistema informativo Raccolta e analisi dei requisiti definizione delle proprietà e delle funzionalità del sistema informativo richiede interazione con l utente produce una descrizione completa, ma informale del sistema da realizzare D B M G 10 5

Ciclo di vita di un sistema informativo Studio di fattibilità Raccolta e analisi dei requisiti Progettazione D B M G 11 Ciclo di vita di un sistema informativo Progettazione suddivisa in progettazione dei dati e delle applicazioni produce descrizioni formali D B M G 12 6

Ciclo di vita di un sistema informativo Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Implementazione D B M G 13 Ciclo di vita di un sistema informativo Implementazione realizzazione del sistema informativo secondo le caratteristiche definite nella fase di progettazione D B M G 14 7

Ciclo di vita di un sistema informativo Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Implementazione Validazione e testing D B M G 15 Ciclo di vita di un sistema informativo Validazione e testing verifica del corretto funzionamento e della qualità del sistema informativo può portare a modifiche dei requisiti o revisione del progetto D B M G 16 8

Ciclo di vita di un sistema informativo Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Implementazione Validazione e testing D B M G 17 Funzionamento Ciclo di vita di un sistema informativo Funzionamento operatività del sistema richiede operazioni di gestione e manutenzione D B M G 18 9

Ciclo di vita di un sistema informativo Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Prototipazione Implementazione Validazione e testing D B M G 19 Funzionamento Ciclo di vita di un sistema informativo Prototipazione realizzazione rapida di una versione semplificata del sistema per valutarne le caratteristiche può portare a modifiche dei requisiti o revisione del progetto D B M G 20 10

Ciclo di vita di un sistema informativo Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Prototipazione Implementazione Validazione e testing D B M G 21 Funzionamento Ciclo di vita di un sistema informativo Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Prototipazione Implementazione Validazione e testing D B M G 22 Funzionamento 11

Modello Entità-Relazione D B M G Progettazione di una base di dati La base di dati costituisce un componente importante del sistema complessivo Metodologia di progettazione basata sui dati la progettazione della base di dati precede la progettazione delle applicazioni che la utilizzano attenzione maggiore alla fase di progettazione rispetto alle altre fasi D B M G 24 12

Metodologia di progettazione Una metodologia di progettazione consiste in decomposizione dell attività di progetto in passi successivi indipendenti tra loro strategie da seguire nei vari passi e criteri per la scelta delle strategie modelli di riferimento per descrivere i dati d ingresso e di uscita delle varie fasi D B M G 25 Metodologia di progettazione: Esempio Preparazione atletica decomposizione dell attività 1. forma fisica 2a. potenziamento 2b. velocità D B M G 26 13

Metodologia di progettazione: Esempio Preparazione atletica decomposizione dell attività strategie da seguire nei vari passi 1. A) dieta alimentare B) esercizi per ridurre la percentuale di grasso 2a.A) esercizi con pesi B) esercizi di resistenza D B M G 27 Metodologia di progettazione: Esempio Preparazione atletica decomposizione dell attività strategie da seguire nei vari passi modelli di riferimento per descrivere i dati d ingresso e di uscita delle varie fasi 1. dati d ingresso: peso attuale, % di grasso corporeo dati di uscita: modello della struttura corporea della persona in forma 2a.dati di ingresso: modello di persona in forma dati di uscita: modello della struttura corporea dell atleta medio D B M G 28 14

Proprietà della metodologia Generalità possibilità di utilizzo indipendentemente dal problema e dagli strumenti a disposizione Qualità del risultato in termini di correttezza, completezza ed efficienza rispetto alle risorse utilizzate Facilità d uso sia delle strategie che dei modelli di riferimento D B M G 29 Progettazione basata sui dati Per le basi di dati, metodologia basata sulla separazione delle decisioni cosa rappresentare nella base di dati progettazione concettuale come rappresentarlo progettazione logica e fisica D B M G 30 15

Fasi della progettazione di basi di dati Requisiti applicazione D B M G 31 Requisiti applicazione Specifiche informali della realtà di interesse proprietà dell applicazione funzionalità dell applicazione D B M G 32 16

Fasi della progettazione di basi di dati Requisiti applicazione Progettazione concettuale Schema concettuale D B M G 33 Progettazione concettuale Rappresentazione delle specifiche informali sotto forma di schema concettuale descrizione formale e completa, che fa riferimento ad un modello concettuale indipendenza dagli aspetti implementativi (modello dei dati) obiettivo è la rappresentazione del contenuto informativo della base di dati D B M G 34 17

Fasi della progettazione di basi di dati Requisiti applicazione Progettazione concettuale Schema concettuale Progettazione logica Schema logico D B M G 35 Progettazione logica Traduzione dello schema concettuale nello schema logico fa riferimento al modello logico dei dati prescelto si usano criteri di ottimizzazione delle operazioni da fare sui dati qualità dello schema verificata mediante tecniche formali (normalizzazione) D B M G 36 18

Fasi della progettazione di basi di dati Requisiti applicazione Progettazione concettuale Schema concettuale Progettazione logica Schema logico Progettazione fisica Schema fisico D B M G 37 Progettazione fisica Specifica dei parametri fisici di memorizzazione dei dati (organizzazione dei file e degli indici) produce un modello fisico, che dipende dal DBMS prescelto D B M G 38 19

Fasi della progettazione di basi di dati Requisiti applicazione Progettazione concettuale Schema concettuale Progettazione logica Schema logico Progettazione fisica Schema fisico D B M G 39 Modello Entità-Relazione D B M G 20

Il modello E-R (Entity-Relationship) È il modello concettuale più diffuso Fornisce costrutti per descrivere le specifiche sulla struttura dei dati in modo semplice e comprensibile con un formalismo grafico in modo indipendente dal modello dei dati, che può essere scelto in seguito Ne esistono numerose varianti D B M G 41 Costrutti principali del modello E-R Entità Relazioni Attributi Identificatori Generalizzazioni e sottoinsiemi D B M G 42 21

Entità entità Rappresenta classi di oggetti del mondo reale (persone, cose, eventi,...), che hanno proprietà comuni esistenza autonoma Esempi: dipendente, studente, articolo Un occorrenza di un entità è un oggetto della classe che l entità rappresenta D B M G 43 Relazione relazione Rappresenta un legame logico tra due o più entità Esempi: esame tra studente e corso, residenza tra persona e comune Da non confondere con la relazione del modello relazionale a volte indicata con il termine associazione D B M G 44 22

Esempi di relazioni Corso D B M G 45 Esempi di relazioni Esame Superato Corso D B M G 46 23

Esempi di relazioni Esame Superato Corso Persona Comune D B M G 47 Esempi di relazioni Esame Superato Corso Persona Residenza Comune D B M G 48 24

Esempi di relazioni Esame Superato Corso Persona Residenza Comune Nascita D B M G 49 Occorrenze di una relazione s 1 c 1 s c c s 2 2 5 4 c 3 s 3 c 4 Corso D B M G 50 25

Occorrenze di una relazione Un occorrenza di una relazione è una n-upla (coppia nel caso di relazione binaria) costituita da occorrenze di entità, una per ciascuna delle entità coinvolte e 1 s 1 c 1 s c c s 2 2 5 4 c 3 s 3 c 4 Corso D B M G 51 Occorrenze di una relazione Un occorrenza di una relazione è una n-upla (coppia nel caso di relazione binaria) costituita da occorrenze di entità, una per ciascuna delle entità coinvolte Non vi possono essere n-uple identiche e 1 s 1 c 1 s c c s 2 2 5 4 c 3 s 3 e 2 e3 e 4 e 5 D B M G 52 c 4 Corso 26

Cardinalità delle relazioni binarie Sono specificate per ogni entità che partecipa ad una relazione Descrivono numero minimo e massimo di occorrenze di una relazione a cui può partecipare una occorrenza di un entità minimo assume i valori 0 (partecipazione opzionale) 1 (partecipazione obbligatoria) massimo varia tra 1 (al più una occorrenza) N (numero arbitrario di occorrenze) D B M G 53 Cardinalità delle relazioni binarie Corrispondenza 1 a 1 Professore p 1 u 1 p2 p 3 u 2 p 4 Università D B M G 54 27

Cardinalità delle relazioni binarie Corrispondenza 1 a 1 Professore Università Professore p 1 u 1 p2 p 3 u 2 p 4 Università D B M G 55 Cardinalità delle relazioni binarie Corrispondenza 1 a 1 Rettore Professore Università Professore p 1 u 1 p2 p 3 u 2 p 4 Università D B M G 56 28

Cardinalità delle relazioni binarie Corrispondenza 1 a 1 Rettore Professore (1,1) Università Professore p 1 r 1 u 1 p2 u 2 p 4 p 3 r 2 Università D B M G 57 Cardinalità delle relazioni binarie Corrispondenza 1 a 1 Rettore Professore (0,1) (1,1) Università Professore p 1 r 1 u 1 p2 u 2 p 4 p 3 r 2 Università D B M G 58 29

Cardinalità delle relazioni binarie Corrispondenza 1 a N p 1 c 1 Persona p 3 p 2 p 4 c 2 Comune D B M G 59 Cardinalità delle relazioni binarie Corrispondenza 1 a N Persona Comune p 1 c 1 Persona p 3 p 2 p 4 c 2 Comune D B M G 60 30

Cardinalità delle relazioni binarie Corrispondenza 1 a N Residenza Persona Comune p 1 c 1 Persona p 3 p 2 p 4 c 2 Comune D B M G 61 Cardinalità delle relazioni binarie Corrispondenza 1 a N Persona (1,1) Residenza Comune p 1 r 1 c 1 Persona p 3 p 2 p 4 c 2 Comune D B M G 62 31

Cardinalità delle relazioni binarie Corrispondenza 1 a N Persona Residenza (1,1) (1,N) Comune r 2 p 1 r 1 c 1 Persona p 3 p 2 p 4 r 3 r 4 c 2 Comune D B M G 63 Cardinalità delle relazioni binarie Corrispondenza molti a molti s 1 c 1 s 3 s 2 c 2 s 4 c 3 Corso D B M G 64 32

Cardinalità delle relazioni binarie Corrispondenza molti a molti Corso s 1 c 1 s 3 s 2 c 2 s 4 c 3 Corso D B M G 65 Cardinalità delle relazioni binarie Corrispondenza molti a molti Esame Superato Corso s 1 c 1 s 3 s 2 c 2 s 4 c 3 Corso D B M G 66 33

Cardinalità delle relazioni binarie Corrispondenza molti a molti Esame Superato (0,N) Corso s 1 c 1 s 3 e 2 s 2 c 2 s 4 e 3 c 3 Corso D B M G 67 Cardinalità delle relazioni binarie Corrispondenza molti a molti Esame Superato (0,N) (0,N) Corso e 1 s 1 c 1 s 3 e 2 s 2 c 2 s 4 e 3 c 3 Corso D B M G 68 e 4 34

Limite di una relazione binaria e 1 s 1 c 1 c 2 c 3 s 2 s 3 e 2 e3 e 4 e 5 c 4 Corso Non è possibile che uno studente sostenga due volte lo stesso esame D B M G 69 Relazione ternaria Uno studente può ripetere lo stesso esame in tempi diversi Esempio di istanza di esame s 1 c 1 t 1 D M B s G 1 c 1 t 2... 70 35

Relazione ternaria Esame Corso Tempo Uno studente può ripetere lo stesso esame in tempi diversi Esempio di istanza di esame s 1 c 1 t 1 D M B s G 1 c 1 t 2... 71 Cardinalità delle relazioni ternarie (0,N) Esame Corso Tempo D B M G 72 36

Occorrenze di una relazione ternaria s 1 s 3 c 3 c 1 c2 Corso s 2 t 1t2 t 3 Tempo D B M G 73 Occorrenze di una relazione ternaria e 1 s 1 c 1 s c 3 3 c2 s 2 Corso t 1t2 t 3 Tempo D B M G 74 37

Occorrenze di una relazione ternaria e 2 e 1 s 1 c e3 1 s c 3 3 c2 s 2 Corso t 1t2 t 3 Tempo D B M G 75 Occorrenze di una relazione ternaria e 1 s 1 c e3 1 s c 3 3 c2 s 2 e 4 e 2 Corso t 1t2 t 3 Tempo D B M G 76 38

Cardinalità delle relazioni ternarie Esame (0,N) (0,N) Corso (1,N) Tempo D B M G 77 Osservazioni Le cardinalità minime raramente sono 1 per tutte le entità coinvolte in una relazione Le cardinalità massime di una relazione n-aria sono (praticamente) sempre N se la partecipazione di un entità E ha cardinalità massima 1, è possibile eliminare la relazione n-aria e legare l entità E con le altre mediante relazioni binarie D B M G 78 39

Relazione ricorsiva Amministratore Delegato Sud Italia Acquisti/Vendite Nord Italia Ricerca e Sviluppo Marketing Responsabile Grafico Responsabile Promozioni Responsabile D M BG Settore Settore 79 Dolciario Responsabile Pastificio Relazione ricorsiva Dipendente Amministratore Delegato Sud Italia Acquisti/Vendite Nord Italia Responsabile Settore Dolciario Ricerca e Sviluppo Responsabile Grafico Responsabile Settore Pastificio Marketing Responsabile Promozioni D B M G 80 40

Relazione ricorsiva Sottoposto a Dipendente Superiore di Amministratore Delegato Superiore Sud Italia Acquisti/Vendite Nord Italia Responsabile Settore Dolciario Relazione di un entità con se stessa Ricerca e Sviluppo Responsabile Grafico Responsabile Settore Pastificio Marketing Responsabile Promozioni D M BG Se la relazione non è simmetrica, occorre definire i due ruoli dell entità 81 Relazione ricorsiva Sottoposto a Dipendente Superiore di Amministratore Delegato (0,1) (0,N) Superiore Sud Italia Acquisti/Vendite Nord Italia Responsabile Settore Dolciario Relazione di un entità con se stessa Ricerca e Sviluppo Responsabile Grafico Responsabile Settore Pastificio Marketing Responsabile Promozioni D M BG Se la relazione non è simmetrica, occorre definire i due ruoli dell entità 82 41

Relazione ricorsiva Amministratore Delegato Sud Italia Acquisti/Vendite Nord Italia Ricerca e Sviluppo Responsabile Grafico Marketing Responsabile Promozioni Responsabile D M BG Settore Settore 83 Dolciario Responsabile Pastificio Relazione ricorsiva Dipendente Amministratore Delegato Sud Italia Acquisti/Vendite Nord Italia Responsabile Settore Dolciario Ricerca e Sviluppo Responsabile Grafico Responsabile Settore Pastificio Marketing Responsabile Promozioni D B M G 84 42

Relazione ricorsiva Sottoposto a Dipendente Superiore di Amministratore Delegato Acquisti/Vendite Superiore Sud Italia Nord Italia Responsabile Settore Dolciario Ricerca e Sviluppo Responsabile Grafico Responsabile Settore Pastificio Marketing Responsabile Promozioni D M B Un sottoposto potrebbe avere più superiori G 85 Relazione ricorsiva Sottoposto a Dipendente Superiore di Amministratore Delegato (0,N) Superiore (0,N) Sud Italia Acquisti/Vendite Nord Italia Responsabile Settore Dolciario Ricerca e Sviluppo Responsabile Grafico Responsabile Settore Pastificio Marketing Responsabile Promozioni D M B Un sottoposto potrebbe avere più superiori G 86 43

Modello Entità-Relazione D B M G Attributo attributo Descrive una proprietà elementare di un entità o di una relazione Esempi cognome, nome, matricola sono attributi che descrivono l entità studente voto è un attributo che descrive la relazione esame Ogni attributo è caratterizzato dal dominio l insieme dei valori ammissibili per l attributo D B M G 88 44

Esempi di attributi Persona (1,1) Residenza (1,N) Comune (1,1) (0,N) Nascita D B M G 89 Esempi di attributi Codice Fiscale Persona (1,1) Residenza (1,N) Comune (1,1) (0,N) Nascita D B M G 90 45

Esempi di attributi Codice Fiscale Persona (1,1) Residenza (1,N) Comune Provincia (1,1) (0,N) Nascita D B M G 91 Esempi di attributi Codice Fiscale Persona (1,1) (1,1) Residenza (1,N) Data Trasferimento Comune (0,N) Provincia Nascita Data Nascita D B M G 92 46

Esempi di attributi Codice Fiscale Persona (1,1) (1,1) Residenza (1,N) Data Trasferimento Comune (0,N) Provincia Nascita Data Nascita (0,N) Esame (0,N) Corso (1,N) Tempo D B M G 93 Esempi di attributi Codice Fiscale Persona (1,1) (1,1) Residenza (1,N) Data Trasferimento Comune (0,N) Provincia Nascita Data Nascita Matricola (0,N) Esame (0,N) Corso Codice (1,N) Tempo Docente D B M G 94 47

Esempi di attributi Codice Fiscale Persona (1,1) (1,1) Residenza (1,N) Data Trasferimento Comune (0,N) Provincia Nascita Data Nascita Matricola (0,N) Esame (0,N) Corso Codice (1,N) Tempo Data Docente D B M G 95 Esempi di attributi Codice Fiscale Persona (1,1) (1,1) Residenza (1,N) Data Trasferimento Comune (0,N) Provincia Nascita Data Nascita Matricola (0,N) Esame (1,N) Tempo (0,N) Voto Data Corso Docente Codice D B M G 96 48

Attributo composto attr. composto attr. 1 attr. 2... attr. i Raggruppamento di attributi affini per significato o per uso D B M G 97 Attributo composto attr. composto attr. 1 attr. 2... attr. i Raggruppamento di attributi affini per significato o per uso Esempio Via Indirizzo Numero Civico CAP D B M G 98 49

Cardinalità di un attributo Può essere specificata per gli attributi di entità o relazioni Descrive numero minimo e massimo di valori dell attributo associati ad una occorrenza di un entità o di una relazione se è omessa corrisponde ad (1,1) minima 0 corrisponde ad attributo che ammette il valore nullo massima N corrisponde ad attributo che può assumere più di un valore per la stessa occorrenza (attributo multivalore) D B M G 99 Cardinalità di un attributo Codice Fiscale Persona D B M G 100 50

Cardinalità di un attributo Codice Fiscale Persona Titolo Studio Professione (0,1) D B M G 103 Cardinalità di un attributo Codice Fiscale Persona Titolo Studio (0,N) Professione (0,1) D B M G 104 52

Modello Entità-Relazione D B M G Identificatore È specificato per ogni entità Descrive i concetti (attributi e/o entità) dello schema che permettono di individuare in modo univoco le occorrenze delle entità ogni entità deve avere almeno un identificatore può esistere più di un identificatore appropriato per un entità D B M G 106 53

Identificatore interno Semplice: costituito da un solo attributo Codice Fiscale Persona D B M G 107 Identificatore interno Semplice: costituito da un solo attributo Codice Fiscale Persona Composto: costituito da più attributi Data Nascita Persona Professione D B M G 108 54

Identificatore esterno Matricola D B M G 109 Identificatore esterno Matricola Città Università D B M G 110 55

Identificatore esterno Matricola Città Iscrizione Università D B M G 111 Identificatore esterno Matricola Città Iscrizione Università L entità che non dispone internamente di attributi sufficienti per definire un identificatore è denominata entità debole D B M G 112 56

Identificatore esterno Matricola Città Iscrizione (1,1) (0,N) Università L entità che non dispone internamente di attributi sufficienti per definire un identificatore è denominata entità debole D B M G 113 Identificatore esterno Matricola Città Iscrizione (1,1) (0,N) Università L entità che non dispone internamente di attributi sufficienti per definire un identificatore è denominata entità debole L entità debole deve partecipare con cardinalità (1,1) in ognuna delle relazioni che forniscono parte dell identificatore D B M G 114 57

Identificatore esterno Codice Prodotto Numero Data Ordine Descrizione Prezzo Prodotto (1,N) Include (0,N) Quantità D B M G 115 Identificatore esterno Codice Prodotto Numero Data Ordine Descrizione Prezzo Prodotto (1,N) (0,N) In (1,1) Linea Ordine (1,1) Per Quantità D B M G 116 58

Identificatore esterno Codice Prodotto Numero Data Ordine Descrizione Prezzo Prodotto (1,N) (0,N) In Linea Ordine (1,1) (1,1) Quantità È possibile rappresentare nello stesso ordine più linee ordine per lo stesso prodotto? Per D B M G 117 Identificatore esterno Codice Prodotto Numero Data Ordine (1,N) Descrizione Prezzo Numero Linea Prodotto (0,N) In Linea Ordine (1,1) (1,1) Quantità Per D B M G 118 59

Osservazioni Un identificatore esterno può coinvolgere un entità a sua volta identificata esternamente non si devono generare cicli di identificazione Sala (0,N) Codice Sala Numero Scaffale In Numero Ripiano In (1,1) Scaffale (0,N) (1,1) Ripiano D B M G 119 Osservazioni Le relazioni non hanno identificatori Matricola Codice Corso (0,N) Esame (0,N) Corso Data D B M G 120 60

Modello Entità-Relazione D B M G Generalizzazione E E 1 E 2 E n Descrive un collegamento logico tra un entità E, e una o più entità E 1, E 2,, E n, in cui E comprende come casi particolari E 1, E 2,, E n E, detta entità padre, è una generalizzazione di E 1, E 2,, E n E 1, E 2,, E n, dette entità figlie, sono una D M BG specializzazione di E 122 61

Generalizzazione: esempio Persona Codice Fiscale Persona D B M G 123 Generalizzazione: esempio Persona Codice Fiscale Situazione Militare Uomo Donna Persona D B M G 124 62

Generalizzazione: esempio Persona Codice Fiscale Situazione Militare Uomo Donna Persona Uomo Donna D B M G 125 Generalizzazione: esempio Sportivo Numero Tessera Sportivo D B M G 126 63

Generalizzazione: esempio Sportivo Numero Tessera Specialità Sciatore Velista Ruolo Sportivo D B M G 127 Generalizzazione: esempio Sportivo Numero Tessera Specialità Sciatore Velista Ruolo Sportivo Sciatore D B M G 128 64

Generalizzazione: esempio Sportivo Numero Tessera Specialità Sciatore Velista Ruolo Sportivo Sciatore Velista D B M G 129 Generalizzazione: esempio Sportivo Numero Tessera Specialità Sciatore Velista Ruolo né sciatore, né velista Sportivo Sciatore Velista sia sciatore, sia velista D B M G 130 65

Generalizzazione: proprietà Ogni occorrenza di un entità figlia è anche un occorrenza dell entità padre Ogni proprietà dell entità padre (attributi, identificatori, relazioni, altre generalizzazioni) è anche una proprietà di ogni entità figlia proprietà nota come ereditarietà Un entità può essere coinvolta in più generalizzazioni diverse D B M G 131 Generalizzazione: esempio non corretto Situazione Militare (0,1) Persona Codice Fiscale Uomo Donna D B M G 132 66

Generalizzazione: esempio non corretto Situazione Militare (0,1) Persona Codice Fiscale Uomo Donna D B M G 133 Generalizzazione: esempio non corretto Situazione Militare (0,1) Persona Codice Fiscale Uomo Donna D B M G 134 67

Generalizzazione: esempio corretto Persona Codice Fiscale Situazione Militare Uomo Donna D B M G 135 Generalizzazione: proprietà Caratteristiche ortogonali generalizzazione totale se ogni occorrenza dell entità padre è un occorrenza di almeno una delle entità figlie, parziale altrimenti esclusiva se ogni occorrenza dell entità padre è al più un occorrenza di una delle entità figlie, sovrapposta altrimenti D B M G 136 68

Generalizzazione: esempio Persona (t,e) Codice Fiscale Situazione Militare Uomo Donna Persona Uomo Donna D B M G 137 Generalizzazione: esempio Sportivo (p,s) Numero Tessera Specialità Sciatore Velista Ruolo né sciatore, né velista Sportivo Sciatore Velista sia sciatore, sia velista D B M G 138 69

Sottoinsieme Caso particolare di generalizzazione con una sola entità figlia la generalizzazione è sempre parziale ed esclusiva Dipendente A Termine Data Fine Contratto D B M G 139 Modello Entità-Relazione D B M G 70

Documentazione di schemi E-R Crediti Acquisiti Matricola Codice Corso Media Voti Data Esame (0,N) (0,N) Tempo Corso (1,1) (1,N) Voto Crediti Dipartimento Docente Codice Docente (1,N) Titolare D B M G 141 Documentazione di schemi E-R Dizionario dei dati permette di arricchire lo schema E-R con descrizioni in linguaggio naturale di entità, relazioni e attributi D B M G 142 71

Dizionario dei dati: esempio Entità Descrizione Attributi Identificatore dell università Matricola,,, Crediti acquisiti, Media voti Matricola Docente Docente dell università Codice docente, Dipartimento,, Codice docente Corso Corsi offerti dall università Codice corso,, Crediti Codice corso Tempo Date in cui sono stati sostenuti esami Data Data D B M G 143 Dizionario dei dati: esempio Relazione Descrizione Entità coinvolte Attributi Esame Associa uno studente agli esami che ha sostenuto e memorizza il voto conseguito Corso Tempo (0,N), (0,N), (1,N) Voto Titolare Associa ogni corso al suo docente titolare Corso (1,1), Docente (0,N) D B M G 144 72

Documentazione di schemi E-R Dizionario dei dati permette di arricchire lo schema E-R con descrizioni in linguaggio naturale di entità, relazioni e attributi Vincoli d integrità sui dati non sempre possono essere indicati esplicitamente in uno schema E-R possono essere descritti in linguaggio naturale D B M G 145 Vincoli d integrità sui dati: esempio RV1 RV2 RV3 Vincoli d integrità Il voto di un esame può assumere esclusivamente valori compresi tra 0 e 30 Ogni studente non può superare due volte con esito positivo lo stesso esame Uno studente non può sostenere più di tre volte l esame relativo allo stesso corso nell arco dello stesso anno accademico D B M G 146 73

Documentazione di schemi E-R Dizionario dei dati permette di arricchire lo schema E-R con descrizioni in linguaggio naturale di entità, relazioni e attributi Vincoli d integrità sui dati non sempre possono essere indicati esplicitamente in uno schema E-R possono essere descritti in linguaggio naturale Regole di derivazione dei dati permettono di esplicitare che un concetto dello schema può essere ottenuto (mediante inferenza o calcolo aritmetico) da altri concetti dello schema D B M G 147 Regole di derivazione dei dati: esempio RD1 RD2 Regole di derivazione Il numero di crediti acquisiti da uno studente si ottiene sommando il numero di crediti dei corsi per cui lo studente ha superato l esame La media voti di uno studente di ottiene calcolando la media dei voti degli esami superati dallo studente D B M G 148 74

Modello Entità-Relazione D B M G UML ed E-R UML (Unified Modeling Language) modellazione di un applicazione software aspetti strutturali e comportamentali (dati, operazioni, processi e architetture) formalismo ricco diagramma delle classi, degli attori, di sequenza, di comunicazione, degli stati,... E-R modellazione di una base di dati aspetti strutturali di un applicazione costrutti funzionali alla modellazione di basi di dati D B M G 150 75

UML ed E-R Principali differenze di UML rispetto ad ER assenza di notazione standard per definire gli identificatori possibilità di aggiungere note per commentare i diagrammi possibilità di indicare il verso di navigazione di una associazione (non rilevante nella progettazione di una base di dati) D B M G 151 UML ed E-R Formalismi diversi Il diagramma delle classi di un applicazione è diverso dallo schema E-R della base di dati Il diagramma delle classi, anche se progettato per uso diverso, può essere adattato per la descrizione del progetto concettuale di una base di dati D B M G 152 76