Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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: tipi di dati primitivi
Entity Data Model: Ereditarietà
molteplicità dell'estremità dell'associazione
funzione dichiarata dal modello
vincolo di integrità referenziale