SlideShare a Scribd company logo
1 of 19
BASI DI DATI

Diagrammi Entità/Relazioni (ER)
Premessa
La gestione dati in una applicazione viene
  affrontata a vari livelli:
• modello concettuale (nella specifica);

• modello logico (nel progetto);

• modello fisico (nell’implementazione).

In genere le applicazioni si appoggiano a
  strutture di gestione dei dati
  preconfezionate.
                                             2
Diagramma Entità/Relazioni (ER)
Il diagramma ER rappresenta una descrizione
   concettuale dei dati che costituiscono un
   sistema informativo e delle relazioni logiche
   esistenti tra tali dati. Esso è costituito da:
• entità;

• attributi;

• relazioni tra entità;

• attributi sulle relazioni;

• cardinalità dell’entità sulla relazione.

                                                    3
Entità
È la classe di oggetti appartenenti alla realtà
  e che si vogliono rappresentare nel
  sistema. La sua rappresentazione grafica
  risulta essere:


                    ENTITÀ




                                              4
Attributi
Ad ogni entità è associato un insieme di attributi
  che caratterizzano i singoli elementi dell’entità.
  Tra gli attributi gioca un ruolo importante un
  particolare attributo, chiamato chiave, che
  permette di identificare univocamente ogni
  elemento dell’insieme di dati considerato.
  Vengono rappresentati nel seguente modo:
                                  ATTRIBUTO CHIAVE
                                  ATTRIBUTO
       ENTITÀ                     ATTRIBUTO LISTA
                                  ATTRIBUTO COMPOSTO
                                                       5
Relazioni tra entità
Rappresentano l’associazione tra due o più entità.
 Le relazioni binarie che legano un’entità a se
 stessa sono dette relazioni ad anello o ricorsive;
 per distinguere il ruolo che l’entità gioca nella
 relazione, questi sono specificati tramite
 etichette poste sui due rami della relazione. La
 rappresentazione grafica risulta essere:

                    RELAZIONE

     ENTITÀ                            ENTITÀ


                                                      6
Attributi sulle relazioni
Rappresentano proprietà legate
 all’associazione tra entità. Vengono
 rappresentate nel seguente modo:
                 RELAZIONE

    ENTITÀ                       ENTITÀ




              ATTRIBUTO SULLA
                 RELAZIONE                7
Cardinalità dell’entità sulla
             relazione
Sulla relazione, e vicino ad un’entità A,
 definisce il numero minimo (m) ed il
 numero massimo (M) di entità B che
 possono essere collegate. La
 rappresentazione grafica è presto fatta:
                 RELAZIONE

    ENTITÀ                       ENTITÀ
               B(m,M)   A(m,M)


                                            8
Funzionalità di una relazione
Il modello ER fornisce una descrizione più
   aderente alla realtà se si pongono dei
   vincoli sul numero di volte in cui un
   elemento di entità può partecipare ad una
   relazione, o in altre parole sul numero di
   tuple distinte alle quali esso può
   appartenere. Si parla perciò di funzionalità
   di una relazione.

                                              9
Generalizzazione
Descrive un collegamento logico tra
 un’entità E (entità padre) e una o più entità
 E1, E2, ..., En (entità figlie).

                      E




      E1                             En
                                            10
Generalizzazione: proprietà
• Ogni occorrenza di un’entità figlia è anche
  un’occorrenza dell’entità padre
• Ogni proprietà dell’entità padre (attributi,
  identificatori, relationship, altre
  generalizzazioni) è anche una proprietà di
  ogni entità figlia (ereditarietà)
• Un’entità può essere coinvolta in più
  generalizzazioni diverse
                                             11
Generalizzazione: proprietà
Caratteristiche ortogonali:
• generalizzazione totale se ogni
  occorrenza dell’entità padre è
  un’occorrenza di almeno una delle entità
  figlie, parziale altrimenti;
• esclusiva se ogni ocorrenza dell’entità
  padre è al più un’occorrenza di una delle
  entità figlie, sovrapposta altrimenti.
                                              12
Generalizzazione: esempi

       Persona                             Persona




 Uomo        Donna                  Studente       Lavoratore

 Totale ed esclusiva               Parziale e sovrapposta
                                           Studente



Uomo               Donna   Né studente                   Sia studente
                           né lavoratore                sia lavoratore

                                                                13
                                           Lavoratore
Generalizzazione: esempi

             Personale                             Cittadino




Dipendente          Esterno                Cacciatore      Pescatore

    Totale ed esclusiva                    Parziale e sovrapposta
                                                   Pescatore



Dipendente               Esterno   Né cacciatore                     Sia
                                   né pescatore                 cacciatore sia
                                                                  pescatore
                                                                        14
                                                   Cacciatore
Generalizzazione: esempi
Parziale: possono esistere esterni generici che
  non sono né legali, né ingegneri, né economisti
  ma non interessa una sottoclasse ad hoc.

                      Esterno
                          (p,e)



       Legale        Ingegnere     Economista



                                                    15
Generalizzazione: esempi
Sovrapposta: possono esistere ingegneri con
  competenze di meccanica, elettronica e
  logistica. Le tre qualifiche non si escludono.

                      Ingegnere
                           (p,s)



       Logistico      Meccanico       Elettronico



                                                    16
Generalizzazione: esempi

                       Personale       Codice_fiscale
                                        Cognome
                                       Indirizzo
                            (t,e)



    Non docente                       Docente
          (t,e)                               (p,e)



Tecnico     Ammin.vo      Ordinario   Associato         Ricercatore


                                                               17
Sottoinsieme
Caso particolare di generalizzazione con una sola entità
  figlia. La generalizzazione è sempre parziale ed
  esclusiva.


                         ENTITÀ




                         ENTITÀ
                                                           18
Esempio finale ER
                                         ANNI

                             RUOLO                CORRENTE

CODICE

 NOME                           (11,N)            (1,N)
                SQUADRA                                     GIOCATORE
 CITTA’
                                     HA MILITATO IN
                    (1,1)

   PUNTEGGIO

                            APPARTENENZA




                                                          CODICE



                                                                   NOME



                                                                          RUOLO IDEALE
     STAGIONE

                    (1,N)

                                           NOME

                  SERIE
                                                                            19

More Related Content

What's hot

Modelo entidad relacion ok
Modelo entidad relacion okModelo entidad relacion ok
Modelo entidad relacion okBB
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitualMario Sergio
 
Package Diagram
Package DiagramPackage Diagram
Package DiagramWASI ALI
 
ER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMSER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMSRubal Sagwal
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship DiagramSiti Ismail
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Leinylson Fontinele
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral ModelingAMITJain879
 
Entity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalizationEntity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalizationSatya Pal
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacionalomarzon
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)DotNetMarche
 
El modelo de entidad relación (e r)
El modelo de entidad relación (e r)El modelo de entidad relación (e r)
El modelo de entidad relación (e r)YENZU
 

What's hot (20)

Le Basi di Dati
Le Basi di DatiLe Basi di Dati
Le Basi di Dati
 
Modelo entidad relacion ok
Modelo entidad relacion okModelo entidad relacion ok
Modelo entidad relacion ok
 
Normalization in RDBMS
Normalization in RDBMSNormalization in RDBMS
Normalization in RDBMS
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitual
 
Aula 6 - Cardinalidade
Aula 6 - CardinalidadeAula 6 - Cardinalidade
Aula 6 - Cardinalidade
 
Database - progettazione
Database - progettazioneDatabase - progettazione
Database - progettazione
 
Package Diagram
Package DiagramPackage Diagram
Package Diagram
 
Aula 5 banco de dados
Aula 5   banco de dadosAula 5   banco de dados
Aula 5 banco de dados
 
ER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMSER Modeling and Introduction to RDBMS
ER Modeling and Introduction to RDBMS
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
 
ER Diagram
ER DiagramER Diagram
ER Diagram
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral Modeling
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
 
Entity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalizationEntity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalization
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)
 
cc302modulo2
cc302modulo2cc302modulo2
cc302modulo2
 
El modelo de entidad relación (e r)
El modelo de entidad relación (e r)El modelo de entidad relación (e r)
El modelo de entidad relación (e r)
 

Viewers also liked

Viewers also liked (10)

Progettazione Concettuale Database Ospedale
Progettazione Concettuale Database OspedaleProgettazione Concettuale Database Ospedale
Progettazione Concettuale Database Ospedale
 
esempio modello concettuale
esempio modello concettualeesempio modello concettuale
esempio modello concettuale
 
Soluzione generalizzazioni in diagrammi ER
Soluzione generalizzazioni in diagrammi ERSoluzione generalizzazioni in diagrammi ER
Soluzione generalizzazioni in diagrammi ER
 
Progettazione concettuale per le basi di dati - Introduzione e il modello ER
Progettazione concettuale per le basi di dati - Introduzione e il modello ERProgettazione concettuale per le basi di dati - Introduzione e il modello ER
Progettazione concettuale per le basi di dati - Introduzione e il modello ER
 
Flow Chart - Diagramma a blocchi
Flow Chart - Diagramma a blocchiFlow Chart - Diagramma a blocchi
Flow Chart - Diagramma a blocchi
 
Progetto di Basi di Dati
Progetto di Basi di DatiProgetto di Basi di Dati
Progetto di Basi di Dati
 
progettazione concettuale database
progettazione concettuale databaseprogettazione concettuale database
progettazione concettuale database
 
Basi di dati e gis n
Basi di dati e gis nBasi di dati e gis n
Basi di dati e gis n
 
Traduzione dal modello ER al relazionale
Traduzione dal modello ER al relazionaleTraduzione dal modello ER al relazionale
Traduzione dal modello ER al relazionale
 
Lezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-RLezione 8 - Pratica - Il diagramma E-R
Lezione 8 - Pratica - Il diagramma E-R
 

More from Sergio Porcu

Costi, break even point, analisi make or buy
Costi, break even point, analisi make or buyCosti, break even point, analisi make or buy
Costi, break even point, analisi make or buySergio Porcu
 
Analisi degli scostamenti
Analisi degli scostamentiAnalisi degli scostamenti
Analisi degli scostamentiSergio Porcu
 
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsione
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsioneAlgoritmi e Programmazione Avanzata - Ordinamento e ricorsione
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsioneSergio Porcu
 
Algoritmi e Programmazione Avanzata - Liste, pile, code
Algoritmi e Programmazione Avanzata - Liste, pile, codeAlgoritmi e Programmazione Avanzata - Liste, pile, code
Algoritmi e Programmazione Avanzata - Liste, pile, codeSergio Porcu
 
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeuticiAlgoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeuticiSergio Porcu
 
Il temporizzatore d'intervalli 8253
Il temporizzatore d'intervalli 8253Il temporizzatore d'intervalli 8253
Il temporizzatore d'intervalli 8253Sergio Porcu
 
L'interrupt nell'8086
L'interrupt nell'8086L'interrupt nell'8086
L'interrupt nell'8086Sergio Porcu
 
Interfaccia verso il BUS
Interfaccia verso il BUSInterfaccia verso il BUS
Interfaccia verso il BUSSergio Porcu
 
Elementi architetturali dell'8086
Elementi architetturali dell'8086Elementi architetturali dell'8086
Elementi architetturali dell'8086Sergio Porcu
 
Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Sergio Porcu
 
Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Sergio Porcu
 
Reti di Calcolatori - Crittografia
Reti di Calcolatori - CrittografiaReti di Calcolatori - Crittografia
Reti di Calcolatori - CrittografiaSergio Porcu
 
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Sergio Porcu
 
Gestione date in PL/SQL
Gestione date in PL/SQLGestione date in PL/SQL
Gestione date in PL/SQLSergio Porcu
 

More from Sergio Porcu (19)

Investimenti
InvestimentiInvestimenti
Investimenti
 
Costi, break even point, analisi make or buy
Costi, break even point, analisi make or buyCosti, break even point, analisi make or buy
Costi, break even point, analisi make or buy
 
Analisi degli scostamenti
Analisi degli scostamentiAnalisi degli scostamenti
Analisi degli scostamenti
 
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsione
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsioneAlgoritmi e Programmazione Avanzata - Ordinamento e ricorsione
Algoritmi e Programmazione Avanzata - Ordinamento e ricorsione
 
Algoritmi e Programmazione Avanzata - Liste, pile, code
Algoritmi e Programmazione Avanzata - Liste, pile, codeAlgoritmi e Programmazione Avanzata - Liste, pile, code
Algoritmi e Programmazione Avanzata - Liste, pile, code
 
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeuticiAlgoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
 
Il temporizzatore d'intervalli 8253
Il temporizzatore d'intervalli 8253Il temporizzatore d'intervalli 8253
Il temporizzatore d'intervalli 8253
 
Il Turbo Debugger
Il Turbo DebuggerIl Turbo Debugger
Il Turbo Debugger
 
L'interrupt nell'8086
L'interrupt nell'8086L'interrupt nell'8086
L'interrupt nell'8086
 
Interfaccia verso il BUS
Interfaccia verso il BUSInterfaccia verso il BUS
Interfaccia verso il BUS
 
Elementi architetturali dell'8086
Elementi architetturali dell'8086Elementi architetturali dell'8086
Elementi architetturali dell'8086
 
Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086
 
Assembler 8086
Assembler 8086Assembler 8086
Assembler 8086
 
Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088
 
Metodo di Newton
Metodo di NewtonMetodo di Newton
Metodo di Newton
 
Reti di Calcolatori - Crittografia
Reti di Calcolatori - CrittografiaReti di Calcolatori - Crittografia
Reti di Calcolatori - Crittografia
 
Mappe di Karnaugh
Mappe di KarnaughMappe di Karnaugh
Mappe di Karnaugh
 
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086
 
Gestione date in PL/SQL
Gestione date in PL/SQLGestione date in PL/SQL
Gestione date in PL/SQL
 

Diagrammi Entità/Relazioni (ER)

  • 1. BASI DI DATI Diagrammi Entità/Relazioni (ER)
  • 2. Premessa La gestione dati in una applicazione viene affrontata a vari livelli: • modello concettuale (nella specifica); • modello logico (nel progetto); • modello fisico (nell’implementazione). In genere le applicazioni si appoggiano a strutture di gestione dei dati preconfezionate. 2
  • 3. Diagramma Entità/Relazioni (ER) Il diagramma ER rappresenta una descrizione concettuale dei dati che costituiscono un sistema informativo e delle relazioni logiche esistenti tra tali dati. Esso è costituito da: • entità; • attributi; • relazioni tra entità; • attributi sulle relazioni; • cardinalità dell’entità sulla relazione. 3
  • 4. Entità È la classe di oggetti appartenenti alla realtà e che si vogliono rappresentare nel sistema. La sua rappresentazione grafica risulta essere: ENTITÀ 4
  • 5. Attributi Ad ogni entità è associato un insieme di attributi che caratterizzano i singoli elementi dell’entità. Tra gli attributi gioca un ruolo importante un particolare attributo, chiamato chiave, che permette di identificare univocamente ogni elemento dell’insieme di dati considerato. Vengono rappresentati nel seguente modo: ATTRIBUTO CHIAVE ATTRIBUTO ENTITÀ ATTRIBUTO LISTA ATTRIBUTO COMPOSTO 5
  • 6. Relazioni tra entità Rappresentano l’associazione tra due o più entità. Le relazioni binarie che legano un’entità a se stessa sono dette relazioni ad anello o ricorsive; per distinguere il ruolo che l’entità gioca nella relazione, questi sono specificati tramite etichette poste sui due rami della relazione. La rappresentazione grafica risulta essere: RELAZIONE ENTITÀ ENTITÀ 6
  • 7. Attributi sulle relazioni Rappresentano proprietà legate all’associazione tra entità. Vengono rappresentate nel seguente modo: RELAZIONE ENTITÀ ENTITÀ ATTRIBUTO SULLA RELAZIONE 7
  • 8. Cardinalità dell’entità sulla relazione Sulla relazione, e vicino ad un’entità A, definisce il numero minimo (m) ed il numero massimo (M) di entità B che possono essere collegate. La rappresentazione grafica è presto fatta: RELAZIONE ENTITÀ ENTITÀ B(m,M) A(m,M) 8
  • 9. Funzionalità di una relazione Il modello ER fornisce una descrizione più aderente alla realtà se si pongono dei vincoli sul numero di volte in cui un elemento di entità può partecipare ad una relazione, o in altre parole sul numero di tuple distinte alle quali esso può appartenere. Si parla perciò di funzionalità di una relazione. 9
  • 10. Generalizzazione Descrive un collegamento logico tra un’entità E (entità padre) e una o più entità E1, E2, ..., En (entità figlie). E E1 En 10
  • 11. Generalizzazione: proprietà • Ogni occorrenza di un’entità figlia è anche un’occorrenza dell’entità padre • Ogni proprietà dell’entità padre (attributi, identificatori, relationship, altre generalizzazioni) è anche una proprietà di ogni entità figlia (ereditarietà) • Un’entità può essere coinvolta in più generalizzazioni diverse 11
  • 12. Generalizzazione: proprietà Caratteristiche ortogonali: • generalizzazione totale se ogni occorrenza dell’entità padre è un’occorrenza di almeno una delle entità figlie, parziale altrimenti; • esclusiva se ogni ocorrenza dell’entità padre è al più un’occorrenza di una delle entità figlie, sovrapposta altrimenti. 12
  • 13. Generalizzazione: esempi Persona Persona Uomo Donna Studente Lavoratore Totale ed esclusiva Parziale e sovrapposta Studente Uomo Donna Né studente Sia studente né lavoratore sia lavoratore 13 Lavoratore
  • 14. Generalizzazione: esempi Personale Cittadino Dipendente Esterno Cacciatore Pescatore Totale ed esclusiva Parziale e sovrapposta Pescatore Dipendente Esterno Né cacciatore Sia né pescatore cacciatore sia pescatore 14 Cacciatore
  • 15. Generalizzazione: esempi Parziale: possono esistere esterni generici che non sono né legali, né ingegneri, né economisti ma non interessa una sottoclasse ad hoc. Esterno (p,e) Legale Ingegnere Economista 15
  • 16. Generalizzazione: esempi Sovrapposta: possono esistere ingegneri con competenze di meccanica, elettronica e logistica. Le tre qualifiche non si escludono. Ingegnere (p,s) Logistico Meccanico Elettronico 16
  • 17. Generalizzazione: esempi Personale Codice_fiscale Cognome Indirizzo (t,e) Non docente Docente (t,e) (p,e) Tecnico Ammin.vo Ordinario Associato Ricercatore 17
  • 18. Sottoinsieme Caso particolare di generalizzazione con una sola entità figlia. La generalizzazione è sempre parziale ed esclusiva. ENTITÀ ENTITÀ 18
  • 19. Esempio finale ER ANNI RUOLO CORRENTE CODICE NOME (11,N) (1,N) SQUADRA GIOCATORE CITTA’ HA MILITATO IN (1,1) PUNTEGGIO APPARTENENZA CODICE NOME RUOLO IDEALE STAGIONE (1,N) NOME SERIE 19