Condividi tramite


Entità e relazioni (EDM)

Entity Data Model (EDM) è un modello entità-relazione (ER). In un'applicazione line-of-business (LOB) tipica la struttura dei dati è astratta durante le fasi iniziali di progettazione dell'applicazione. La progettazione deve specificare in che modo l'applicazione conterrà i vari tipi di dati in una struttura logica. Ordini, clienti, righe dell'ordine, indirizzi, fornitori, prodotti e dipendenti, ad esempio, saranno rappresentati da strutture dei dati, molte delle quali molto complesse. Dopo l'identificazione dei concetti elementari, le entità sono le specifiche formali per tutti i dettagli della struttura dei dati.

Un tipo di dati Customer, ad esempio, è progettato per contenere dettagli come nome del contatto, nome della società, indirizzo e un identificatore univoco per ogni cliente. Un tipo Order può contenere la data dell'ordine, le righe dell'ordine, la scadenza, un identificatore univoco e altri dati. Come la maggior parte degli altri modelli di dati, EDM rappresenta la connessione logica tra un ordine e il cliente che effettua l'ordine come relazione.

Nel diagramma seguente sono illustrati alcuni dettagli della struttura dei dati, che vengono modellati utilizzando i concetti di entità e relazioni in base a quanto specificato da EDM. Nel diagramma le entità sono rappresentate da rettangoli e le relazioni da linee tra i rettangoli. Il testo nei rettangoli rappresenta le proprietà delle entità.

Diagramma Customer, Order, OrderLines

In EDM sono denominati entità solo i concetti di livello principale. Nel diagramma Customer è un concetto di livello principale ed è modellato come entità. In EDM l'entità Customer è derivata dall'oggetto EntityType di base.

Gli elementi dati subordinati sono denominati proprietà delle entità. L'entità Customer ha diverse proprietà: CustomerID, CompanyName, ContactName, Address e Phone. Ognuna di queste proprietà è associata a un tipo di dati. CustomerID è ad esempio di tipo stringa, come CompanyName e ContactName.

Nel diagramma la proprietà Address è diversa dalle altre proprietà in quanto dispone di una struttura interna che contiene diversi tipi di informazioni. In EDM una struttura dei dati nidificata, ad esempio questo indirizzo, può essere modellata come entità, quindi utilizzare un'associazione e una proprietà di navigazione per la connessione all'entità in cui funge da proprietà.

I tipi di dati Customer e Address sono simili in quanto hanno entrambi strutture interne composte da più proprietà. Per quanto riguarda la semantica e la funzionalità, un oggetto Customer è diverso da un oggetto Address. È probabile che Customer sia l'unità delle operazioni di query o di modifica dei dati e della persistenza. Un oggetto Address è invece sempre presente in un tipo di dati Customer e non viene in genere utilizzato in modo indipendente.

Le relazioni tra entità sono modellate utilizzando le associazioni. Un'associazione è la relazione tra entità, ad esempio la relazione tra un oggetto Customer e un oggetto Order. A ogni oggetto Order deve corrispondere un oggetto Customer. Order e Customer sono correlati logicamente ma esistono come entità indipendenti. Per ulteriori informazioni sulla relazione di associazione, vedere Associazione (EDM).

Anche la relazione in cui un'entità controlla logicamente l'altra, ad esempio un oggetto Order e i relativi elementi OrderLine, è rappresentata dalla relazione di associazione. Ogni oggetto Order è composto da almeno un oggetto OrderLine. Se un cliente (oggetto Customer) ordina prodotto n. 49, ad esempio, le informazioni sull'articolo ordinato sono costituite da una riga dell'ordine (oggetto OrderLine). L'oggetto OrderLine non può esistere senza l'oggetto Order.

Vedere anche

Concetti

Implementazione di entità (EDM)
Implementazione delle associazioni (EDM)

Altre risorse

Specifica di schemi e mapping (Entity Framework)