Upload
vittore-zanella
View
218
Download
1
Embed Size (px)
Citation preview
LA PROGETTAZIONELA PROGETTAZIONEDELLE DELLE
BASI DI DATIBASI DI DATI
Metodologie e modelli per il Metodologie e modelli per il progettoprogetto
____
Progettazione concettuale 1^ Progettazione concettuale 1^ parteparte
Realizzato da Roberto SavinoRealizzato da Roberto Savino
Realizzato da Roberto Savino
Progetto della base di Progetto della base di dati dati
Si inserisce nel:Si inserisce nel: Ciclo di vita del sistema Ciclo di vita del sistema
informativo informativo Consiste nella:Consiste nella:
Raccolta ed analisi dei requisitiRaccolta ed analisi dei requisiti ProgettazioneProgettazione ImplementazioneImplementazione Validazione e collaudoValidazione e collaudo Funzionamento e manutenzioneFunzionamento e manutenzione
Realizzato da Roberto Savino
ProgettazioneProgettazione
la progettazione dei dati: individua l’organizzazione e la struttura
della base di dati la progettazione delle
applicazioni: schematizza le operazioni sui dati e
progetta il software applicativo Si concentra su come si comporta il
sistema
Realizzato da Roberto Savino
Metodologie di Metodologie di progettazioneprogettazione
Distinguiamo:Distinguiamo: la progettazione la progettazione concettuale;concettuale; la progettazione la progettazione logicalogica;; la progettazione la progettazione fisica.fisica.
Realizzato da Roberto Savino
La progettazione La progettazione concettualeconcettuale
Scopo della progettazione concettuale è Scopo della progettazione concettuale è tradurre la descrizionetradurre la descrizione informale informale della realtà, della realtà, risultato dell’analisi dei requisiti del DB risultato dell’analisi dei requisiti del DB (tipicamente sottoforma di documenti e moduli (tipicamente sottoforma di documenti e moduli di vario genere), in uno schema di vario genere), in uno schema formale e formale e completo completo che dovrà essere indipendente dai che dovrà essere indipendente dai criteri di rappresentazione del DBMS usato.criteri di rappresentazione del DBMS usato.
La descrizione formale fa riferimento ad un La descrizione formale fa riferimento ad un modello concettualemodello concettuale, cioè un insieme di , cioè un insieme di concetti e notazioni standard adatti alla concetti e notazioni standard adatti alla rappresentazione del dominio applicativo.rappresentazione del dominio applicativo.
Realizzato da Roberto Savino
Progettazione LogicaProgettazione Logica
Consiste nella traduzione dello schema Consiste nella traduzione dello schema concettuale in termini di un determinato concettuale in termini di un determinato modello logicomodello logico (ad esempio il modello (ad esempio il modello relazionale) di dati usato dal DBMS che relazionale) di dati usato dal DBMS che si intende utilizzare. Il risultato e’ lo si intende utilizzare. Il risultato e’ lo schema logico. schema logico.
Include anche l’Include anche l’ottimizzazioneottimizzazione della della rappresentazione in funzione delle rappresentazione in funzione delle operazioni eseguite (es. operazioni eseguite (es. normalizzazionenormalizzazione))..
Realizzato da Roberto Savino
Progettazione FisicaProgettazione Fisica
Si completa lo schema logico con la Si completa lo schema logico con la specifica dei parametri fisicispecifica dei parametri fisici di di memorizzazione dei dati. Si produce memorizzazione dei dati. Si produce lo lo schema fisico schema fisico che fa riferimento che fa riferimento ad un certo ad un certo modello fisico modello fisico dei dati dei dati che dipende dal DBMS scelto.che dipende dal DBMS scelto.
Realizzato da Roberto Savino
Metodologie di Metodologie di progettazioneprogettazione
la progettazione la progettazione concettualeconcettuale la progettazione la progettazione logicalogica la progettazione la progettazione fisicafisica
Realizzato da Roberto Savino
L’analisi dei requisitiL’analisi dei requisiti
Deve:Deve: individuare le individuare le proprietàproprietà e le e le
funzionalitàfunzionalità del sistema; del sistema; produrre una descrizione dei produrre una descrizione dei datidati
coinvolti e delle coinvolti e delle operazionioperazioni su di essi; su di essi; individuare (in linea di massima) i individuare (in linea di massima) i
requisiti requisiti softwaresoftware ed ed hardwarehardware del del sistema.sistema.
Realizzato da Roberto Savino
Output dell’analisi Output dell’analisi
Studio di fattibilitàStudio di fattibilità che stimi: che stimi: i costi in termini di budget, di impegno del i costi in termini di budget, di impegno del
personale; personale; le inefficienze temporanee dovute al cambio le inefficienze temporanee dovute al cambio
di sistema e di modalità di lavoro;di sistema e di modalità di lavoro; i benefici in termini di riduzione dei tempi i benefici in termini di riduzione dei tempi
di lavoro o migliore efficienza dei processi di lavoro o migliore efficienza dei processi aziendali;aziendali;
piano di sviluppopiano di sviluppo del sistema con del sistema con priorità e tempi di realizzazione.priorità e tempi di realizzazione.
Realizzato da Roberto Savino
Procedure per l’analisiProcedure per l’analisi
Per ogni settore aziendale in esame Per ogni settore aziendale in esame si procede con i seguenti passi:si procede con i seguenti passi: si analizza il sistema informativo si analizza il sistema informativo
esistente, si intervistano i responsabili esistente, si intervistano i responsabili del settore;del settore;
si produce una prima versione dei si produce una prima versione dei requisiti in linguaggio naturale, requisiti in linguaggio naturale, raggruppando raggruppando frasi descrittivefrasi descrittive relative relative a categorie diverse di a categorie diverse di datidati e di e di operazioni.operazioni.
Realizzato da Roberto Savino
Procedure per l’analisiProcedure per l’analisi
si analizzano le descrizioni per eliminare si analizzano le descrizioni per eliminare ambiguità provocate da:ambiguità provocate da: pluralismo di percezione pluralismo di percezione incompletezze di descrizioneincompletezze di descrizione
ambiguità del tipo:ambiguità del tipo: OmonimieOmonimie SinonimieSinonimie conflitti di descrizioneconflitti di descrizione similitudinisimilitudini
Realizzato da Roberto Savino
Procedure per l’analisiProcedure per l’analisi si ricontrollano insieme ai responsabili di settore si ricontrollano insieme ai responsabili di settore le le
frasifrasi relative alle varie categorie di dati e alle relative alle varie categorie di dati e alle operazioni che li coinvolgonooperazioni che li coinvolgono
si costruisce a partire dalle frasi verificate un si costruisce a partire dalle frasi verificate un glossario di termini;glossario di termini; Il glossario tipicamente per ogni termine contiene: la Il glossario tipicamente per ogni termine contiene: la
descrizione, l’elenco dei sinonimi e l’elenco dei termini descrizione, l’elenco dei sinonimi e l’elenco dei termini collegati.collegati.
si verifica la si verifica la completezzacompletezza tutti gli aspetti importanti sono stati consideratitutti gli aspetti importanti sono stati considerati
si verifica la si verifica la consistenzaconsistenza delle specifiche vedendo se: delle specifiche vedendo se: tutti i termini sono stati definiti;tutti i termini sono stati definiti; tutti i termini compaiono in delle operazioni;tutti i termini compaiono in delle operazioni; le operazioni fanno riferimento a termini definiti.le operazioni fanno riferimento a termini definiti.
Realizzato da Roberto Savino
Esempio: “frasi descrittive di un magazzino”
il magazzino è composto da scaffali
i fornitori forniscono prodotti i clienti ordinano prodotti gli scaffali contengono prodotti gli operai sono addetti agli
scaffali
Realizzato da Roberto Savino
TERMINE DESCRIZIONE SINONIMI LEGAME
fornitore p. iva, denom., prodottoindirizzo, num. tel.
cliente p. iva, denom., acquirente prodottoindirizzo, num. tel.
prodotto codice, nome, articolo fornitoregenere.... voce scaffale
cliente
scaffale supporto numerato ripiano operaio(incertezza) prodotto
operaio dati anagrafici, addetto scaffalematricola, qualifica magazziniere
Glossario corrispondenteGlossario corrispondente
Realizzato da Roberto Savino
Il modello Entità-Il modello Entità-Relazione Relazione
Il modello Il modello Entità-RelazioneEntità-Relazione (E-R) è un (E-R) è un modello modello concettuale di dati concettuale di dati che contiene alcuni costrutti che contiene alcuni costrutti atti a descrivere la realtà in maniera semplice, atti a descrivere la realtà in maniera semplice, indipendente dalla organizzazione dei dati nel indipendente dalla organizzazione dei dati nel computer.computer.
I costrutti sono: I costrutti sono: EntitàEntità Associazioni (Relazioni)Associazioni (Relazioni) Proprietà (Attributi)Proprietà (Attributi) CardinalitàCardinalità IdentificatoriIdentificatori Generalizzazioni Generalizzazioni SottoinsiemiSottoinsiemi
Realizzato da Roberto Savino
Costrutti fondamentaliCostrutti fondamentali
CONOSCENZA ASTRATTA CONOSCENZA ASTRATTA entitàentità associazioneassociazione ProprietàProprietà
CONOSCENZA CONCRETACONOSCENZA CONCRETA istanza di entitàistanza di entità istanza di associazioneistanza di associazione proprietà delle istanzeproprietà delle istanze
Realizzato da Roberto Savino
Entità – Istanza di EntitàEntità – Istanza di Entità Entità Entità sono classi di oggetti (cose, sono classi di oggetti (cose,
persone) che hanno proprietà comuni ai persone) che hanno proprietà comuni ai fini dell’applicazione di interesse che si fini dell’applicazione di interesse che si intende modellare.intende modellare.
Istanza di Entità: Istanza di Entità: cosa (oggetto, cosa (oggetto, persona) che esiste di per sé nel dominio persona) che esiste di per sé nel dominio applicativo, della quale si vogliono applicativo, della quale si vogliono registrare fatti specifici e che può essere registrare fatti specifici e che può essere chiaramente identificata in modo da chiaramente identificata in modo da poterla distinguere dalle altrepoterla distinguere dalle altre
Realizzato da Roberto Savino
EsempiEsempi
Istanza di Entità:Istanza di Entità: il docente Ferroil docente Ferro il corso Basi di il corso Basi di
DatiDati l’auto AB111XYl’auto AB111XY lo studente lo studente
567345567345 il volo AZ3313il volo AZ3313 il percorso CT-PAil percorso CT-PA
Entità:Entità: DocenteDocente CorsoCorso AutomobileAutomobile StudenteStudente VoloVolo PercorsoPercorso
Realizzato da Roberto Savino
Associazione - istanza di Associazione - istanza di associazioneassociazione
Le Le Associazioni Associazioni (o(o Relazioni Relazioni) ) rappresentano legami logici fra due o più rappresentano legami logici fra due o più entità dell’applicazione.entità dell’applicazione. Possono esserci più relazioni fra le stesse Possono esserci più relazioni fra le stesse
entità (associazioni ricorsive).entità (associazioni ricorsive).
Istanza di AssociazioneIstanza di Associazione: fatto che : fatto che descrive un’azione o una situazione e che descrive un’azione o una situazione e che stabilisce legami tra istanze di entità stabilisce legami tra istanze di entità (associa, mette in relazione)(associa, mette in relazione)
Realizzato da Roberto Savino
EsempiEsempi
Istanza di associazione:Istanza di associazione: Ferro insegna Basi di dati Ferro insegna Basi di dati
22 Sicilia appartiene all’ItaliaSicilia appartiene all’Italia La ditta Rossi ordina PCLa ditta Rossi ordina PC Bianchi lavora al Bianchi lavora al
magazzino 4magazzino 4 il TIR 542 viaggia sulla il TIR 542 viaggia sulla
tratta CT-PAtratta CT-PA
Associazione:Associazione: InsegnaInsegna AppartieneAppartiene OrdinaOrdina LavoraLavora Viaggia sulla Viaggia sulla
trattatratta
Realizzato da Roberto Savino
Proprietà delle istanzeProprietà delle istanze
Dette anche attributi delle istanze: Dette anche attributi delle istanze: sono fatti che descrivono le sono fatti che descrivono le caratteristiche delle istanze di entità caratteristiche delle istanze di entità e le caratteristiche delle istanze di e le caratteristiche delle istanze di associazioneassociazione
Le proprietà delle istanze assumono Le proprietà delle istanze assumono VALORIVALORI
Realizzato da Roberto Savino
Esempi di proprietà Esempi di proprietà delle istanzedelle istanze
Proprietà di istanze di entità:Proprietà di istanze di entità:
Ferro ha nome AlfredoFerro ha nome Alfredo Il recapito della ditta Rossi è via Il recapito della ditta Rossi è via
Etnea 22Etnea 22 Formazione Analitica 1 si tiene al Formazione Analitica 1 si tiene al
primo anno primo anno
Realizzato da Roberto Savino
Esempi di proprietà delle Esempi di proprietà delle istanzeistanze
Proprietà di istanze di associazioneProprietà di istanze di associazione
Ferro insegna basi di dati dall’anno Ferro insegna basi di dati dall’anno 19951995
Bianchi ha lavorato 3 ore al magazzino Bianchi ha lavorato 3 ore al magazzino 44
La ditta Rossi ordina 15 PCLa ditta Rossi ordina 15 PC Pappalardo supera Formazione Pappalardo supera Formazione
Analitica 1 con 27Analitica 1 con 27
Realizzato da Roberto Savino
Modello E-RModello E-R
Il modello E-R usa simboli grafici per Il modello E-R usa simboli grafici per favorire l’immediatezza della favorire l’immediatezza della comprensione;comprensione;
Gli schemi E-R sono schemi grafici; Gli schemi E-R sono schemi grafici; Si possono aggiungere frasi di Si possono aggiungere frasi di
commento per rappresentare le commento per rappresentare le caratteristiche non modellabili (ad caratteristiche non modellabili (ad esempio, vincoli complessi).esempio, vincoli complessi).
Realizzato da Roberto Savino
Notazioni E-R: entitàNotazioni E-R: entità
nome dell’entità
studenti
esempiesempi:
materie
Realizzato da Roberto Savino
Notazioni E-R: Notazioni E-R: associazioniassociazioni
nome della associazione
esempio:
supera
esame
studente
Realizzato da Roberto Savino
NotazioniNotazioni E-R: proprietàE-R: proprietà
codice
cognome
voto
Realizzato da Roberto Savino
Notazioni E-R: schemi Notazioni E-R: schemi scheletroscheletro
Gli Gli schemi scheletroschemi scheletro descrivono descrivono una prima struttura di massima dello una prima struttura di massima dello schema senza indicazioni sul TIPO schema senza indicazioni sul TIPO delle entità e delle associazionidelle entità e delle associazioni
Descrivono in generale i Descrivono in generale i collegamenti tra le entità di collegamenti tra le entità di interesse e le associazioni che le interesse e le associazioni che le leganolegano
Realizzato da Roberto Savino
Schemi scheletro Schemi scheletro (esempi)(esempi)
uffici impiegati
ingegneriprogetti
appartenenza
sviluppo
Realizzato da Roberto Savino
guidatori autobus
percorsi
guida
percorrenza
Realizzato da Roberto Savino
magazzino scaffale
oggettooperaio
composizione
posizioneassegnamento
Realizzato da Roberto Savino
fattura articolo
impiegato
cliente
responsabilità
ricezione
riferimento
ufficio
appartenenza
Realizzato da Roberto Savino
dipartimenti docenti
corsicorsidi studio
afferenza
insegnamento
appartenenza
Realizzato da Roberto Savino
Associazioni ridondantiAssociazioni ridondanti
dipartimenti docenti
corsi
afferenza
insegnamento
appartenenza
Realizzato da Roberto Savino
Associazioni ridondanti?Associazioni ridondanti?
docenti
corsistudenti
Ins.
seguono
tesitutoraggio
Realizzato da Roberto Savino
i Guidatori guidano TIR,
G g T a P
i TIR sono assegnati a Percorsi
i Guidatori guidano TIR su Percorsi
G
T
Pag
Risoluzione delle Risoluzione delle ambiguità di ambiguità di modellazionemodellazione
Realizzato da Roberto Savino
Le proprietàLe proprietà
Gli schemi scheletro descrivono in Gli schemi scheletro descrivono in generale i collegamenti tra le entità generale i collegamenti tra le entità e le associazioni;e le associazioni;
Le entità e le associazioni devono Le entità e le associazioni devono essere descritte attraverso essere descritte attraverso l’aggregazione di proprietà;l’aggregazione di proprietà;
Realizzato da Roberto Savino
Identificazione delle Identificazione delle proprietàproprietà
matricola
studente
cognomenomedata_nascitaanno_di_corso
Realizzato da Roberto Savino
ProprietàProprietàscalare scalare (semplice, ad un sol valore)(semplice, ad un sol valore)
es.: matricola, cognome, voto
multipla (sono ammessi n valori)
es.: titolo di studi, targa auto(1,n)
Il simbolo (n,m) esprime la cardinalità minima e massima della proprietà
composta es.: data (gg,mm,aaaa), indirizzo, (denominazione, civico, cap)(1,1)
multipla composta(1,n) es.: telefono (stato,
città, numero)
Realizzato da Roberto Savino
Opzionalità delle Opzionalità delle proprietàproprietà
Proprietà opzionale (è ammessa la “non esistenza del valore”)
(0,n)es.: tel., qualifica, targa
(0,1)
Realizzato da Roberto Savino
Esempio di specifica Esempio di specifica delle proprietàdelle proprietà
matricola
studente
cognome
n_telservizio_m/c
(0,1)(0,1)(0,n) laurea
(1,1)
(1,1)
sesso(1,1)
lire
data
tasse(1,n)
Realizzato da Roberto Savino
Proprietà calcolateProprietà calcolate
Proprietà calcolata (derivata): il valore è calcolato con un algoritmo, in alternativa la proprietà è esplicita.
stipendio
c.f.
dipendentecognome
(1,1)
(1,1)
(1,1)
NB: la regola di calcolo va espressa a parte, usando un qualche linguaggio di specifica:stipendio = salario_giornaliero*presenze
Realizzato da Roberto Savino
Proprietà di sintesiProprietà di sintesi valori medi , max e min ecc.valori medi , max e min ecc.
campionato
giocatore squadra
età età_media
giocatore squadra
età età_media
età_media
Realizzato da Roberto Savino
Unicità dei valoriUnicità dei valori
Proprietà unica: tutte le istanze della classe hanno valore diverso, in alternativa la proprietà è non unica:
cognome
c.f.
consulente
p.iva
(1,1)
(0,1)
(1,1)
Realizzato da Roberto Savino
Proprietà chiaveProprietà chiave
Una proprietà (attributo) chiave identifica in modounivoco la singola istanza di entità (o di associazione):
- obbligatoria, unica, esplicita- può essere composta - in generale non è modificabile
Simbolo = c.f.
dipendente veicolo
targa
libro
colloc.
Realizzato da Roberto Savino
EsempioEsempio
DIPENDENTE
c.f.
nome
cognome
data_nascita
data_assunzionelivello
stipendio indirizzo
n_tel.
qualifica
(1,1)
(1,1)
(1,1)
(1,1)
(1,1)
(1,1)
(1,2)(1,n)
(1,1)
recapito
Realizzato da Roberto Savino
EsempioEsempio
VEICOLO
targa
modello
n. telaio
colore
data_immatr.cilindrata
km intervento
km
peso
(1,1)
(1,1)
(1,1)
(1,1)
(1,1)
(1,1)
(0,n)(1,1)
(1,1)
revisionedata
Realizzato da Roberto Savino
Chiave compostaChiave composta
La chiave di un’entità può essere composta
nome
loc_id
località
hotel_idalbergo
nome
provincia
stabilimento
nome
località
stab_id
località
società
Realizzato da Roberto Savino
Chiavi alternativeChiavi alternative
Chiavi alternative per una stessa entità
albergolocalità
hotel_id
nome
codice_h
nome
loc_id
provincialocalità
c_istat
Realizzato da Roberto Savino
Criteri di scelta della Criteri di scelta della chiavechiave
Scelta condizionata da fattori esterni Scelta condizionata da fattori esterni es.:per gli studenti: codice fiscale o es.:per gli studenti: codice fiscale o
matricola?matricola? velocità di digitazione (matricola)velocità di digitazione (matricola) controllo validità (codice fiscale) controllo validità (codice fiscale)
Spesso si fa uso di valori progressivi Spesso si fa uso di valori progressivi assegnati automaticamente dal assegnati automaticamente dal sistema garantendo l’unicità sistema garantendo l’unicità (CONTATORE) (CONTATORE)
Realizzato da Roberto Savino
La chiave delle La chiave delle associazioniassociazioni
La chiave è sempre composta ed è definita come l’insieme delle chiavi delle entità partecipanti, es.:
uffici impiegati
appartenenza : (c_uff, matr)
c_uff matr
Realizzato da Roberto Savino
EsempioEsempio
Es.:
dipartimento docente
Afferenza : (dip, cognome)
dip cognome
Realizzato da Roberto Savino
Cardinalità delle Cardinalità delle associazioniassociazioni
per per cardinalitàcardinalità si intende il numero si intende il numero di volte che una data istanza di di volte che una data istanza di entità deve o può partecipare alla entità deve o può partecipare alla associazioneassociazione (1,1) : obbligatoria, una sola volta(1,1) : obbligatoria, una sola volta (1,n) : obbligatoria, almeno una volta(1,n) : obbligatoria, almeno una volta (0,1) : opzionale, una sola volta(0,1) : opzionale, una sola volta (0,n) : opzionale, n volte(0,n) : opzionale, n volte
Realizzato da Roberto Savino
Associazioni N:MAssociazioni N:M
ingegneriprogetti
sviluppoprj matr
(0,n) (1,m)
• Con vincolo: un ingegnere deve partecipare ad almeno un progetto (1,m)• Senza vincolo: ad un progetto possono partecipare ingegneri, ma può esistere anche un progetto senza ingegneri (0,n)
Chiamata anche: associazione molti a molti
Realizzato da Roberto Savino
AssociazioniAssociazioni 1:11:1
direttorereparto
direzionen_rep matr
(1,1) (1,1)
• Con doppio vincolo: • un reparto deve avere un direttore ed il direttore
è uno solo (1,1)• un direttore deve dirigere uno ed un solo
reparto (1,1)• Il vincolo diventerebbe (0,1) se avessimo la generica
entità “impiegato” al posto dell’entità “direttore” (alcuni impiegati non dirigono reparti)
Realizzato da Roberto Savino
Associazioni N:1Associazioni N:1
oggettoripiano
posizionen_rip cod_o
(0,n) (0,1)
• Con vincolo: un oggetto può stare su un ripiano, ma su un solo ripiano (0,1)• Senza vincolo: su un ripiano possono stare n
oggetti • È possibile vincolare la partecipazione, per esempio
ponendo n = 5, non più di 5 oggetti per ripiano (0,5)• Chiamata anche: associazione molti a uno
Realizzato da Roberto Savino
Gestione magazzinoGestione magazzino
magazzino scaffale
ripianooperaio
composizione
suddivisionelavoro
(1,1)
(1,m)
(1,1)(1,n)
(0,1)
(1,n)
Realizzato da Roberto Savino
Base dati Base dati universitariauniversitaria
dipartimento docente
corsoc. di studio
afferenza
insegnamento
appartenenza (0,1)
(1,1)(n,m)
(1,n)(n,m)
(0,n)
Realizzato da Roberto Savino
ContabilitàContabilità
fattura articolo
impiegato
cliente
gestisce
riceve
contiene
ufficio
appartiene
(1,n)
(0,n)
(1,1)(0,n)
(1,1)
(0,n)(1,1)
(1,n)
Realizzato da Roberto Savino
FornituraFornitura
prodotti fornitori
fornitura
prezzo
(0,n)(0,n)
cod_fcod_p
NOTA: questo modello non consente a un fornitore di fornire più volte lo stesso prodotto a seguito di ordini diversi perché si avrebbe una violazione dell’unicità delle chiave
Realizzato da Roberto Savino
Fornitura / 2Fornitura / 2
fornitore
cod_f
prodotto
cod_p
prezzo(0,n)(0,n)
fornitura
numero data
(1,1)(1,n)rif_p rif_f
Realizzato da Roberto Savino
TrasportiTrasporti
•Attenzione all’interpretazione: questo è il programma giornaliero, in cui ogni guidatore è assegnato a un solo bus e fa un solo turnonon rappresenta l’archivio dei turni svolti da un guidatore!
guidatore autobus
Incarico_giornaliero
turno
(0,n)(0,1)
n_autmatr
Realizzato da Roberto Savino
Trasporti / 2Trasporti / 2
guidatore
fare
(0,n)
matr
(1,1)
autobus
n_aut
(0,n)
usare
turno(1,1)
numerodata
id_tufascia
Archivio assegnamenti:ci possono essere più turni nella stessa data e fascia oraria, svolti da guidatori diversi su bus diversi
Realizzato da Roberto Savino
Trasporti bis / 1Trasporti bis / 1
NOTA: descrive la situazione di un solo giorno, perché un guidatore non può condurre lo stesso TIR sullo stesso percorso più di una volta
guidatori(0,1)
matr
(0,n)
TIR
n_tir
(0,1)
percorsi
codice_passociazione ternariala chiave è una tripla(matr, n_tir, codice_p)
guida
Realizzato da Roberto Savino
Trasporti bis / 2Trasporti bis / 2
matrpercorsi
guidatori(0,n)
(0,n)
TIR
n_tir
(0,n)
datadata
Codice_p(0,n)
•un guidatore può condurre lo stesso TIR sullo stesso percorso più di una volta, ma in date diverse•questa rappresentazione nasconde la presenza di un’entità
guida
Realizzato da Roberto Savino
Trasporti bis / 3Trasporti bis / 3
•Potremmo anche mettere (1,n) al posto di (1,1), per esempio per rappresentare viaggi con più di un guidatore
matr
percorsi
guidatori
(0,n)
TIRn_viaggio
(1,1)
data
Codice_p
(0,n)
viaggi
num
d_arrivo
(1,1)
(1,1)
(0,n)
gv
vp
vt
Realizzato da Roberto Savino
Le auto-associazioniLe auto-associazioni
Associazioni aventi come Associazioni aventi come partecipanti istanze partecipanti istanze provenienti dalla stessa provenienti dalla stessa entità (chiamate anche entità (chiamate anche unarie o ad anello):unarie o ad anello):
Realizzato da Roberto Savino
Auto-associazioni 1:1Auto-associazioni 1:1
impiegato
(0,1)
marito
Sul ogni ramo può essere riportato il “ruolo” del partecipante all’associazione
matrimonio
(0,1)
moglie
matr
bnc, nrevrd, gllrss, vli
Realizzato da Roberto Savino
Auto-associazioni n:mAuto-associazioni n:m
ricambio
sostituito_da
sostituisce
NB: può essere interpretata come bi- o mono-direzionale
equivalenza
(0,n)
(0,n)
cod_r
p22 m89k45 s56
p22 m89k45 s56m89 p22s56 k45