Anda di halaman 1dari 12

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.

. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

La progettazione di un sistema informativo riguarda due


Progettazione di basi di dati Studio di fattibilit
aspetti:
una delle attivit del processo di Raccolta e analisi
sviluppo dei sistemi informativi dei requisiti

va quindi inquadrata in un contesto pi progettazione dei dati


Progettazione
generale: progettazione delle applicazioni
il ciclo di vita dei sistemi informativi: Realizzazione
Insieme e sequenzializzazione delle Ma:
Validazione e
attivit svolte da analisti, progettisti, collaudo
utenti, nello sviluppo e nelluso dei i dati hanno un ruolo centrale
sistemi informativi Funzionamento i dati sono pi stabili
attivit iterativa, quindi ciclo

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Requisiti della base di dati Modello dei dati


Progettazione CHE COSA: insieme di costrutti utilizzati per
Per garantire prodotti di buona qualit concettuale analisi organizzare i dati di interesse e
opportuno seguire una Schema concettuale descriverne la dinamica
metodologia di progetto, con: componente fondamentale: meccanismi di
Progettazione strutturazione (o costruttori di tipo)
articolazione delle attivit in fasi come nei linguaggi di programmazione
logica
criteri di scelta esistono meccanismi che permettono di
Schema logico definire nuovi tipi, cos ogni modello dei
modelli di rappresentazione
Progettazione dati prevede alcuni costruttori
generalit e facilit d'uso COME:
fisica ad esempio, il modello relazionale prevede
progettazione il costruttore relazione, che permette di
Schema fisico definire insiemi di record omogenei

1
Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Schemi e istanze Due tipi (principali) di modelli Modelli concettuali, perch?


In ogni base di dati esistono: modelli logici: utilizzati nei DBMS esistenti per
lo schema, sostanzialmente invariante nel lorganizzazione dei dati Proviamo a modellare una applicazione
tempo, che ne descrive la struttura utilizzati dai programmi definendo direttamente lo schema
(aspetto intensionale) indipendenti dalle strutture fisiche logico della base di dati:
esempi: relazionale, reticolare, gerarchico, a
nel modello relazionale, le intestazioni
oggetti
da dove cominciamo?
delle tabelle modelli concettuali: permettono di rappresentare rischiamo di perderci subito nei
listanza, i valori attuali, che possono i dati in modo indipendente da ogni sistema dettagli
cambiare anche molto rapidamente cercano di descrivere i concetti del mondo
(aspetto estensionale) reale dobbiamo pensare subito a come
nel modello relazionale, il corpo di sono utilizzati nelle fasi preliminari di correlare le varie tabelle (chiavi etc.)
progettazione i modelli logici sono rigidi
ciascuna tabella
il pi noto il modello Entity-Relationship

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Progettazione Modello Entity-Relationship


Modelli concettuali, perch?
concettuale (Entit-Relazione)
servono per ragionare sulla realt di
interesse, indipendentemente dagli Il pi diffuso modello concettuale
aspetti realizzativi
Progettazione Ne esistono molte versioni,
permettono di rappresentare le classi di logica
dati di interesse e le loro correlazioni (pi o meno) diverse luna dallaltra
prevedono efficaci rappresentazioni
grafiche (utili anche per
documentazione e comunicazione) Progettazione
fisica

2
Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

I costrutti del modello E-R Entit Associazioni o Relationship

Entit Classe di oggetti (fatti, persone, cose) Legame logico fra due o pi entit,
Relationship della applicazione di interesse con rilevante nellapplicazione di interesse
Attributo propriet comuni e con esistenza Esempi:
Identificatore autonoma Residenza (fra persona e citt)
Generalizzazione Esempi: Esame (fra studente e corso)
. impiegato, citt, conto corrente,
ordine, fattura

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Uno schema E-R, graficamente Entit Entit: schema e istanza


Entit:
Classe di oggetti (fatti, persone, cose) classe di oggetti, persone,
della applicazione di interesse con "omogenei"
propriet comuni e con esistenza Occorrenza (o istanza) di entit:
Studente Esame Corso autonoma elemento della classe (l'oggetto, la
Esempi: persona, , non i dati)
impiegato, citt, conto corrente, nello schema concettuale
ordine, fattura
rappresentiamo le entit, non le singole
istanze (astrazione)

3
Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Rappresentazione grafica di entit Entit, commenti Associazione

Ogni entit ha un nome che la identifica Legame logico fra due o pi entit,
univocamente nello schema: rilevante nellapplicazione di interesse
Impiegato Dipartimento Esempi:
nomi espressivi
Residenza (fra persona e citt)
opportune convenzioni Esame (fra studente e corso)
singolare
Citt Vendita Chiamata anche:
relazione, correlazione, relationship

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Rappresentazione grafica
di relationship Associazione, commenti Esempi di occorrenze
E1
Ogni associazione ha un nome che la
identifica univocamente nello schema: E2
S1
Studente Esame Corso nomi espressivi C1
E3
opportune convenzioni S2
S3 C2
singolare
sostantivi invece che verbi (se S4 E4
C3
Impiegato Residenza Citt possibile)

Studente Corso

4
Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Associazione, occorrenze Associazioni corrette? Due associazioni sulle stesse entit

Una occorrenza di unassociazione


binaria una coppia di occorrenze di
Sede di
entit, una per ciascuna entit coinvolta Studente Esame Corso lavoro
Una occorrenza di una associazione
n-aria una n-upla di occorrenze di
entit, una per ciascuna entit coinvolta Impiegato Residenza Citt
Nell'ambito di unassociazione non ci Paziente Visita Medico
possono essere occorrenze (coppie,
ennuple) ripetute

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Associazione ricorsiva:
Associazione n-aria coinvolge due volte la stessa entit
Associazione ricorsiva con ruoli

Successione
Fornitore Fornitura Prodotto Conoscenza

Sovrano
Persona Successore Predecessore
Dipartimento

5
Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Associazione ternaria ricorsiva Attributo Attributi, rappresentazione grafica

Superficie Propriet elementare di unentit o di


Cognome Nome Data Voto Titolo
unassociazioe, di interesse ai fini
dellapplicazione
Migliore Peggiore Associa ad ogni occorrenza di entit o
Confronto associazione un valore appartenente a Studente Esame Corso
un insieme detto dominio dellattributo

Tennista Matricola Codice

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Cognome Telefono
Attributi composti Rappresentazione grafica Direzione

Impiegato Dipartimento
Raggruppano attributi di una medesima
Cognome
entit o associazione che presentano Afferenza
Nome
Codice
affinit nel loro significato o uso
Partecipazione Composizione
Esempio: Impiegato Et Via Data
Via, Numero civico e CAP formano un
Indirizzo Indirizzo Numero
Sede
Progetto
CAP Via
Indirizzo Citt
Budget Nome
CAP

6
Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Cardinalit di associazioneGP1 Esempio di cardinalit


Altri costrutti del modello E-R

Cardinalit Coppia di valori associati a ogni entit che


di associazione partecipa a una relationship
di attributo (1,5) (0,50)
specificano il numero minimo e massimo di
Identificatore occorrenze delle relationship cui ciascuna Impiegato Assegnamento Incarico
interno occorrenza di una entit pu partecipare
esterno
Generalizzazione

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Occorrenze di Residenza Cardinalit di Residenza


per semplicit usiamo solo tre simboli:
0 e 1 per la cardinalit minima: R1
S1
0 = partecipazione opzionale C1
(1,1) (0,N)
1 = partecipazione obbligatoria S2 C2
1 e N per la massima: S3 R2 Studente Residenza Citt
N non pone alcun limite S4
R3 C3

C4
R4
Studente Citt

7
Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Relationship molti a molti


Tipi di relationship Due avvertenze
(0,N) (0,N)
Con riferimento alle cardinalit Studente Esame Corso Attenzione al "verso" nelle relationship
massime, abbiamo relationship: uno a molti
uno a uno le relationship obbligatorie-obbligatorie
(0,N) (1,N)
uno a molti sono molto rare
Montagna Scalata Alpinista
molti a molti
(1,N) (1,N)
Macchinista Abilitazione Locomotore

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Relationship uno a molti Relationship uno a uno Cardinalit di attributi


(0,1) (0,N) (0,1) (0,1)
Persona Impiego Azienda Professore Titolarit Cattedra E possibile associare delle cardinalit
anche agli attributi, con due scopi:
(1,1) (0,N) (1,1) (0,1) indicare opzionalit ("informazione
Professore
Cinema Ubicazione Localit Titolarit Cattedra incompleta")
di ruolo
indicare attributi multivalore
(1,1) (1,N) (1,1) (1,1)
Professore Cattedra
Comune Ubicazione Provincia Titolarit
di ruolo coperta

8
Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Rappresentazione grafica Identificatore di una entit Identificatori interni


Targa
strumento per lidentificazione
Telefono univoca delle occorrenze di unentit
(0,N) Automobile Modello
costituito da:
Nome attributi dellentit Data Nascita
Impiegato
identificatore interno
(0,1) Numero patente
(attributi +) entit esterne attraverso Persona Cognome
relationship
identificatore esterno Nome
Indirizzo

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Cognome (0,1) (1,1) Telefono


Identificatore esterno Direzione
Alcune osservazioni (1,N)

Impiegato Dipartimento
ogni entit deve possedere almeno un (0,1) (0,N)
Cognome Matricola Nome Afferenza
identificatore, ma pu averne in Codice (0,N) (1,1) Nome
(1,1) (0,N)
generale pi di uno (0,1) Composizione
Partecipazione
una identificazione esterna possibile Data
Studente Iscrizione Universit (1,N)
solo attraverso una relationship a cui (1,N)
lentit da identificare partecipa con
Sede
cardinalit (1,1) Progetto
Via
Anno di corso Indirizzo perch non parliamo degli identificatori Indirizzo Citt
delle relationship? Budget Nome
CAP

9
Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Generalizzazione Rappresentazione grafica Propriet delle generalizzazioni

mette in relazione una o pi entit E1, Se E (genitore) generalizzazione di


E2, ..., En con una entit E, che le Dipendente E1, E2, ..., En (figlie):
comprende come casi particolari ogni propriet di E significativa per
E1, E2, ..., En
E generalizzazione di E1, E2, ..., En ogni occorrenza di E1, E2, ..., En
E1, E2, ..., En sono specializzazioni (o occorrenza anche di E
sottotipi) di E Impiegato Funzionario Dirigente

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Citt Ereditariet Tipi di generalizzazioni


(0,N)
totale se ogni occorrenza dell'entit
Codice genitore occorrenza di almeno una delle
Nascita
(1,1) fiscale tutte le propriet (attributi, relationship, entit figlie, altrimenti parziale
altre generalizzazioni) dellentit esclusiva se ogni occorrenza dell'entit
Persona Nome genitore occorrenza di al pi una delle
genitore vengono ereditate dalle entit
Et figlie e non rappresentate entit figlie, altrimenti sovrapposta
Stipendio esplicitamente
consideriamo (senza perdita di generalit)
solo generalizzazioni esclusive e
Lavoratore Studente distinguiamo fra totali e parziali

10
Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Altre propriet
possono esistere gerarchie a pi livelli e
multiple generalizzazioni allo stesso
Persona Persona livello
un'entit pu essere inclusa in pi
gerarchie, come genitore e/o come figlia
se una generalizzazione ha solo
Uomo Donna
unentit figlia si parla di sottoinsieme
Disoccupato Lavoratore
alcune configurazioni non hanno senso
il genitore di una generalizzazione totale
pu non avere identificatore, purch

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

CF Et
Esercizio Persona Documentazione associata agli
Le persone hanno CF, cognome ed Cognome
Stipendio Matr. schemi concettuali
et; gli uomini anche la posizione
militare; gli impiegati hanno lo
Uomo Donna Impiegato Studente
stipendio e possono essere segretari, dizionario dei dati
direttori o progettisti (un progettista
Militare entit
pu essere anche responsabile di
progetto); gli studenti (che non relationship
possono essere impiegati) un numero Segretario Direttore Progettista
vincoli non esprimibili
di matricola; esistono persone che
non sono n impiegati n studenti
(ma i dettagli non ci interessano) Responsabile

11
Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7 Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Cognome (0,1) (1,1) Telefono


Direzione (1,N) Dizionario dei dati (entit) Dizionario dei dati (associazioni)
Impiegato Dipartimento
(0,1) (0,N)
Entit Descrizione Attributi Identificatore Relazioni Descrizione Componenti Attributi
Afferenza Nome
Codice (0,N) (1,1) Impiegato Dipendente Codice, Codice Direzione Direzione di un Impiegato,
(0,1) dell'azienda Cognome, dipartimento Dipartimento
Partecipazione Composizione Stipendio Afferenza Afferenza a un Impiegato, Data
Data Progetto Progetti Nome, Nome dipartimento Dipartimento
(1,N) (1,N)
aziendali Budget Partecipazione Partecipazione Impiegato,
Dipartimento Struttura Nome, Nome, a un progetto Progetto
Sede aziendale Telefono Sede Composizione Composizione Dipartimento,
Progetto
Via Sede Sede Citt, Citt dell'azienda Sede
dell'azienda Indirizzo
Indirizzo Citt
Budget Nome
CAP

Prof. G.Polese, Corso di Basi di Dati, Dipartimento di Informatica, Universit di Salerno Capitolo 7

Vincoli non esprimibili

Vincoli di integrit sui dati


(1) Il direttore di un dipartimento deve 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
progetto

12

Anda mungkin juga menyukai