12.07.2015 Views

Basi di dati

Basi di dati

Basi di dati

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6Atzeni, Ceri, Paraboschi, Torlone<strong>Basi</strong> <strong>di</strong> <strong>dati</strong>McGraw-Hill, 1996-2002Capitolo 6:Progettazione <strong>di</strong> basi <strong>di</strong><strong>dati</strong>:Metodologie e modelliCopyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneAltri costrutti del modello E-RCapitolo 6• Car<strong>di</strong>nalità• <strong>di</strong> relationship• <strong>di</strong> attributo• Identificatore• interno• esterno• Generalizzazione17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCar<strong>di</strong>nalità <strong>di</strong> relationshipCapitolo 6• Coppia <strong>di</strong> valori associati a ogni entità chepartecipa a una relationship• specificano il numero minimo e massimo <strong>di</strong>occorrenze delle relationship cui ciascunaoccorrenza <strong>di</strong> una entità può partecipare17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneEsempio <strong>di</strong> car<strong>di</strong>nalitàCapitolo 6Impiegato(1,5) (0,50)AssegnamentoIncarico17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6• per semplicità usiamo solo tre simboli:• 0 e 1 per la car<strong>di</strong>nalità minima:• 0 = “partecipazione opzionale”• 1 = “partecipazione obbligatoria”• 1 e “N” per la massima:• “N” non pone alcun limite17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneOccorrenze <strong>di</strong> ResidenzaCapitolo 6S1R1C1S3S2R2C2S417/10/2002StudenteR3R4C3C4CittàCopyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCar<strong>di</strong>nalità <strong>di</strong> ResidenzaCapitolo 6Studente(1,1) (0,N)ResidenzaCittà17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneTipi <strong>di</strong> relationshipCapitolo 6• Con riferimento alle car<strong>di</strong>nalitàmassime, abbiamo relationship:• uno a uno• uno a molti• molti a molti17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneRelationship “molti a molti”Capitolo 6Studente(0,N)Esame(0,N)CorsoMontagna(0,N)Scalata(1,N)AlpinistaMacchinista(1,N)Abilitazione(1,N)Locomotore17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneDue avvertenzeCapitolo 6• Attenzione al "verso" nelle relationshipuno a molti• le relationship obbligatorie-obbligatoriesono molto rare17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneRelationship “uno a molti”Capitolo 6Persona(0,1) (0,N)ImpiegoAziendaCinema(1,1) (0,N)UbicazioneLocalitàComune(1,1) (1,N)UbicazioneProvincia17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneRelationship “uno a uno”Capitolo 6Professore(0,1) (0,1)TitolaritàCattedraProfessore<strong>di</strong> ruolo(1,1) (0,1)TitolaritàCattedraProfessore<strong>di</strong> ruolo(1,1) (1,1)TitolaritàCattedracoperta17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCar<strong>di</strong>nalità <strong>di</strong> attributiCapitolo 6• E’ possibile associare delle car<strong>di</strong>nalitàanche agli attributi, con due scopi:• in<strong>di</strong>care opzionalità ("informazioneincompleta")• in<strong>di</strong>care attributi multivalore17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6Rappresentazione grafica(0,N)TelefonoImpiegatoNome(0,1)Numero patente17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneIdentificatore <strong>di</strong> una entitàCapitolo 6• “strumento” per l’identificazioneunivoca delle occorrenze <strong>di</strong> un’entità• costituito da:• attributi dell’entità• identificatore interno• (attributi +) entità esterne attraversorelationship• identificatore esterno17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6Identificatori interniTargaAutomobileModelloData NascitaPersonaIn<strong>di</strong>rizzoCognomeNome17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6Identificatore esternoCognome MatricolaNomeStudente(1,1) (0,N)IscrizioneUniversitàAnno <strong>di</strong> corsoIn<strong>di</strong>rizzo17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneAlcune osservazioniCapitolo 6• ogni entità deve possedere almeno unidentificatore, ma può averne ingenerale più <strong>di</strong> uno• una identificazione esterna è possibilesolo attraverso una relationship a cuil’entità da identificare partecipa concar<strong>di</strong>nalità (1,1)• perché non parliamo degli identificatoridelle relationship?17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


Cognome(0,1)(1,1)<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneDirezioneCapitolo 6Telefono(1,N)Co<strong>di</strong>ceImpiegato(0,N)Partecipazione(1,N)(0,1) (0,N)Afferenza(0,1)DataDipartimento(1,1)Composizione(1,N)NomeProgettoBudget Nome17/10/2002ViaCAPSedeIn<strong>di</strong>rizzo CittàCopyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneGeneralizzazioneCapitolo 6• mette in relazione una o più entità E1,E2, ..., En con una entità E, che lecomprende come casi particolari• E è generalizzazione <strong>di</strong> E1, E2, ..., En• E1, E2, ..., En sono specializzazioni (osottotipi) <strong>di</strong> E17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneRappresentazione graficaCapitolo 6DipendenteImpiegato Funzionario Dirigente17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneProprietà delle generalizzazioniCapitolo 6Se E (genitore) è generalizzazione <strong>di</strong>E1, E2, ..., En (figlie):• ogni proprietà <strong>di</strong> E è significativa perE1, E2, ..., En• ogni occorrenza <strong>di</strong> E1, E2, ..., En èoccorrenza anche <strong>di</strong> E17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCittàCapitolo 6(0,N)Nascita(1,1)PersonaCo<strong>di</strong>cefiscaleNomeStipen<strong>di</strong>oEtàLavoratoreStudente17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6Ere<strong>di</strong>tarietà• tutte le proprietà (attributi, relationship,altre generalizzazioni) dell’entitàgenitore vengono ere<strong>di</strong>tate dalle entitàfiglie e non rappresentateesplicitamente17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneTipi <strong>di</strong> generalizzazioniCapitolo 6• totale se ogni occorrenza dell'entitàgenitore è occorrenza <strong>di</strong> almeno una delleentità figlie, altrimenti è parziale• esclusiva se ogni occorrenza dell'entitàgenitore è occorrenza <strong>di</strong> al più una delleentità figlie, altrimenti è sovrapposta• consideriamo (senza per<strong>di</strong>ta <strong>di</strong> generalità)solo generalizzazioni esclusive e<strong>di</strong>stinguiamo fra totali e parziali17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6PersonaDisoccupatoLavoratore17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6PersonaUomoDonna17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone17/10/2002Altre proprietàCapitolo 6• possono esistere gerarchie a più livelli emultiple generalizzazioni allo stessolivello• un'entità può essere inclusa in piùgerarchie, come genitore e/o come figlia• se una generalizzazione ha soloun’entità figlia si parla <strong>di</strong> sottoinsieme• alcune configurazioni non hanno senso• il genitore <strong>di</strong> una generalizzazione totalepuò non avere identificatore, purché …Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6Esercizio• Le persone hanno CF, cognome edetà; gli uomini anche la posizionemilitare; gli impiegati hanno lostipen<strong>di</strong>o e possono essere segretari,<strong>di</strong>rettori o progettisti (un progettistapuò essere anche responsabile <strong>di</strong>progetto); gli studenti (che nonpossono essere impiegati) un numero<strong>di</strong> matricola; esistono persone chenon sono né impiegati né studenti(ma i dettagli non ci interessano)17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCFCognomePersonaStipen<strong>di</strong>oCapitolo 6EtàMatr.UomoDonnaImpiegatoStudenteMilitareSegretario Direttore ProgettistaResponsabile17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6Documentazione associata aglischemi concettuali• <strong>di</strong>zionario dei <strong>dati</strong>• entità• relationship• vincoli non esprimibili17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


Cognome(0,1)(1,1)<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneDirezioneCapitolo 6Telefono(1,N)Co<strong>di</strong>ceImpiegato(0,N)Partecipazione(1,N)(0,1) (0,N)Afferenza(0,1)DataDipartimento(1,1)Composizione(1,N)NomeProgettoBudget Nome17/10/2002ViaCAPSedeIn<strong>di</strong>rizzo CittàCopyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6Dizionario dei <strong>dati</strong> (entità)Entità Descrizione Attributi IdentificatoreImpiegato Dipendente Co<strong>di</strong>ce, Co<strong>di</strong>cedell'azienda Cognome,Stipen<strong>di</strong>oProgetto Progetti Nome, Nomeaziendali BudgetDipartimento Struttura Nome, Nome,SedeaziendaleSededell'aziendaTelefonoCittà,In<strong>di</strong>rizzoSedeCittà17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneCapitolo 6Dizionario dei <strong>dati</strong> (relationship)Relazioni Descrizione Componenti AttributiDirezione Direzione <strong>di</strong> un<strong>di</strong>partimentoImpiegato,DipartimentoAfferenza Afferenza a un Impiegato, Data<strong>di</strong>partimento DipartimentoPartecipazione Partecipazionea un progettoImpiegato,ProgettoComposizione Composizionedell'aziendaDipartimento,Sede17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl


<strong>Basi</strong> <strong>di</strong> <strong>dati</strong> - Modelli e linguaggi <strong>di</strong> interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo TorloneVincoli non esprimibiliCapitolo 6Vincoli <strong>di</strong> integrità sui <strong>dati</strong>(1) Il <strong>di</strong>rettore <strong>di</strong> un <strong>di</strong>partimento deve a afferire a tale<strong>di</strong>partimento(2) Un impiegato non deve avere uno stipen<strong>di</strong>omaggiore del <strong>di</strong>rettore del <strong>di</strong>partimento al qualeafferisce(3) Un <strong>di</strong>partimento con sede a Roma deve essere<strong>di</strong>retto da un impiegato con più <strong>di</strong> <strong>di</strong>eci anni <strong>di</strong>anzianità(4) Un impiegato che non afferisce a nessun<strong>di</strong>partimento non deve partecipare a nessun unprogetto17/10/2002Copyright © 2002 - The McGraw-Hill Companies, srl

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!