Share via


Relazioni in Entity Data Model

Una relazione è una connessione logica tra due o più entità. I dati significativi in un'applicazione includono relazioni tra le parti che li costituiscono. Sebbene le relazioni siano essenziali per la modellazione dei dati, il modello di database relazionale non le supporta in modo esplicito. Per implementare alcuni vincoli previsti dalle relazioni vengono invece utilizzate chiavi primarie, chiavi esterne e integrità referenziale.

Entity Data Model (EDM) fornisce invece supporto esplicito per le relazioni nel modello di dati, garantendo pertanto funzionalità di modellazione flessibili. Il supporto delle relazioni si estende alle query EDM, consentendo i riferimenti espliciti e lo spostamento basato sulle relazioni.

EDM supporta un modello di relazione peer-to-peer denominato associazione. Per informazioni, vedere Associazione (EDM).

La necessità delle associazioni è evidente nelle situazioni seguenti: un cliente fa uno o più ordini, ogni ordine contiene dettagli che identificano i prodotti ordinati, i prodotti ordinati sono disponibili da uno o più fornitori e così via.

In EDM le associazioni tra le entità sono specificate negli schemi in cui le entità e le associazioni sono definite.

Caratteristiche delle relazioni

Le relazioni sono caratterizzate da grado, molteplicità e direzione. Negli scenari di modellazione dei dati le relazioni dispongono di grado (unario, binario, ternario o grado n) e di molteplicità (uno-a-uno, uno-a-molti o molti-a-molti). La direzione può essere significativa in alcune associazioni, ad esempio se l'associazione è tra entità dello stesso tipo.

Le caratteristiche delle relazioni sono illustrate nei diagrammi seguenti.

Diagramma delle relazioni unarieDiagramma delle relazioni binarieDiagramma delle relazioni ternarie

Il grado della relazione in ogni diagramma è rappresentato dal numero di rettangoli. Le relazioni sono rappresentate dalle figure a forma di rombo. Le linee tra i rombi e i rettangoli rappresentano la molteplicità delle relazioni. Una linea singola rappresenta una relazione uno-a-uno. Una linea che si dirama in tre segmenti nel punto in cui si connette al tipo rappresenta le numerose entità finali delle relazioni uno-a-molti o molti-a-molti.

Grado

Il grado di una relazione è il numero di tipi tra cui esiste la relazione. Le relazioni più comuni sono di grado binario, ovvero mettono in correlazione due tipi. In una relazione unaria un'istanza di un tipo è correlata a un'altra istanza dello stesso tipo, ad esempio la relazione di dirigente tra un dipendente e un altro dipendente. Una relazione ternaria mette in correlazione tre tipi e una relazione di grado n mette in correlazione un numero qualsiasi (n) di tipi. Le relazioni ternarie e di grado n sono per lo più teoriche. EDM supporta le relazioni unarie e binarie.

Molteplicità

La moltiplicità si riferisce al numero di istanze di un tipo correlate.

Tra un libro e il suo autore esiste, ad esempio, una relazione binaria, dove ogni libro ha almeno un autore. La relazione è specificata tra la classe Book e la classe Author, ma la molteplicità di questa relazione non è necessariamente un libro a un autore. La molteplicità della relazione indica il numero di autori di un libro e il numero di libri che ogni autore ha scritto. Il grado della relazione in questo esempio è binario. La molteplicità della relazione è molti-a-molti.

Direzione

In EDM tutte le relazioni sono di tipo inverso. È possibile spostarsi in un'associazione EDM a partire da qualsiasi entità finale.

Se le entità finali di un'associazione sono entrambe dello stesso tipo, l'attributo relativo al ruolo della proprietà End dell'associazione EDM può essere utilizzato per specificare la direzionalità. Un'associazione tra un dipendente e il suo responsabile è semanticamente diversa dalle due entità finali dell'associazione. Entrambe le entità finali dell'associazione sono dipendenti, ma con attributi Role differenti. Per un esempio in cui viene implementato questo caso utilizzando un vincolo referenziale, vedere Elemento Association (SSDL).

Negli argomenti seguenti sono disponibili ulteriori informazioni sulle relazioni.

Contenuto della sezione

  • Associazione (EDM)
    Vengono descritte le relazioni che modellano le relazioni peer-to-peer.

Vedere anche

Concetti

Tipi EDM (Entity Data Model)
Implementazione di entità (EDM)
Implementazione delle associazioni (EDM)