Condividi tramite


Modello di Dati delle Entità

Entity Data Model (EDM) è un set di concetti che descrivono la struttura dei dati, indipendentemente dalla forma archiviata. L'EDM prende in prestito dal modello Entity-Relationship descritto da Peter Chen nel 1976, ma si basa anche sul modello Entity-Relationship ed estende i suoi usi tradizionali.

L'EDM risolve i problemi che derivano dalla presenza di dati archiviati in molti moduli. Si consideri, ad esempio, un'azienda che archivia i dati in database relazionali, file di testo, file XML, fogli di calcolo e report. Ciò presenta sfide significative nella modellazione dei dati, nella progettazione di applicazioni e nell'accesso ai dati. Quando si progetta un'applicazione orientata ai dati, la sfida consiste nel scrivere codice efficiente e gestibile senza sacrificare l'accesso efficiente ai dati, l'archiviazione e la scalabilità. Quando i dati hanno una struttura relazionale, l'accesso ai dati, l'archiviazione e la scalabilità sono molto efficienti, ma la scrittura di codice efficiente e gestibile diventa più difficile. Quando i dati hanno una struttura di oggetti, i compromessi vengono invertiti: la scrittura di codice efficiente e gestibile comporta un costo di accesso efficiente ai dati, archiviazione e scalabilità. Anche se è possibile trovare il giusto equilibrio tra questi compromessi, si verificano nuove sfide quando i dati vengono spostati da una forma a un'altra. Entity Data Model risolve questi problemi descrivendo la struttura dei dati in termini di entità e relazioni indipendenti da qualsiasi schema di archiviazione. In questo modo la forma archiviata di dati è irrilevante per la progettazione e lo sviluppo di applicazioni. Inoltre, poiché le entità e le relazioni descrivono la struttura dei dati mentre vengono usati in un'applicazione (non nel formato archiviato), possono evolversi man mano che un'applicazione si evolve.

Un conceptual model è una rappresentazione specifica della struttura dei dati come entità e relazioni ed è in genere definita in un linguaggio specifico del dominio (DSL) che implementa i concetti di EDM. Il linguaggio CSDL (Conceptual Schema Definition Language) è un esempio di linguaggio specifico del dominio. Le entità e le relazioni descritte in un modello concettuale possono essere considerate come astrazioni di oggetti e associazioni in un'applicazione. Ciò consente agli sviluppatori di concentrarsi sul modello concettuale senza preoccuparsi dello schema di archiviazione e consente loro di scrivere codice tenendo conto dell'efficienza e della gestibilità. Nel frattempo, i progettisti di schemi di archiviazione possono concentrarsi sull'efficienza dell'accesso ai dati, dell'archiviazione e della scalabilità.

In questa sezione

Negli argomenti di questa sezione vengono descritti i concetti di Entity Data Model. Qualsiasi linguaggio DSL che implementa EDM deve includere i concetti descritti qui. Si noti che il ADO.NET Entity Framework usa CSDL per definire modelli concettuali. Per altre informazioni, vedere Specifica CSDL.

Concetti chiave del modello di dati di entità

Entity Data Model: Namespace

Entity Data Model: tipi di dati primitivi

Entity Data Model: Ereditarietà

fine associazione

molteplicità dell'estremità dell'associazione

set di associazioni

fine del set di associazione

tipo di associazione

tipo complesso

contenitore di entità

chiave di entità

set di entità

tipo di entità

sfaccettatura

proprietà di chiave esterna

funzione dichiarata dal modello

funzione definita dal modello

proprietà di navigazione

proprietà

vincolo di integrità referenziale

Vedere anche