Download
il modello entity relationship n.
Skip this Video
Loading SlideShow in 5 Seconds..
Il modello Entity-Relationship PowerPoint Presentation
Download Presentation
Il modello Entity-Relationship

Il modello Entity-Relationship

152 Vues Download Presentation
Télécharger la présentation

Il modello Entity-Relationship

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. impiegato datore lavoro Ente persona Il modello Entity-Relationship Il modello Entity-Relationship

  2. Modello Entity-Relationship (Entità-Relazione) • Proposto da Peter S. Chen nel 1976, rappresenta uno “standard de facto” per la progettazione concettuale di una base dati • Ha una rappresentazione grafica • Esistono molti dialetti E/R, che spesso si differenziano solo per la notazione grafica adottata (es. modello EER = enhanced E/R) Il modello Entity-Relationship

  3. I costrutti del modello E-R • Entità • Relationship (relazione, o associazione) • Attributo • Identificatore • Generalizzazione • …. Il modello Entity-Relationship

  4. Entità • Classe di oggetti (fatti, persone, cose) dell’applicazione di interesse con proprietà comuni e con esistenza “autonoma” ai fini dell’applicazione • Ha una esistenza indipendente dalle proprietà ad essa associate • Esempi: • impiegato, città, conto corrente, ordine, fattura • Ogni entità ha un nome che la identifica univocamente nello schema: • nomi espressivi • opportune convenzioni (es. singolare) Il modello Entity-Relationship

  5. Es. La classe dei computer Il modello Entity-Relationship

  6. Entità: schema e istanza • Una occorrenza (o istanza) di entità è un elemento della classe (l'oggetto stesso, la persona stessa, …, non un valore che questo può assumere) • nello schema concettuale rappresentiamo le entità, non le singole istanze Il modello Entity-Relationship

  7. Rappresentazione grafica di entità Impiegato Dipartimento Città Vendita Il modello Entity-Relationship

  8. Relationship (Associazione) • Legame logico fra due o più entità, rilevante nell’applicazione di interesse • Esempi: • Residenza(fra le entità Persona e Città) • Esame (fra Studente e Corso) • In inglese relationship, viene tradotto con associazione o relazione (da non confondere con la relazione, da relation, nel modello relazionale) Il modello Entity-Relationship

  9. impiegato datore lavora in Ente persona Il modello Entity-Relationship

  10. Esame Residenza Rappresentazione grafica di relationship Studente Corso Impiegato Città Il modello Entity-Relationship

  11. Relationship, commenti • Ogni relationship ha un nome che la identifica univocamente nello schema: • nomi espressivi • opportune convenzioni • singolare • sostantivi invece che verbi (se possibile) Il modello Entity-Relationship

  12. Relationship, occorrenze • Una occorrenzadi una relationship binaria è una coppia di occorrenze di entità, una per ciascuna entità coinvolta • Una occorrenza di una relationship n-aria è una n-upla di occorrenze di entità, una per ciascuna entità coinvolta • Nell'ambito di una relationship non ci possono essere occorrenze (coppie, ennuple) ripetute Il modello Entity-Relationship

  13. istanza di E1 entità E1 entità E2 associazione A tra E1 ed E2 occorrenza di A Il modello Entity-Relationship

  14. Esame Visita Relationship corrette Studente Corso Paziente Medico Il modello Entity-Relationship

  15. E1 E2 Rossi E3 Algebra Verdi Bianchi Fisica E4 Analisi Pepi Corso Studente Esempi di occorrenze Il modello Entity-Relationship

  16. Per definizione l’insieme delle istanze di un'associazione è un sottoinsieme del prodotto Cartesiano degli insiemi delle istanze di entità che partecipano all’associazione • Ne segue che non possono esservi istanze ripetute nell’associazione • Se s è uno Studente e c un Corso, la coppia (s,c) può comparire un’unica volta nell'insieme delle istanze di Esame Studente Corso Esame Il modello Entity-Relationship

  17. Grado di una relazione • È il numero di istanze di entità che sono coinvolte in un’istanza dell’associazione • associazione binaria: grado = 2 • associazione ternaria: grado = 3 Persona Città Lavoro Impiegato Assegnazione Progetto Sede Il modello Entity-Relationship

  18. Sede di lavoro Residenza Impiegato Città Due relationship sulle stesse entità Il modello Entity-Relationship

  19. Conoscenza Persona Relationship ricorsiva: coinvolge “due volte” la stessa entità Il modello Entity-Relationship

  20. Successione Sovrano Relationship ricorsiva con “ruoli” Successore Predecessore Il modello Entity-Relationship

  21. Relationship ternaria ricorsiva • È possibile avere anelli anche in relazioni n-arie generiche (n > 2) • Il significato di una occorrenza (d1,d2,p) è: il dipendente d1dirige il dipendente d2 all’interno del progetto p dirige Progetto Dipendente Direzione diretto Il modello Entity-Relationship

  22. base propedeutico esame avanz Corso Studente docente commissione frequenza offerta Professore CorsodiLaurea iscrizione Un database sul sistema universitario

  23. Attributo • Proprietà elementare di un’entità o di una associazione, di interesse ai fini dell’applicazione • Associa ad ogni occorrenza di entità o relationship un valore appartenente a un insieme detto dominio dell’attributo (contiene i valori ammissibili per l’attributo) Il modello Entity-Relationship

  24. Cognome Nome Titolo Esame Studente Corso Matricola Codice Attributi, rappresentazione grafica Data Voto data e voto non sono proprietà né di uno Studente né di un Corso, ma del legame Studente-Corso che si crea in occasione di un esame

  25. Attributi composti • Raggruppano attributi di una medesima entità o relationship che presentano affinità nel loro significato o uso • Esempio: • Via, Numero civico e CAP formano un Indirizzo Il modello Entity-Relationship

  26. Cognome Età Via Indirizzo Numero CAP Rappresentazione grafica Impiegato Il modello Entity-Relationship

  27. Cognome Telefono Direzione Impiegato Dipartimento Afferenza Nome Codice Composizione Partecipazione Data Sede Progetto Via Indirizzo Città Budget Nome CAP

  28. Corso Studente ciclo nome telefono nome data voto base matricola esame propedeutico avanz indirizzo commissione segue docente città via nome Professore cognome offre data_nascita cod_id nome CorsodiLaurea iscritto

  29. In ogni schema E/R sono presenti dei vincoli • Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello: • ogni occorrenza di associazione deve riferirsi a istanze di entità • occorrenze diverse della stessa associazione devono riferirsi a differenti combinazioni di occorrenze delle entità partecipanti all'associazione • Altri vincoli sono espliciti, e vengono definiti da chi progetta lo schema E/Rsulla base della conoscenza della realtà che si sta modellando • vincoli di cardinalità (per associazioni e attributi) • vincoli di identificazione

  30. Altri costrutti del modello E-R • Cardinalità • di relationship • di attributo • Identificatore • interno • esterno • Generalizzazione Il modello Entity-Relationship

  31. Cardinalità di relationship • Coppia di valori (x,y) associati a ogni entità che partecipa a una relationship • Per ogni entità Eche partecipa a una relazione Ri numeri (x,y)specificano il numero minimo e massimo di occorrenze di R cui ciascuna occorrenza di Epuò partecipare Il modello Entity-Relationship

  32. Assegnamento Impiegato Incarico Esempio di cardinalità (1,5) (0,50) Il modello Entity-Relationship

  33. per semplicità usiamo solo tre simboli: • 0 e 1 per la cardinalità minima: • 0 = “partecipazione opzionale” • 1 = “partecipazione obbligatoria” • 1 e “N” per la cardinalità massima: • “N” non pone alcun limite Il modello Entity-Relationship

  34. (1,1) (0,N) Residenza Studente Città Cardinalità di Residenza Il modello Entity-Relationship

  35. R1 R2 R3 R4 Occorrenze di Residenza S1 C1 S2 C2 S3 S4 C3 C4 Città Studente Il modello Entity-Relationship

  36. Tipi di relationship • Le relationship si distinguono con riferimento alle cardinalità massime; abbiamo relationship: • uno a uno(x,1) — (x,1); • uno a molti(x,1) — (x,N); • molti a molti(x,N) — (x,N), dove x può valere 0 oppure 1 Il modello Entity-Relationship

  37. (0,N) (0,N) Esame Studente Corso (0,N) (1,N) Scalata Montagna Alpinista m n (1,N) (1,N) Abilitazione Macchinista Locomotore Relationship “molti a molti”

  38. (0,1) (0,N) Impiego Persona Azienda (1,1) (0,N) Ubicazione Cinema Località (1,1) (1,N) Ubicazione Comune Provincia C1 C2 Relationship “uno a molti”

  39. (1,1) C1 C2 (0,1) Titolarità Professore di ruolo Corso (1,1) (1,1) Titolarità Professore di ruolo Cattedra Relationship “uno a uno”

  40. Persona (1,n) Città (1,1) Risiede Studente (0,n) Città (1,1) Risiede Persona (0,n) Città (0,n) Lavora Studente (0,n) Corso (0,n) Esame Persone (1,n) Telefono (0,n) Ha Cardinalità: altri esempi

  41. Cardinalità di attributi • E’ possibile associare delle cardinalità anche agli attributi, con due scopi: • indicare opzionalità ("informazione incompleta") • indicare attributi multivalore Il modello Entity-Relationship

  42. Telefono Impiegato Nome Numero patente Rappresentazione grafica (0,N) (0,1) Il modello Entity-Relationship

  43. Il modello Entity-Relationship

  44. via (1,n) n.civico (1,n) Persona città (1,n) CAP (1,n) Attributi ripetuti e composti • Nel caso di presenza di più attributi multivalore, la creazione di un attributo composto può rendersi necessaria per evitare ambiguità • Ad esempio, se una persona ha più indirizzi… …non si può rappresentarlo così! via (1,n) n.civico Persona indirizzo città CAP

  45. Identificatore di una entità • “strumento” per l’identificazione univoca delle occorrenze di un’entità • “minimale”: nessun sottoinsieme proprio dell’identificatore deve a sua volta essere identificatore • costituito da: • attributi dell’entità: identificatore interno • (attributi dell’entità +) entità esterne attraverso relationship: identificatore esterno Il modello Entity-Relationship

  46. Targa Automobile Modello Data Nascita Persona Cognome Proprietario Nome Indirizzo Identificatori interni: si usano uno o più attributi dell’entità

  47. Cognome Matricola Nome (1,1) (0,N) Iscrizione Studente Università Anno di corso Indirizzo Identificatore esterno: l’entità è identificata da una o più entità collegate a essa da associazioni, più eventuali attributi dell’entutà stessa Il modello Entity-Relationship