Progettazione di basi di dati
Metodologie e modelli
Studio di fattibilità
Raccolta e analisi
dei requisiti
Progettazione
Realizzazione
Validazione e
collaudo
Funzionamento
Le nuove tecnologie Software
21 December, 2015 - slide
La progettazione di un sistema informativo riguarda due
aspetti:
progettazione dei dati
progettazione delle applicazioni
Ma:
 i dati hanno un ruolo centrale

i dati sono più stabili
Le nuove tecnologie Software
21 December, 2015 - slide
Studio di fattibilità
Raccolta e analisi
dei requisiti
Progettazione
dei dati
Realizzazione
Validazione e
collaudo
Funzionamento
Le nuove tecnologie Software
21 December, 2015 - slide
Requisiti della base di dati
“CHE COSA”:
analisi
Progettazione
concettuale
Schema concettuale
Progettazione
logica
Schema logico
“COME”:
progettazione
Progettazione
fisica
Schema fisico
Le nuove tecnologie Software
21 December, 2015 - slide
Schemi e istanze
In ogni base di dati esistono:

lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura
(aspetto intensionale)
 nel modello relazionale, le intestazioni delle tabelle

l’istanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto
estensionale)
 nel modello relazionale, il “corpo” di ciascuna tabella
Le nuove tecnologie Software
21 December, 2015 - slide
Due tipi (principali) di modelli
modelli logici: utilizzati nei DBMS esistenti per
l’organizzazione dei dati


utilizzati dai programmi
indipendenti dalle strutture fisiche
esempi: relazionale, reticolare, gerarchico, a oggetti
modelli concettuali: permettono di rappresentare i dati in
modo indipendente da ogni sistema


cercano di descrivere i concetti del mondo reale
sono utilizzati nelle fasi preliminari di progettazione
il più noto è il modello Entity-Relationship
Le nuove tecnologie Software
21 December, 2015 - slide
Architettura (semplificata) di un DBMS
utente
Schema logico
Schema interno
BD
Le nuove tecnologie Software
21 December, 2015 - slide
Progettazione
concettuale
Progettazione
logica
Progettazione
fisica
Le nuove tecnologie Software
21 December, 2015 - slide
Modello Entity-Relationship
(Entità-Relazione)
Il più diffuso modello concettuale


Ne esistono molte versioni,
(più o meno) diverse l’una dall’altra
Le nuove tecnologie Software
21 December, 2015 - slide
I costrutti del modello E-R






Entità
Relationship
Attributo
Identificatore
Generalizzazione
….
Le nuove tecnologie Software
21 December, 2015 - slide
Entità
Classe di oggetti (fatti, persone, cose) della applicazione di
interesse con proprietà comuni e con esistenza
“autonoma”
Esempi:

impiegato, città, conto corrente, ordine, fattura
Le nuove tecnologie Software
21 December, 2015 - slide
Relationship
Legame logico fra due o più entità, rilevante
nell’applicazione di interesse
Esempi:


Residenza (fra persona e città)
Esame (fra studente e corso)
Le nuove tecnologie Software
21 December, 2015 - slide
Uno schema E-R, graficamente
Studente
Le nuove tecnologie Software
Esame
Corso
21 December, 2015 - slide
Entità
Classe di oggetti (fatti, persone, cose) della applicazione di
interesse con proprietà comuni e con esistenza
“autonoma”
Esempi:

impiegato, città, conto corrente, ordine, fattura
Le nuove tecnologie Software
21 December, 2015 - slide
Entità: schema e istanza
Entità:

classe di oggetti, persone, … "omogenei"
Occorrenza (o istanza) di entità:

elemento della classe (l'oggetto, la persona, …, non i dati)
nello schema concettuale rappresentiamo le entità, non le
singole istanze (“astrazione”)
Le nuove tecnologie Software
21 December, 2015 - slide
Rappresentazione grafica di entità
Impiegato
Dipartimento
Città
Vendita
Le nuove tecnologie Software
21 December, 2015 - slide
Entità, commenti
Ogni entità ha un nome che la identifica univocamente nello
schema:

nomi espressivi

opportune convenzioni
 singolare
Le nuove tecnologie Software
21 December, 2015 - slide
Relationship
Legame logico fra due o più entità, rilevante
nell’applicazione di interesse
Esempi:


Residenza (fra persona e città)
Esame (fra studente e corso)
Chiamata anche:

relazione, correlazione, associazione
Le nuove tecnologie Software
21 December, 2015 - slide
Rappresentazione grafica
di relationship
Studente
Esame
Corso
Impiegato
Residenza
Città
Le nuove tecnologie Software
21 December, 2015 - slide
Relationship, commenti
Ogni relationship ha un nome che la identifica
univocamente nello schema:


nomi espressivi
opportune convenzioni
 singolare
 sostantivi invece che verbi (se possibile)
Le nuove tecnologie Software
21 December, 2015 - slide
Esempi di occorrenze
E1
E2
S1
E3
S2
C2
S3
S4
Studente
Le nuove tecnologie Software
C1
E4
C3
Corso
21 December, 2015 - slide
Relationship, occorrenze
Una occorrenza di una relationship binaria è coppia di
occorrenze di entità, una per ciascuna entità coinvolta
Una occorrenza di una relationship n-aria è una n-upla di
occorrenze di entità, una per ciascuna entità coinvolta
Nell'ambito di una relationship non ci possono essere
occorrenze (coppie, ennuple) ripetute
Le nuove tecnologie Software
21 December, 2015 - slide
Due relationship sulle stesse entità
Sede di
lavoro
Impiegato
Le nuove tecnologie Software
Residenza
Città
21 December, 2015 - slide
Relationship n-aria
Fornitore
Fornitura
Prodotto
Dipartimento
Le nuove tecnologie Software
21 December, 2015 - slide
Relationship ricorsiva:
coinvolge “due volte” la stessa entità
Conoscenza
Persona
Le nuove tecnologie Software
21 December, 2015 - slide
Relationship ricorsiva con “ruoli”
Successione
Successore
Le nuove tecnologie Software
Sovrano
Predecessore
21 December, 2015 - slide
Relationship ternaria ricorsiva
Superficie
Migliore
Peggiore
Confronto
Tennista
Le nuove tecnologie Software
21 December, 2015 - slide
Attributo
Proprietà elementare di un’entità o di una relationship, di
interesse ai fini dell’applicazione
Associa ad ogni occorrenza di entità o relationship un
valore appartenente a un insieme detto dominio
dell’attributo
Le nuove tecnologie Software
21 December, 2015 - slide
Attributi, rappresentazione grafica
Cognome
Nome Data
Studente
Matricola
Le nuove tecnologie Software
Voto
Esame
Titolo
Corso
Codice
21 December, 2015 - slide
Attributi composti
Raggruppano attributi di una medesima entità o
relationship che presentano affinità nel loro significato o
uso
Esempio:

Via, Numero civico e CAP formano un Indirizzo
Le nuove tecnologie Software
21 December, 2015 - slide
Rappresentazione grafica
Cognome
Impiegato
Età
Indirizzo
Via
Numero
CAP
Le nuove tecnologie Software
21 December, 2015 - slide
Cognome
Telefono
Direzione
Impiegato
Dipartimento
Afferenza
Codice
Nome
Composizione
Partecipazione
Data
Progetto
Budget
Le nuove tecnologie Software
Nome
Sede
Via
Indirizzo
CAP
Città
21 December, 2015 - slide
Altri costrutti del modello E-R
Cardinalità


di relationship
di attributo
Identificatore


interno
esterno
Generalizzazione
Le nuove tecnologie Software
21 December, 2015 - slide
Cardinalità di relationship
Coppia di valori associati a ogni entità che partecipa a una
relationship
specificano il numero minimo e massimo di occorrenze
delle relationship cui ciascuna occorrenza di una entità
può partecipare
Le nuove tecnologie Software
21 December, 2015 - slide
Esempio di cardinalità
(1,5)
Impiegato
Le nuove tecnologie Software
(0,50)
Assegnamento
Incarico
21 December, 2015 - slide
per semplicità usiamo solo tre simboli:
0 e 1 per la cardinalità minima:


0 = “partecipazione opzionale”
1 = “partecipazione obbligatoria”
1 e “N” per la massima:

“N” non pone alcun limite
Le nuove tecnologie Software
21 December, 2015 - slide
Tipi di relationship
Con riferimento alle cardinalità massime, abbiamo
relationship:



uno a uno
uno a molti
molti a molti
Le nuove tecnologie Software
21 December, 2015 - slide
Relationship “molti a molti”
(0,N)
Studente
(0,N)
Corso
Esame
(0,N)
Montagna
(1,N)
Scalata
Alpinista
(1,N)
Macchinista
Le nuove tecnologie Software
(1,N)
Abilitazione
Locomotore
21 December, 2015 - slide
Relationship “uno a molti”
(0,1)
Persona
(0,N)
Impiego
Azienda
(1,1)
Cinema
(0,N)
Ubicazione
Località
(1,1)
Comune
Le nuove tecnologie Software
(1,N)
Ubicazione
Provincia
21 December, 2015 - slide
Relationship “uno a uno”
(0,1)
Professore
Professore
di ruolo
Professore
di ruolo
Le nuove tecnologie Software
(0,1)
Cattedra
Titolarità
(1,1)
(0,1)
Cattedra
Titolarità
(1,1)
(1,1)
Titolarità
Cattedra
coperta
21 December, 2015 - slide
Cardinalità di attributi
E’ possibile associare delle cardinalità anche agli attributi, con due
scopi:


indicare opzionalità ("informazione incompleta")
indicare attributi multivalore
Le nuove tecnologie Software
21 December, 2015 - slide
Rappresentazione grafica
(0,N)
Nome
Impiegato
(0,1)
Le nuove tecnologie Software
Telefono
Numero patente
21 December, 2015 - slide
(0,1)
(1,1)
Direzione
Cognome
Impiegato
Codice
(0,N)
(0,1)
(0,N)
Partecipazione
Afferenza
(0,1)
Data
(1,N)
Progetto
Budget
Le nuove tecnologie Software
Nome
Telefono
(1,N)
Dipartimento
Nome
(1,1)
Composizione
(1,N)
Sede
Via
Indirizzo
CAP
Città
21 December, 2015 - slide
Generalizzazione
mette in relazione una o più entità E1, E2, ..., En con una
entità E, che le comprende come caso particolare


E è generalizzazione di E1, E2, ..., En
E1, E2, ..., En sono specializzazioni (o sottotipi) di E
Le nuove tecnologie Software
21 December, 2015 - slide
Rappresentazione grafica
Dipendente
Impiegato
Le nuove tecnologie Software
Funzionario
Dirigente
21 December, 2015 - slide
Proprietà delle generalizzazioni
Se E (genitore) è generalizzazione di E1, E2, ..., En (figlie):
 ogni proprietà di E è significativa per E1, E2, ..., En
 ogni occorrenza di E1, E2, ..., En è occorrenza anche di E
Le nuove tecnologie Software
21 December, 2015 - slide
Città
(0,N)
Nascita
(1,1)
Persona
Codice
fiscale
Nome
Età
Stipendio
Lavoratore
Le nuove tecnologie Software
Studente
21 December, 2015 - slide
Ereditarietà
tutte le proprietà (attributi, relationship, altre
generalizzazioni) dell’entità genitore vengono ereditate
dalle entità figlie e non rappresentate esplicitamente
Le nuove tecnologie Software
21 December, 2015 - slide
Tipi di generalizzazioni
totale se ogni occorrenza dell'entità genitore è occorrenza
di almeno una delle entità figlie, altrimenti è parziale
esclusiva se ogni occorrenza dell'entità genitore è
occorrenza di al più una delle entità figlie, altrimenti è
sovrapposta
consideriamo (senza perdita di generalità) solo
generalizzazioni esclusive e distinguiamo fra totali e
parziali
Le nuove tecnologie Software
21 December, 2015 - slide
Persona
Disoccupato
Le nuove tecnologie Software
Lavoratore
21 December, 2015 - slide
Persona
Uomo
Le nuove tecnologie Software
Donna
21 December, 2015 - slide
Esercizio
Le persone hanno CF, cognome ed età; gli uomini
anche la posizione militare; gli impiegati hanno lo
stipendio e possono essere segretari, direttori o
progettisti (un progettista può essere anche
responsabile di progetto); gli studenti (che non
possono essere impiegati) un numero di matricola;
esistono persone che non sono né impiegati né
studenti (ma i dettagli non ci interessano)
Le nuove tecnologie Software
21 December, 2015 - slide
CF
Persona
Cognome
Uomo
Stipendio
Donna
Età
Matr.
Impiegato
Studente
Direttore
Progettista
Militare
Segretario
Responsabile
Le nuove tecnologie Software
21 December, 2015 - slide
Documentazione associata agli schemi
concettuali

dizionario dei dati
 entità
 relationship

vincoli non esprimibili
Le nuove tecnologie Software
21 December, 2015 - slide
(0,1)
(1,1)
Direzione
Cognome
Impiegato
Codice
(0,N)
(0,1)
(0,N)
Partecipazione
Afferenza
(0,1)
Data
(1,N)
Progetto
Budget
Le nuove tecnologie Software
Nome
Telefono
(1,N)
Dipartimento
Nome
(1,1)
Composizione
(1,N)
Sede
Via
Indirizzo
CAP
Città
21 December, 2015 - slide
Dizionario dei dati (entità)
Entità
Impiegato
Progetto
Descrizione
Dipendente
dell'azienda
Progetti
aziendali
Dipartimento Struttura
aziendale
Sede
Sede
dell'azienda
Le nuove tecnologie Software
Attributi
Codice,
Cognome,
Stipendio
Nome,
Budget
Nome,
Telefono
Città,
Indirizzo
Identificatore
Codice
Nome
Nome,
Sede
Città
21 December, 2015 - slide
Dizionario dei dati (relationship)
Relazioni
Direzione
Descrizione
Direzione di un
dipartimento
Afferenza
Afferenza a un
dipartimento
Partecipazione Partecipazione
a un progetto
Composizione Composizione
dell'azienda
Le nuove tecnologie Software
Componenti Attributi
Impiegato,
Dipartimento
Impiegato,
Data
Dipartimento
Impiegato,
Progetto
Dipartimento,
Sede
21 December, 2015 - slide
Vincoli non esprimibili
Vincoli di integrità sui dati
(1) Il direttore di un dipartimento deve a afferire a tale
dipartimento
(2) Un impiegato non deve avere uno stipendio
maggiore del direttore del dipartimento al quale
afferisce
(3) Un dipartimento con sede a Roma deve essere
diretto da un impiegato con più di dieci anni di
anzianità
(4) Un impiegato che non afferisce a nessun
dipartimento non deve partecipare a nessun un
progetto
Le nuove tecnologie Software
21 December, 2015 - slide
Scarica

03_ProgettazioneDB_ER_TD - Studenti Dipartimento di