![Page 1: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/1.jpg)
Progettazione di basi di dati:Progettazione di basi di dati:
Progettazione Concettuale eProgettazione Concettuale eProgettazione LogicaProgettazione Logica
![Page 2: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/2.jpg)
03/04/2006 2
Progettazione di basi di datiProgettazione di basi di dati
• È una delle attività del processo di sviluppodei sistemi informativi
• va quindi inquadrata in un contesto piùgenerale:
• il ciclo di vita dei sistemi informativi:• Insieme e sequenzializzazione delle attività
svolte da analisti, progettisti, utenti, nellosviluppo e nell’uso dei sistemi informativi
• attività iterativa, quindi ciclo
![Page 3: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/3.jpg)
03/04/2006 3
Studio di fattibilità
Raccolta e analisidei requisiti
Progettazione
Realizzazione
Validazione ecollaudo
Funzionamento
![Page 4: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/4.jpg)
03/04/2006 4
Fasi (tecniche) del ciclo di vitaFasi (tecniche) del ciclo di vita
• Studio di fattibilità: definizione costi e priorità• Raccolta e analisi dei requisiti: studio delle
proprietà del sistema• Progettazione: di dati e funzioni• Realizzazione• Validazione e collaudo: sperimentazione• Funzionamento: il sistema diventa operativo
![Page 5: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/5.jpg)
03/04/2006 5
�i dati hanno un ruolo centrale
• i dati sono più stabili
La progettazione di un sistema informativo riguarda dueaspetti:
�progettazione dei datiprogettazione delle applicazioni
Ma:
![Page 6: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/6.jpg)
03/04/2006 6
Studio di fattibilità
Raccolta e analisidei requisiti
Progettazionedei dati
Realizzazione
Validazione ecollaudo
Funzionamento
![Page 7: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/7.jpg)
03/04/2006 7
• Per garantire prodotti di buona qualità èopportuno seguire una• metodologia di progetto, con:
• articolazione delle attività in fasi• criteri di scelta• modelli di rappresentazione• generalità e facilità d'uso
![Page 8: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/8.jpg)
03/04/2006 8
Studio di fattibilità
Raccolta e analisidei requisiti
Progettazionedei dati
Realizzazione
Validazione ecollaudo
Funzionamento
![Page 9: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/9.jpg)
03/04/2006 9
Progettazionefisica
Schema concettuale
Requisiti della base di dati
Progettazioneconcettuale
Progettazionelogica
Schema logico
Schema fisico
“CHE COSA”:analisi
“COME”:progettazione
![Page 10: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/10.jpg)
03/04/2006 10
• Schema concettuale
• Schema logico
• Schema fisico
I prodotti della varie fasi sonoschemi di alcuni modelli di dati:
![Page 11: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/11.jpg)
03/04/2006 11
Modello dei datiModello dei dati
• insieme di costrutti utilizzati per organizzare idati di interesse e descriverne la dinamica
• componente fondamentale: meccanismi distrutturazione (o costruttori di tipo)
• come nei linguaggi di programmazioneesistono meccanismi che permettono didefinire nuovi tipi, così ogni modello dei datiprevede alcuni costruttori
• ad esempio, il modello relazionale prevede ilcostruttore relazione, che permette di definireinsiemi di record omogenei
![Page 12: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/12.jpg)
03/04/2006 12
SchemiSchemi ee istanzeistanze
• 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
![Page 13: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/13.jpg)
03/04/2006 13
Due tipiDue tipi ((principaliprincipali) di) di modellimodelli
• modelli logici: utilizzati nei DBMS esistenti perl’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
progettazioneil più noto è il modello Entity-Relationship
![Page 14: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/14.jpg)
03/04/2006 14
Modelli concettuali, perchModelli concettuali, perchéé??
• Proviamo a modellare una applicazionedefinendo direttamente lo schema logico dellabase di dati:• da dove cominciamo?• rischiamo di perderci subito nei dettagli• dobbiamo pensare subito a come
correlare le varie tabelle (chiavi etc.)• i modelli logici sono rigidi
![Page 15: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/15.jpg)
03/04/2006 15
Modelli concettuali, perchModelli concettuali, perchéé??
• servono per ragionare sulla realtà diinteresse, indipendentemente dagli aspettirealizzativi
• permettono di rappresentare le classi di datidi interesse e le loro correlazioni
• prevedono efficaci rappresentazioni grafiche(utili anche per documentazione ecomunicazione)
![Page 16: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/16.jpg)
03/04/2006 16
BD
Schema logico
Schema interno
utente
ArchitetturaArchitettura ((semplificatasemplificata) di) di unun DBMSDBMS
![Page 17: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/17.jpg)
03/04/2006 17
Progettazioneconcettuale
Progettazionelogica
Progettazionefisica
![Page 18: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/18.jpg)
03/04/2006 18
Progettazione ConcettualeProgettazione Concettuale
![Page 19: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/19.jpg)
03/04/2006 19
ModelloModello EntityEntity--RelationshipRelationship(Entit(Entitàà--Relazione)Relazione)
• Il più diffuso modello concettuale
• Ne esistono molte versioni,• (più o meno) diverse l’una dall’altra
![Page 20: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/20.jpg)
03/04/2006 20
I costrutti del modello EI costrutti del modello E--RR
• Entità• Relationship• Attributo• Identificatore• Generalizzazione• ….
![Page 21: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/21.jpg)
03/04/2006 21
EntitEntitàà
• Classe di oggetti (fatti, persone, cose) dellaapplicazione di interesse con proprietàcomuni e con esistenza “autonoma”
• Esempi:• impiegato, città, conto corrente, ordine,
fattura
![Page 22: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/22.jpg)
03/04/2006 22
RelationshipRelationship
• Legame logico fra due o più entità, rilevantenell’applicazione di interesse
• Esempi:• Residenza (fra persona e città)• Esame (fra studente e corso)
![Page 23: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/23.jpg)
03/04/2006 23
Uno schema EUno schema E--R, graficamenteR, graficamente
EsameStudente Corso
![Page 24: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/24.jpg)
03/04/2006 24
EntitEntitàà: schema e istanza: 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 leentità, non le singole istanze (“astrazione”)
![Page 25: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/25.jpg)
03/04/2006 25
Rappresentazione grafica di entitRappresentazione grafica di entitàà
Impiegato Dipartimento
Città Vendita
![Page 26: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/26.jpg)
03/04/2006 26
EntitEntitàà, commenti, commenti
• Ogni entità ha un nome che la identificaunivocamente nello schema:• nomi espressivi• opportune convenzioni
• singolare
![Page 27: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/27.jpg)
03/04/2006 27
RelationshipRelationship
• Legame logico fra due o più entità, rilevantenell’applicazione di interesse
• Esempi:• Residenza (fra persona e città)• Esame (fra studente e corso)
• Chiamata anche:• relazione, correlazione, associazione
![Page 28: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/28.jpg)
03/04/2006 28
Rappresentazione graficaRappresentazione graficadidi relationshiprelationship
EsameStudente Corso
ResidenzaImpiegato Città
![Page 29: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/29.jpg)
03/04/2006 29
RelationshipRelationship, commenti, commenti
• Ogni relationship ha un nome che la identificaunivocamente nello schema:• nomi espressivi• opportune convenzioni
• singolare• sostantivi invece che verbi (se
possibile)
![Page 30: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/30.jpg)
03/04/2006 30
Esempi di occorrenzeEsempi di occorrenze
S1
S2
S4
S3
Studente
C1
C2
C3
Corso
E1
E2
E3
E4
![Page 31: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/31.jpg)
03/04/2006 31
RelationshipRelationship, occorrenze, occorrenze
• Una occorrenza di una relationship binaria ècoppia di occorrenze di entità, una perciascuna entità coinvolta
• Una occorrenza di una relationship n-aria èuna n-upla di occorrenze di entità, una perciascuna entità coinvolta
• Nell'ambito di una relationship non cipossono essere occorrenze (coppie, ennuple)ripetute
![Page 32: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/32.jpg)
03/04/2006 32
RelationshipRelationship corrette?corrette?
EsameStudente Corso
VisitaPaziente Medico
![Page 33: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/33.jpg)
03/04/2006 33
DueDue relationshiprelationship sulle stesse entitsulle stesse entitàà
ResidenzaImpiegato Città
Sede dilavoro
![Page 34: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/34.jpg)
03/04/2006 34
RelationshipRelationship nn--ariaaria
Fornitore Prodotto
Dipartimento
Fornitura
![Page 35: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/35.jpg)
03/04/2006 35
Relationship ricorsivaRelationship ricorsiva::coinvolgecoinvolge ““due voltedue volte”” la stessa entitla stessa entitàà
Persona
Conoscenza
![Page 36: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/36.jpg)
03/04/2006 36
Relationship ricorsivaRelationship ricorsiva concon ““ruoliruoli””
Successione
SovranoSuccessore Predecessore
![Page 37: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/37.jpg)
03/04/2006 37
Confronto
Tennista
Superficie
RelationshipRelationship ternariaternaria ricorsivaricorsiva
Migliore Peggiore
![Page 38: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/38.jpg)
03/04/2006 38
AttributoAttributo
• Proprietà elementare di un’entità o di unarelationship, di interesse ai finidell’applicazione
• Associa ad ogni occorrenza di entità orelationship un valore appartenente a uninsieme detto dominio dell’attributo
![Page 39: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/39.jpg)
03/04/2006 39
Attributi, rappresentazione graficaAttributi, rappresentazione grafica
EsameStudente Corso
Cognome Nome
Matricola
Data Titolo
Codice
Voto
![Page 40: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/40.jpg)
03/04/2006 40
Attributi compostiAttributi composti
• Raggruppano attributi di una medesima entitào relationship che presentano affinità nel lorosignificato o uso
• Esempio:• Via, Numero civico e CAP formano un
Indirizzo
![Page 41: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/41.jpg)
03/04/2006 41
Rappresentazione graficaRappresentazione grafica
Impiegato
Cognome
Età Via
Indirizzo Numero
CAP
![Page 42: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/42.jpg)
03/04/2006 42
ComposizionePartecipazione
Progetto
NomeBudget
Impiegato
Codice
Cognome Telefono
Dipartimento
NomeAfferenza
Data
Direzione
CittàIndirizzo
SedeVia
CAP
![Page 43: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/43.jpg)
03/04/2006 43
Altri costrutti del modello EAltri costrutti del modello E--RR
• Cardinalità• di relationship• di attributo
• Identificatore• interno• esterno
• Generalizzazione
![Page 44: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/44.jpg)
03/04/2006 44
CardinalitCardinalitàà didi relationshiprelationship
• Coppia di valori associati a ogni entità chepartecipa a una relationship
• specificano il numero minimo e massimo dioccorrenze delle relationship cui ciascunaoccorrenza di una entità può partecipare
![Page 45: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/45.jpg)
03/04/2006 45
Esempio di cardinalitEsempio di cardinalitàà
AssegnamentoImpiegato Incarico
(1,5) (0,50)
![Page 46: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/46.jpg)
03/04/2006 46
• 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
![Page 47: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/47.jpg)
03/04/2006 47
Occorrenze di ResidenzaOccorrenze di Residenza
S1
S2
S4
S3
Studente
C1
C2
C3
Città
R3
R4
R2
R1
C4
![Page 48: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/48.jpg)
03/04/2006 48
CardinalitCardinalitàà di Residenzadi Residenza
ResidenzaStudente Città
(1,1) (0,N)
![Page 49: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/49.jpg)
03/04/2006 49
Tipi diTipi di relationshiprelationship
• Con riferimento alle cardinalità massime,abbiamo relationship:• uno a uno• uno a molti• molti a molti
![Page 50: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/50.jpg)
03/04/2006 50
Due avvertenzeDue avvertenze
• Attenzione al "verso" nelle relationship uno amolti
• le relationship obbligatorie-obbligatorie sonomolto rare
![Page 51: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/51.jpg)
03/04/2006 51
RelationshipRelationship ““molti a moltimolti a molti””
EsameStudente Corso(0,N) (0,N)
ScalataMontagna Alpinista(0,N) (1,N)
AbilitazioneMacchinista Locomotore(1,N) (1,N)
![Page 52: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/52.jpg)
03/04/2006 52
RelationshipRelationship ““uno a moltiuno a molti””
ImpiegoPersona Azienda(0,1) (0,N)
UbicazioneCinema Località(1,1) (0,N)
UbicazioneComune Provincia(1,1) (1,N)
![Page 53: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/53.jpg)
03/04/2006 53
RelationshipRelationship ““uno a unouno a uno””
TitolaritàProfessore Cattedra(0,1) (0,1)
TitolaritàProfessore
di ruolo Cattedra(1,1) (0,1)
TitolaritàProfessore
di ruoloCattedracoperta
(1,1) (1,1)
![Page 54: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/54.jpg)
03/04/2006 54
CardinalitCardinalitàà di attributidi attributi
• E’ possibile associare delle cardinalità ancheagli attributi, con due scopi:
• indicare opzionalità ("informazioneincompleta")
• indicare attributi multivalore
![Page 55: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/55.jpg)
03/04/2006 55
Rappresentazione graficaRappresentazione grafica
Impiegato
Telefono
Nome
Numero patente
(0,N)
(0,1)
![Page 56: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/56.jpg)
03/04/2006 56
Identificatore di una entitIdentificatore di una entitàà
• “strumento” per l’identificazione univocadelle occorrenze di un’entità
• costituito da:• attributi dell’entità
• identificatore interno• (attributi +) entità esterne attraverso
relationship• identificatore esterno
![Page 57: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/57.jpg)
03/04/2006 57
Identificatori interniIdentificatori interni
Persona
Data Nascita
Cognome
Nome
Automobile
Targa
Modello
Indirizzo
![Page 58: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/58.jpg)
03/04/2006 58
Identificatore esternoIdentificatore esterno
IscrizioneStudente Università
Cognome Matricola
Anno di corso
Nome
Indirizzo
(1,1) (0,N)
![Page 59: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/59.jpg)
03/04/2006 59
Alcune osservazioniAlcune osservazioni
• ogni entità deve possedere almeno unidentificatore, ma può averne in generale piùdi uno
• una identificazione esterna è possibile soloattraverso una relationship a cui l’entità daidentificare partecipa con cardinalità (1,1)
• perché non parliamo degli identificatori dellerelationship?
![Page 60: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/60.jpg)
03/04/2006 60
(1,1)(0,1)
(0,N)(0,1)
(0,1)(1,1)
(1,N)
(0,N)
(1,N)
(1,N)
CittàIndirizzo
Telefono
Dipartimento
Composizione
Sede
Direzione
Afferenza
Impiegato
Progetto
Partecipazione
Nome
Nome
Cognome
Budget
Data
Via
CAP
Codice
![Page 61: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/61.jpg)
03/04/2006 61
GeneralizzazioneGeneralizzazione
• mette in relazione una o più entità E1, E2, ...,En con una entità E, che le comprende comecaso particolare
• E è generalizzazione di E1, E2, ..., En• E1, E2, ..., En sono specializzazioni (o
sottotipi) di E
![Page 62: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/62.jpg)
03/04/2006 62
Rappresentazione graficaRappresentazione grafica
Dipendente
Impiegato Funzionario Dirigente
![Page 63: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/63.jpg)
03/04/2006 63
ProprietProprietàà delle generalizzazionidelle 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
![Page 64: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/64.jpg)
03/04/2006 64
Persona
Codicefiscale
Nome
Età
Città
Nascita(0,N)
(1,1)
Lavoratore Studente
Stipendio
![Page 65: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/65.jpg)
03/04/2006 65
EreditarietEreditarietàà
• tutte le proprietà (attributi, relationship, altregeneralizzazioni) dell’entità genitore vengonoereditate dalle entità figlie e nonrappresentate esplicitamente
![Page 66: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/66.jpg)
03/04/2006 66
EsercizioEsercizio
• 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) unnumero di matricola;
• esistono persone che non sono né impiegati néstudenti (ma i dettagli non ci interessano)
![Page 67: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/67.jpg)
03/04/2006 67
Segretario Direttore Progettista
Responsabile
PersonaCF
Cognome
Età
Uomo Donna
Militare
Impiegato Studente
Stipendio Matr.
![Page 68: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/68.jpg)
03/04/2006 68
Documentazione associata agli schemiDocumentazione associata agli schemiconcettualiconcettuali
• dizionario dei dati• entità• relationship
• vincoli non esprimibili
![Page 69: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/69.jpg)
03/04/2006 69
(1,1)(0,1)
(0,N)(0,1)
(0,1)(1,1)
(1,N)
(0,N)
(1,N)
(1,N)
CittàIndirizzo
Telefono
Dipartimento
Composizione
Sede
Direzione
Afferenza
Impiegato
Progetto
Partecipazione
Nome
Nome
Cognome
Budget
Data
Via
CAP
Codice
![Page 70: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/70.jpg)
03/04/2006 70
Dizionario dei dati (entitDizionario dei dati (entitàà))
Entità Descrizione Attributi IdentificatoreImpiegato Dipendente
dell'aziendaCodice,Cognome,Stipendio
Codice
Progetto Progettiaziendali
Nome,Budget
Nome
Dipartimento Strutturaaziendale
Nome,Telefono
Nome,Sede
Sede Sededell'azienda
Città,Indirizzo
Città
![Page 71: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/71.jpg)
03/04/2006 71
Relazioni Descrizione Componenti AttributiDirezione Direzione di un
dipartimentoImpiegato,Dipartimento
Afferenza Afferenza a undipartimento
Impiegato,Dipartimento
Data
Partecipazione Partecipazionea un progetto
Impiegato,Progetto
Composizione Composizionedell'azienda
Dipartimento,Sede
Dizionario dei dati (Dizionario dei dati (relationshiprelationship))
![Page 72: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/72.jpg)
03/04/2006 72
Vincoli non esprimibiliVincoli 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 qualeafferisce
(3) Un dipartimento con sede a Roma deve esserediretto da un impiegato con più di dieci anni dianzianità
(4) Un impiegato che non afferisce a nessundipartimento non deve partecipare a nessun unprogetto
![Page 73: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/73.jpg)
03/04/2006 73
Progettazione LogicaProgettazione Logica
![Page 74: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/74.jpg)
03/04/2006 74
Progettazionefisica
Schema concettuale
Requisiti della base di dati
Progettazionelogica
Schema logico
Schema fisico
Progettazioneconcettuale
![Page 75: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/75.jpg)
03/04/2006 75
Obiettivo dellaObiettivo dellaprogettazione logicaprogettazione logica
"tradurre" lo schema concettuale in unoschema logico che rappresenti gli stessi dati
in maniera corretta ed efficiente
D’ora in poi. Per semplificare non ci occuperemo dell’efficienza
![Page 76: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/76.jpg)
03/04/2006 76
Dati di ingresso e uscitaDati di ingresso e uscita
• Ingresso:• schema concettuale
• Uscita:• schema logico• documentazione associata
![Page 77: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/77.jpg)
03/04/2006 77
• alcuni aspetti non sono direttamenterappresentabili
Non si tratta di una pura e sempliceNon si tratta di una pura e semplicetraduzionetraduzione
![Page 78: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/78.jpg)
03/04/2006 78
Traduzione nelmodello logico
Schema E-R
Schemalogico
![Page 79: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/79.jpg)
03/04/2006 79
CittàIndirizzo
Telefono
Dipartimento
Composizione
Sede
Direzione
Afferenza
Impiegato
Progetto
Partecipazione
Nome
Nome
Cognome
Budget
Data
Via
CAP
(1,1)(0,1)
(1,N)(0,1)
(0,1)(1,1)
(1,N)
(0,N)
(1,N)
(1,N)
Codice
![Page 80: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/80.jpg)
03/04/2006 80
AttivitAttivitàà di Traduzionedi Traduzione
• Analisi delle ridondanze• Eliminazione delle generalizzazioni• Partizionamento/accorpamento di
entità e relationship• Scelta degli identificatori primari
![Page 81: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/81.jpg)
03/04/2006 81
Eliminazione delle gerarchieEliminazione delle gerarchie
• il modello relazionale non può rappresentaredirettamente le generalizzazioni
• entità e relazioni sono invece direttamenterappresentabili
• si eliminano perciò le gerarchie, sostituendolecon entità e relazioni
![Page 82: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/82.jpg)
03/04/2006 82
Tre possibilitTre possibilitàà
1. accorpamento delle figlie dellageneralizzazione nel genitore
2. accorpamento del genitore dellageneralizzazione nelle figlie
3. sostituzione della generalizzazione conrelazioni
![Page 83: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/83.jpg)
03/04/2006 83
E0 R1
A01 A02
E3
R2
E4
E2E1
A11 A21
![Page 84: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/84.jpg)
03/04/2006 84
A11A21
TIPO
(0,1)
(0,1)
(0,..)
E0
A01 A02
R1 E3
R2
E4
![Page 85: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/85.jpg)
03/04/2006 85
E0 R1
A01 A02
E3
R2
E4
E2E1
A11 A21
![Page 86: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/86.jpg)
03/04/2006 86
E3
R2
E4
E2E1
A11 A21
R12
R11
A01 A02 A01 A02
![Page 87: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/87.jpg)
03/04/2006 87
E0 R1
A01 A02
E3
R2
E4
E2E1
A11 A21
![Page 88: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/88.jpg)
03/04/2006 88
RG2RG1(1,1)
(0,1)
(1,1)
(0,1)
E0
A01 A02
E2E1 R2
E4A11 A21
R1 E3
![Page 89: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/89.jpg)
03/04/2006 89
AttivitAttivitàà di Traduzionedi Traduzione
• Analisi delle ridondanze• Eliminazione delle generalizzazioni• Partizionamento/accorpamento di
entità e relazioni• Scelta degli identificatori primari
![Page 90: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/90.jpg)
03/04/2006 90
Ristrutturazioni, casi principaliRistrutturazioni, casi principali
• partizionamento verticale di entità• partizionamento orizzontale di
relationship• eliminazione di attributi multivalore• accorpamento di entità/ relationship
![Page 91: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/91.jpg)
03/04/2006 91
Impiegato
Livello
Stipendio
Ritenute
Cognome
Indirizzo
Datanascita
Codice
![Page 92: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/92.jpg)
03/04/2006 92
LivelloStipendio
Ritenute
Cognome
Indirizzo Datanascita
Codice
RDati
anagraficiDati
lavorativi
(1,1) (1,1)
![Page 93: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/93.jpg)
03/04/2006 93
Agenzia
Indirizzo
Città
Telefono
Nome
(1,N)
![Page 94: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/94.jpg)
03/04/2006 94
Numero
Indirizzo
Nome
UtenzaAgenzia Telefono
(1,N) (1,1)
Città
![Page 95: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/95.jpg)
03/04/2006 95
IndirizzoInternoCognome
Indirizzo Datanascita
Codicefiscale
IntestazionePersona Appartamento
(0,1) (1,1)
![Page 96: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/96.jpg)
03/04/2006 96
Persona
Interno
Indirizzo
Cognome
Indirizzo
Datanascita
Codicefiscale
(0,1)
(0,1)
![Page 97: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/97.jpg)
03/04/2006 97
Cognome
ComposizioneGiocatore Squadra
(1,N) (1,N)
Ruolo NomeCittà
Dataacquisto
Datacessione
(0,1)
![Page 98: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/98.jpg)
03/04/2006 98
Cognome
Comp.passata
Giocatore Squadra
(1,N) (1,N)
Ruolo Nome
Città
Dataacquisto
Datacessione
Comp.attuale
Dataacquisto
(1,1) (1,N)
![Page 99: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/99.jpg)
03/04/2006 99
AttivitAttivitàà della ristrutturazionedella ristrutturazione
• Analisi delle ridondanze• Eliminazione delle generalizzazioni• Partizionamento/accorpamento di entità
e relazioni• Scelta degli identificatori primari
![Page 100: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/100.jpg)
03/04/2006 100
Scelta degliScelta degli identificatoriidentificatori principaliprincipali
• operazione indispensabile per la traduzionenel modello relazionale
• Criteri• assenza di opzionalità• semplicità
![Page 101: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/101.jpg)
03/04/2006 101
Se nessuno degli identificatori soddisfa iSe nessuno degli identificatori soddisfa irequisiti visti?requisiti visti?
Si introducono nuovi attributi (codici) contenentiSi introducono nuovi attributi (codici) contenentivalori speciali generati appositamente pervalori speciali generati appositamente per
questo scopoquesto scopo
![Page 102: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/102.jpg)
03/04/2006 102
Traduzione verso ilTraduzione verso ilmodello relazionalemodello relazionale
• idea di base:• le entità diventano relazioni sugli stessi
attributi• le associazioni (ovvero le relazioni E-R)
diventano relazioni sugli identificatoridelle entità coinvolte (più gli attributipropri)
![Page 103: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/103.jpg)
03/04/2006 103
Impiegato(Matricola, Cognome, Stipendio)
Progetto(Codice, Nome, Budget)
Partecipazione(Matricola, Codice, DataInizio)
Partecipazione
(0,N) (1,N)
Cognome
Stipendio
Matricola
Impiegato
NomeCodice
Budget
Progetto
Data inizio
EntitEntitàà ee relationshiprelationship molti a moltimolti a molti
![Page 104: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/104.jpg)
03/04/2006 104
EntitEntitàà ee relationshiprelationship molti a moltimolti a molti
Impiegato(Matricola, Cognome, Stipendio)Progetto(Codice, Nome, Budget)
Partecipazione(Matricola, Codice, DataInizio)
• con vincoli di integrità referenziale fra• Matricola in Partecipazione e (la chiave di)
Impiegato• Codice in Partecipazione e (la chiave di) Progetto
![Page 105: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/105.jpg)
03/04/2006 105
Nomi più espressivi per gli attributidella chiave della relazione che
rappresenta la relationship
Impiegato(Matricola, Cognome, Stipendio)
Progetto(Codice, Nome, Budget)
Partecipazione(Matricola, Codice, DataInizio)
Partecipazione(Impiegato, Progetto, DataInizio)
![Page 106: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/106.jpg)
03/04/2006 106
Composizione
ProdottoComposto Componente
Costo Nome Codice
(0,N) (0,N)
Prodotto(Codice, Nome, Costo)
Composizione(Composto, Componente, Quantità)
Relationship ricorsiveRelationship ricorsiveQuantità
![Page 107: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/107.jpg)
03/04/2006 107
Nome
Fornitore Prodotto
Dipartimento
Fornitura
Partita IVA Genere CodiceQuantità
Nome
Telefono
(0,N) (1,N)
(1,N)
RelationshipRelationship nn--ariearie
Fornitore(PartitaIVA, Nome)Prodotto(Codice, Genere)
Dipartimento(Nome, Telefono)Fornitura(Fornitore, Prodotto, Dipartimento, Quantità)
![Page 108: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/108.jpg)
03/04/2006 108
Cognome
Giocatore SquadraContratto
Datanascita Città NomeIngaggio
(1,1) (0,N)
Ruolo Colori sociali
RelationshipRelationship uno a moltiuno a molti
Giocatore(Cognome, DataNascita, Ruolo)Contratto(CognGiocatore, DataNascG, Squadra, Ingaggio)
Squadra(Nome, Città, ColoriSociali)• corretto?
![Page 109: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/109.jpg)
03/04/2006 109
Soluzione piSoluzione piùù compattacompatta
Giocatore(Cognome, DataNascita, Ruolo)Contratto(CognGiocatore, DataNascG, Squadra, Ingaggio)
Squadra(Nome, Città, ColoriSociali)
Giocatore(Cognome, DataNasc, Ruolo, Squadra, Ingaggio)Squadra(Nome, Città, ColoriSociali)
• con vincolo di integrità referenziale fra Squadra inGiocatore e la chiave di Squadra
• se la cardinalità minima della relationship è 0, alloraSquadra in Giocatore deve ammettere valore nullo
![Page 110: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/110.jpg)
03/04/2006 110
IscrizioneStudente Università
Cognome Matricola
AnnoDiCorso
Nome
Indirizzo
(1,1) (1,N)
Città
EntitEntitàà con identificazione esternacon identificazione esterna
Studente(Matricola, Università, Cognome, AnnoDiCorso)Università(Nome, Città, Indirizzo)
• con vincolo …
![Page 111: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/111.jpg)
03/04/2006 111
Direttore DipartimentoDirezione
Cognome Codice Sede NomeData inizio
(1,1) (1,1)
Stipendio Telefono
RelationshipRelationship uno a unouno a uno
• varie possibilità:• fondere da una parte o dall'altra• fondere tutto?
![Page 112: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/112.jpg)
03/04/2006 112
Direttore DipartimentoDirezione
Cognome Codice Sede NomeData inizio
(0,1) (1,1)
Stipendio Telefono
Una possibilitUna possibilitàà privilegiataprivilegiata
Impiegato (Codice, Cognome, Stipendio)
Dipartimento (Nome, Sede, Telefono, Direttore, InizioD)
• con vincolo di integrità referenziale, senza valori nulli
![Page 113: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/113.jpg)
03/04/2006 113
Direttore DipartimentoDirezione
Cognome Codice Sede NomeData inizio
(0,1) (0,1)
Stipendio Telefono
Un altro casoUn altro caso
![Page 114: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/114.jpg)
03/04/2006 114
(1,1)(0,1)
(1,N)(0,1)
(0,1)(1,1)
(1,N)
(0,N)
(1,N)
CittàIndirizzo
Telefono
Dipartimento
Composizione
Sede
Direzione
Afferenza
Impiegato
Progetto
Partecipazione
Nome
Nome
Cognome
Budget
Data
Via
CAP
Codice
![Page 115: Progettazione di basi di dati: Progettazione Concettuale e ...si.deis.unical.it/fortino/teaching/sisinfdes/materiale/Lezioni/... · Progettazione di basi di dati • È una delle](https://reader031.vdocuments.pub/reader031/viewer/2022020318/5c658cad09d3f2a36e8cfece/html5/thumbnails/115.jpg)
03/04/2006 115
Schema finaleSchema finale
Dipartimento(Nome, Città, Telefono, Direttore)
Impiegato(Codice, Cognome, Dipartimento*, Data*)
Partecipazione(Impiegato, Progetto)
Progetto(Nome, Budget)
Sede(Città, Via, CAP)