La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Relazioni Relazione: Associazione o legame logico esistente tra due o più entità SocioCampo Prenota."— Transcript della presentazione:

1 Relazioni Relazione: Associazione o legame logico esistente tra due o più entità SocioCampo Prenota

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

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

4 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: 1.Lazienda è 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. 2.Un dipartimento gestisce un numero variabile di attività identificabili univocamente; ciascuna attività ha inoltre un nome e si svolge in un unico luogo. 3.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 4.E necessario inoltre tenere traccia dei famigliari di ciascun dipendente per motivi fiscali.

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

6 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. 1.Cardinalità: specifica il numero di istanze di relazione cui le istanze di entità possono partecipare. 2.Partecipazione:specifica se lesistenza di una istanze di entità dipende dal suo essere in relazione con unaltra istanze di entità.

7 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 dellaltra entità. M:N(molti a molti), vale anche il viceversa della precedente definizione E1 E2 E1 E2 E1

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

9 Partecipazione 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

10 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 Progetto Controlla (0,N) (1,1)

11 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.

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

13 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 Dipendente Contrattista Stip_annuo Costo_orario

14 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 ISA DonnaUomo Persona ISA Lavoratore Studente Totale ed esclusiva Parziale e sovrapposta Studente lavoratore

15 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).

16 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.

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

18 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.

19 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.

20 Aggregazione debole/stretta Debole: gli elementi costitutivi e lentità 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 allinterno di un computer. In questo caso la relazione tra questi elementi è lasca. Stretta: gli oggetti costitutivi non hanno vita propria, ma solo come elementi dellentità contenitore. Esempio: lentità Persona e lentità CartaDiIdentità. Una carta di identità svincolata da una persona fisica non ha senso, quindi laggregazione tra questi due elementi è di tipo stretto.

21 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 dellentità padre è unoccorrenza di almeno una delle entità figlie, la generalizzazione è considerata totale, altrimenti è parziale. –Esclusiva/Sovrapposta. Quando ogni occorrenza dellentità padre è al massimo unoccorrenza di una delle entità figlie, altrimenti è sovrapposta.

22 22 Generalizzazioni Per esempio: lentità 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 dellentità Persone, …

23 Generalizzazione: un esempio uominidonne Persone generalizzazione

24 24 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 dellentità E

25 25 Generalizzazioni Ogni istanza di una entità figlia è anche un istanza dellentità padre –Per esempio: un istanza dellentità Avvocato è anche un istanza dellentità Professionista

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

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

28 28 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 AutomobileBicicletta

29 29 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

30 30 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 lentità StudenteLavoratore

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

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

33 Un esempio

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

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

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

37 Fine

38 Informatica Introduzione alle basi di dati

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

40 40 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 lattributo

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

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

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

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

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

46 46 Altri costrutti: cardinalità 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 Impiegato Incarico Assegnamento (1,5) (0,50)

47 47 Altri costrutti: cardinalità 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 Impiegato Incarico Assegnamento (1,5) (0,50)

48 48 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

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

50 50 Altri costrutti: cardinalità Cardinalità minima: –Zero: la partecipazione dellentità relativa è opzionale –Uno: la partecipazione dellentità relativa è obbligatoria

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

52 52 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 Persona Città Residenza (1,1) (0,N)

53 53 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 Ordine Fattura Vendita (0,1) (1,1)

54 54 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

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

56 56 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 Persona Targa automobile Numero patente Cognome (0,N) (0,1)

57 57 Altri costrutti: cardinalità Cardinalità degli attributi: –Cardinalità minima=0: lattributo è opzionale (linformazione potrebbe essere non disponibile) –Cardinalità minima=1: lattributo è obbligatorio –Cardinalità massima=N: lattributo è multivalore

58 58 Altri costrutti: identificatori delle entità 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)

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

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

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

62 62 Altri costrutti: identificatori delle entità 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à Studente Università Iscrizione (1,1) (1,N) Nome Indirizzo Città Matricola Cognome Anno iscrizione

63 63 Altri costrutti: identificatori delle entità Identificatori delle entità: –Un identificatore corretto per lentità studente è costituito dallattributo Matricola e dallentità Università –Questa identificazione è resa possibile dalla relazione Iscrizione tra Studente e Università Studente Università Iscrizione (1,1) (1,N) Nome Indirizzo Città Matricola Cognome Anno iscrizione

64 64 Altri costrutti: identificatori delle entità 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 lidentificazione di una entità è ottenuta utlizzando altre entità

65 65 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 lentità da identificare partecipa con cardinalità (1,1)

66 66 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

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

68 Fine


Scaricare ppt "Relazioni Relazione: Associazione o legame logico esistente tra due o più entità SocioCampo Prenota."

Presentazioni simili


Annunci Google