Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
LA PROGETTAZIONE LOGICA Seconda parte
LA PROGETTAZIONE CONCETTUALE Seconda parte
Progettazione concettuale
Progettazione concettuale
DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un’ organizzazione, in modo: Semplice;
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
Progettazione Concettuale: Il modello Entità-Relazioni
4 – Progettazione – Introduzione e Modello E-R
5 – Progettazione Concettuale
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
L’uso dei database in azienda
ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI
teoria … e pratica con Microsoft Access
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
LA PROGETTAZIONE LOGICA
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Metodologie e Modelli di Progetto
Basi di dati 2002 EER Vogliamo aumentare lespressività degli Entity Model EER: Entity Model Esteso.
Modello E-R Generalizzazioni
Progettazione di una base di dati
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
Partizionamento/accorpamento di concetti
Modello E-R Generalizzazioni
Esercitazione di Basi di Dati
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
LA PROGETTAZIONE DELLE BASI DI DATI
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
SQL (IV) Data Definition Language/ Data Manipulation Language.
Progettazione di una base di dati Progettazione logica (modello relazionale)
Progettazione Concettuale:
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Progettazione concettuale di basi di dati: introduzione e modello ER
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Diagramma delle Classi
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Progettazione di una base di dati relazionale Vincoli.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Progettazione di una base di dati relazionale Terza forma normale.
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
Descrizione del modello EA con uno schema (parziale) EA Compito 1 di laboratorio: Progetto e realizzazione di una base dati per gestire la documentazione.
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
15/12/2014Atzeni-Ceri-Fraternali-Paraboschi-Torlone, Basi di dati, Capitolo 8 1 (0,1) (0,N) (1,1) (0,1) (1,1) (1,N) (0,N) (1,N) (1,1) Città Telefono Nome.
Eprogram informatica V anno.
Cloud informatica V anno.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Progettazione concettuale Castagnozzi Savino Ciaramello Massimo Emiliano Galeazzi Federico Guerriero Lorenzo Macauda Giorgio.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Transcript della presentazione:

Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo

Grado di una relazione Grado di una relazione: numero di entità partecipanti Socio Campo Prenota Grado=2 Fornitura Prodotto Fornitore Grado=3 Beneficiario

Relazioni ricorsive Una entità può essere in relazione con se stessa. In tal caso si utilizzano esplicitamente nomi di ruolo per chiarire la partecipazione L’entità impiegato partecipa alla relazione sovrintende sia nel ruolo di responsabile che in quello di subordinato. Impiegato sovrintende responsabile subordinato

Un esempio di progetto Vogliamo progettare il modello E-R per un database di una azienda. Supponiamo di aver raccolto ed analizzato i requisiti in una fase precedente. I principali requisiti sono qui elencati: L’azienda è organizzata in dipartimenti. Ogni dipartimento ha un identificativo e un nome univoco; un impiegato gestisce il dipartimento. Il dipartimento può avere più sedi dislocate sul territorio. Un dipartimento gestisce un numero variabile di attività identificabili univocamente; ciascuna attività ha inoltre un nome e si svolge in un unico luogo. Per ciascun impiegato si desidera tenere traccia di varie informazioni anagrafiche. Si desidera tenere traccia dei rapporti gerarchici del personale. Da un punto di vista organizzativo ciascun impiegato è assegnato ad un dip. Può lavorare su vari progetti, non necessariamente gestiti dal suo dipartimento E’ necessario inoltre tenere traccia dei famigliari di ciascun dipendente per motivi fiscali.

Lo schema E-R del database aziendale 1 Lavora_in Nome_Dip Ndip Nome Stip Sedi Cognome Impiegato Dipartimento Data_n 1 1 Dirige CF Indirizzo Data_ini 1 Sovrintende età Resp. N Controlla 1 Subord. N 1 Lavora_su M imparentato N N Ore_lav Progetto Famigliare Sede Nprog Nome_Prog Nome Sesso N_data Grado_p

Vincoli strutturali sulle relazioni Le relazioni possono avere vincoli che limitano le combinazioni delle entità partecipanti. I vincoli dipendono dal contesto, cioè dalla realtà che la relazione rappresenta. Cardinalità: specifica il numero di istanze di relazione cui le istanze di entità possono partecipare. Partecipazione:specifica se l’esistenza di una istanze di entità dipende dal suo essere in relazione con un’altra istanze di entità.

Cardinalità Le cardinalità vengono espresse normalmente come 1:1, 1:N, M:N. 1:1(uno a uno), alla relazione partecipa una singola istanze di entità per ciascuna delle 2 entità partecipanti 1:N(uno a molti), alla relazione possono partecipare, per una singola istanze di entità di una delle entità partecipanti, svariate istanze dell’altra entità. M:N(molti a molti), vale anche il viceversa della precedente definizione E1 E2 E1 E2 E1 E2

Cardinalità: Impiegato Dipartimento 1 N M Progetto Famigliare In un Dipartimento possono lavorare svariati impiegati 1 Impiegato Lavora in 1 solo Dipartimento Impiegato Dipartimento Progetto Famigliare CF Data_n Nome Cognome Indirizzo Ndip Nome_Dip Nprog Nome_Prog Sede Sovrintende Resp. Subord. Controlla Lavora_in Dirige imparentato Lavora_su 1 N M Sesso N_data Grado_p Stip Data_ini Ore_lav età 1 impiegato dirige 1 dip. Ad 1 progetto possono lavorare svariati impiegati 1 impiegato può lavorare su vari progetti

Linea spessa: partecipazione totale Si considerano due tipi di partecipazione: totale e parziale. Partecipazione totale -> dipendenza esistenziale. Ogni occorrenza di entità partecipa alla relazione Es.: I requisiti dichiarano che un progetto (una occorrenza della entità Progetto) deve essere gestito da un dipartimento, altrimenti non ha senso che esista. Partecipazione parziale -> Una occorrenza di entità può partecipare alla relazione. Es.: Un impiegato può essere direttore di un dipartimento, ma non necessariamente. Dipartimento Progetto Controlla 1 N Linea spessa: partecipazione totale

Osservazioni sulla notazione Esistono notazioni alternative per la rappresentazione dei vincoli. Si possono rappresentare per ogni entità il numero minimo e massimo di entità partecipanti. N.b. (min=0 partecipazione parziale, min >0 partecipazione totale). Dipartimento (0,N) Controlla (1,1) Progetto

Relazioni con grado > 2 Possono esistere relazioni ternarie (>3 molto improbabili). Molti sistemi reali non consentono di “mappare” relazioni con grado > 2. E’ pertanto necessario rappresentare la relazione ternaria utilizzando relazioni binarie. Questa operazione però può causare perdita di informazione se non condotta con attenzione.

Relazioni con grado > 2 F_nome Quantità Id_prod Fornitura Prodotto Fornitore Id_prod Beneficiario F_nome Quantità N 1 N 1 B_nome Fornitore FF SP Prodotto Fornitura N FB 1 Beneficiario B_nome

Gerarchie ISA Rappresentano legami logici tra una entità E (padre) e una o più entità E1, E2, ..,EN (figli). Il padre è più generale dei figli che sono considerabili specializzazioni. ISA : IS-A -> “è un” Es.: Un liceale è uno studente; un universitario è uno studente. Impiegato ISA Stip_annuo Costo_orario Dipendente Contrattista

Parziale e sovrapposta Gerarchie ISA Generalizzazione totale  ogni occorrenza della classe padre è una occorrenza di almeno una delle figlie Generalizzazione esclusiva  ogni occorrenza della classe padre è al più una sola occorrenza di una classe figlia Persona Parziale e sovrapposta Persona Totale ed esclusiva ISA ISA Lavoratore Studente Uomo Donna Studente lavoratore

Considerazioni sul modello E-R Va costruito dopo una adeguata attività di raccolta di requisiti. Consente una descrizione ad alto livello dei dati. Aiuta a chiarire ulteriormente i requisiti Consente di esplicitare numerosi vincoli E’ soggettivo: numerose scelte sono possibili e vanno adeguatamente ponderate. Se costruito in modo adeguato consente la mappatura immediata nel modello logico relazionale. N.b. E’ comunque necessario procedere a raffinamenti e verifiche (normalizzazione).

Progettazione concettuale Riorganizzare tutti gli elementi per definire un modello astratto della base di dati. Il modello è un documento ufficiale di riferimento per i committenti di comunicazione verso i progettisti della fase successiva di progettazione logica.

Astrazione Procedimento mentale che permette di Astrazione per evidenziare alcune proprietà (significative) escluderne altre (non rilevanti) Astrazione per classificazione aggregazione generalizzazione

Astrazione per classificazione Vengono individuate proprietà comuni in un insieme di oggetti, esistenti nella realtà. Il risultato è una classe di oggetti; ciascun oggetto è detto istanza o esemplare.

Astrazione per aggregazione A partire da una o più classi si genera una nuova classe. Le classi di partenza diventano componenti o proprietà della nuova classe. Differenze: Classificazione: si parte da un elenco di oggetti Aggregazione: si parte da un elenco di classi In entrambi i casi si arriva a produrre una nuova classe.

Aggregazione debole/stretta Debole: gli elementi costitutivi e l’entità principale hanno vita propria ed esistono individualmente. Esempio: gli elementi di un computer come il processore, la memoria e il disco fisso possono esistere indipendentemente dalla loro presenza all’interno di un computer. In questo caso la relazione tra questi elementi è lasca. Stretta: gli oggetti costitutivi non hanno vita propria, ma solo come elementi dell’entità contenitore. Esempio: l’entità Persona e l’entità CartaDiIdentità. Una carta di identità svincolata da una persona fisica non ha senso, quindi l’aggregazione tra questi due elementi è di tipo stretto.

Aggregazione per generalizzazione Una classe è definita come unione di un insieme di classi. Le generalizzazioni possono essere di due tipi: Totale/Parziale. Quando ogni occorrenza dell’entità padre è un’occorrenza di almeno una delle entità figlie, la generalizzazione è considerata totale, altrimenti è parziale. Esclusiva/Sovrapposta. Quando ogni occorrenza dell’entità padre è al massimo un’occorrenza di una delle entità figlie, altrimenti è sovrapposta.

Generalizzazioni Per esempio: l’entità Persona è una generalizzazione delle entità Uomo e Donna Per esempio: Professionista è una generalizzazione delle entità Ingegnere, Medico e Avvocato Vice versa: Uomo e Donna sono specializzazioni dell’entità Persone, …

Generalizzazione: un esempio Persone generalizzazione uomini donne

Generalizzazioni Generalizzazioni: rappresentano legami logici tra una entità E e una o più entità E1,…,En E: padre E1,…,En: figli E è più generale rispetto a E1,…,En, nel senso che le comprende come caso particolare E è generalizzazione di E1,…,En E1,…,En sono specializzazioni dell’entità E

Generalizzazioni Ogni istanza di una entità figlia è anche un’ istanza dell’entità padre Per esempio: un’ istanza dell’entità Avvocato è anche un’ istanza dell’entità Professionista

Generalizzazioni Ogni proprietà dell’entità padre (attributi, identificatori, relazioni e altre generalizzazioni) è anche una proprietà delle entità figlie Per esempio: se l’entità Persona ha attributi Cognome ed Età, anche le entità Uomo e Donna possiedono questi attributi Per esempio: l’identificatore di Persona è un identificatore valido anche per le entità Uomo e Donna (ereditarietà)

Generalizzazioni Per entità figlie, le proprietà ereditate non vanno rappresentate esplicitamente Codice fiscale Cognome Persona Età Uomo Donna Situazione militare

Generalizzazioni classificazioni per le generalizzazioni: Una generalizzazione è totale se ogni occorrenza della classe padre è una occorrenza di almeno una delle entità figlie, altrimenti è parziale La generalizzazione tra Persona e le entità Uomo e Donna è totale La generalizzazione tra Veicolo e le entità Automobile e Bicicletta e parziale Veicolo Automobile Bicicletta

Generalizzazioni classificazioni per le generalizzazioni: Una generalizzazione è esclusiva se ogni occorrenza della classe padre è al più una occorrenza di una delle entità figlie, altrimenti è sovrapposta La generalizzazione tra Veicolo e le entità Automobile e Bicicletta è esclusiva La generalizzazione tra persona e le entità Studente e Lavoratore è sovrapposta

Generalizzazioni Le generalizzazioni sovrapposte possono essere trasformate in generalizzazioni esclusive Aggiungere una o più entità figlie, per rappresentare i concetti che costituiscono le “intersezioni” delle entità che si sovrappongono Per esempio: aggiungere l’entità StudenteLavoratore

Generalizzazioni Una stessa entità può essere coinvolta in più generalizzazione diverse Posso esserci generalizzazioni su più livelli (una gerarchia)

Gerarchie ISA Astrazioni per generalizzazione Gerarchie ISA (is a) (è un)

Un esempio

Modello Entità-Relazione Costrutto Cardinalità minima Numero Nome Nome (0,N) (1,1) Appartenenza Generalizzazione Costrutto base Attributo Cardinalità massima (0,1) Composizione Attributo composto (1,1) (0,N) (1,N) (1,N) Padre Entità Relazione Figlia (0,N) (0,N) (2,N) Partecipazione Cardinalità massima Cardinalità minima

Lo schema E-R del database aziendale 1 Lavora_in Nome_Dip Ndip Nome Stip Sedi Cognome Impiegato Dipartimento Data_n 1 1 Dirige CF Indirizzo Data_ini 1 Sovrintende età Resp. N Controlla 1 Subord. N 1 Lavora_su M imparentato N N Ore_lav Progetto Famigliare Sede Nprog Nome_Prog Nome Sesso N_data Grado_p

Cardinalità e identificatori (0,1) (1,1) Direzione Codice Cognome (1,N) Telefono (0,1) (1,N) Impiegato Afferenza Dipartimento Stipendio (0,N) (1,1) Nome Data afferenza Età Partecipazione Composizione Nome (1,N) Data inizio (1,N) Città Budget Progetto Sede Numero civico (0,1) Indirizzo Via CAP Data consegna

Fine

Introduzione alle basi di dati Informatica Introduzione alle basi di dati

Modello Entità-Relazione Attributi: Descrivono le proprietà elementari di entità o relazioni che sono di interesse ai fini dell’applicazione Per esempio: Cognome, Stipendio e Età sono possibili attributi dell’entità Impiegato Data e Voto sono possibili attributi della relazione Esame tra Studente e Corso

Modello Entità-Relazione Attributi: Un attributo associa a ciascuna occorrenza di entità o di relazione un valore appartenente a il dominio del attributo Dominio: i valori ammissibili per l’attributo

Modello Entità-Relazione Attributi: Voto Data esame Matricola Nome Studente Esame Corso Anno di corso Anno di iscrizione

Modello Entità-Relazione Attributi composti: Può risulta comodo raggruppare attributi che presentano affinità nel loro significato e uso L’insieme di attributi che si ottiene in questa maniera viene detto attributo composto

Modello Entità-Relazione Attributi composti: Per esempio: raggruppare Via, Numero civico e CAP per formare l’attributo composto Indirizzo Nome Età Sesso Persona Via Indirizzo Numero civico CAP

Modello Entità-Relazione Direzione Codice Cognome Telefono Impiegato Afferenza Dipartimento Stipendio Nome Data afferenza Età Partecipazione Composizione Nome Data inizio Città Budget Progetto Sede Numero civico Indirizzo Via CAP Data consegna

Altri costrutti: cardinalità Vengono specificate per ciascuna partecipazione di entità a una relazione Descrivono il numero minimo e massimo di occorrenze di relazione cui una occorrenza dell’entità può partecipare Cioè: quante volte, in una relazione tra entità, un’occorrenza di una di queste entità può essere legata a occorrenze delle altre entità coinvolte

Altri costrutti: cardinalità Per esempio: relazione Assegnamento tra le entità Impiegato e Incarico Impiegato (nel contesto della relazione Assegnamento): cardinalità minima=1, massima=5 Un impiegato può partecipare a un minimo di una occorrenza e a un massimo di cinque occorrenze della relazione Assegnamento Assegnamento Impiegato Incarico (1,5) (0,50)

Altri costrutti: cardinalità Incarico (nel contesto della relazione Assegnamento): cardinalità minima=0, massima=50 Un certo incarico può partecipare o a nessuna occorrenza oppure a 50 occorrenza al massimo della relazione Assegnamento Cioè: un certo incarico può non essere assegnato a nessun impiegato oppure può essere assegnato a un numero di impiegati <=50 Assegnamento Impiegato Incarico (1,5) (0,50)

Altri costrutti: cardinalità Nella maggiore parte dei casi, è sufficiente utilizzare solo tre valore: Zero Uno Il simbolo N: indica genericamente un intero maggiore di uno

Altri costrutti: cardinalità Cardinalità massima - esempio 3: Cardinalità massima pari a N per entrambe le entità coinvolte Relazione molti a molti Prenotazione Turista Viaggio (1,N) (0,N)

Altri costrutti: cardinalità Cardinalità minima: Zero: la partecipazione dell’entità relativa è opzionale Uno: la partecipazione dell’entità relativa è obbligatoria

Altri costrutti: cardinalità Cardinalità massima: Uno: la partecipazione dell’entità relativa associa a una occorrenza dell’entità una sola occorrenza (o nessuna) dell’altra entità che partecipa alla relazione Molti: c’è una associazione con un numero arbitrario di occorrenze dell’altra entità

Altri costrutti: cardinalità Cardinalità massima - esempio 1: Ogni persona può essere residente in una e una sola città Ogni città può non avere residente oppure ha molti residenti Relazione uno a molti Residenza Persona Città (1,1) (0,N)

Altri costrutti: cardinalità Cardinalità massima - esempio 2: Cardinalità massima pari a uno per entrambe le entità coinvolte: definisce una corrispondenza uno a uno tra le occorrenze di tali entità Relazione uno a uno Vendita Ordine Fattura (0,1) (1,1)

Altri costrutti: cardinalità Cardinalità minime: partecipazione obbligatoria per tutte le entità coinvolte è raro Perché quando si aggiunge una nuova occorrenza di entità, spesso non sono note (o non esistono) le corrispondenti occorrenze delle entità a essa collegate

Altri costrutti: cardinalità Cardinalità degli attributi: Possono essere specificate per gli attributi di entità o relazioni Descrivono il numero minimo e massimo di valori dell’attributo associati a ogni occorrenza di entità o relazione Nella maggior parte dei casi, la cardinalità di un attributo è (1,1) (e viene omessa)

Altri costrutti: cardinalità Cardinalità degli attributi: Il valore per un certo attributo può essere nullo: minimo della cardinalità=0 Possono esistere diversi valori di un certo attributo per una occorrenza: massimo della cardinalità=N (0,N) Targa automobile Persona Cognome Numero patente (0,1)

Altri costrutti: cardinalità Cardinalità degli attributi: Cardinalità minima=0: l’attributo è opzionale (l’informazione potrebbe essere non disponibile) Cardinalità minima=1: l’attributo è obbligatorio Cardinalità massima=N: l’attributo è multivalore

Altri costrutti: identificatori delle entità Descrivono i concetti (attributi e/o entità) che permettono di identificare univocamente le occorrenza delle entità In molti casi, uno o più attributi di una entità sono sufficienti a individuare un identificatore Un identificatore interno (o chiave)

Altri costrutti: identificatori delle entità Per esempio: non possono esistere due automobili con la stessa targa Targa può essere un identificatore interno per l’entità Automobile Targa Automobile Modello Colore

Altri costrutti: identificatori delle entità L’entità Persona con gli attributi Nome, Cognome, Indirizzo e Data di nascita Un identificatore interno per Persona può essere Nome, Cognome e Data di nascita Data di nascita Persona Cognome Nome Indirizzo

Altri costrutti: identificatori delle entità Alcune volte gli attributi di una entità non sono sufficienti a identificare univocamente le sue occorrenze Matricola Nome Anno iscrizione Iscrizione Studente Università Città (1,N) Indirizzo (1,1) Cognome

Altri costrutti: identificatori delle entità Due studenti iscritti a università diverse possono avere lo stesso numero di matricola Per identificare univocamente uno studente serve, oltre al numero di matricola, anche la relativa università Matricola Nome Anno iscrizione Iscrizione Studente Università Città (1,N) Indirizzo (1,1) Cognome

Altri costrutti: identificatori delle entità Un identificatore corretto per l’entità studente è costituito dall’attributo Matricola e dall’entità Università Questa identificazione è resa possibile dalla relazione Iscrizione tra Studente e Università Matricola Nome Anno iscrizione Iscrizione Studente Università Città (1,N) Indirizzo (1,1) Cognome

Altri costrutti: identificatori delle entità Una entità E può essere identificata da altre entità solo se tali entità sono coinvolte in una relazione cui E partecipa con cardinalità (1,1) Identificatore esterno: quando l’identificazione di una entità è ottenuta utlizzando altre entità

Altri costrutti: identificatori delle entità Identificatori delle entità: considerazione generali Un identificatore può coinvolgere uno o più attributi, ognuno dei quali deve avere cardinalità (1,1) Una identificazione esterna può coinvolgere una o più entita, ognuna delle quali deve essere membro di una relazione alla quale l’entità da identificare partecipa con cardinalità (1,1)

Altri costrutti: identificatori delle entità Identificatori delle entità: considerazione generali Una identificazione esterna può coinvolgere una entità che è a sua volta identificata esternamente, purché non vengano generati cicli di identificazione esterne Ogni entità deve avere almeno un identificatore, ma ne avere in generale più di uno

Cardinalità e identificatori (0,1) (1,1) Direzione Codice Cognome (1,N) Telefono (0,1) (1,N) Impiegato Afferenza Dipartimento Stipendio (0,N) (1,1) Nome Data afferenza Età Partecipazione Composizione Nome (1,N) Data inizio (1,N) Città Budget Progetto Sede Numero civico (0,1) Indirizzo Via CAP Data consegna

Fine