Che cos’è un linguaggio di definizione dei dati?

Un linguaggio di definizione dei dati è un linguaggio di programmazione o di scripting per computer che definisce una struttura di dati. Per definizione, questi linguaggi devono fare tre cose: creare, eliminare e modificare strutture di dati. Quello che fanno al di fuori di queste tre aree è irrilevante, purché svolgano quei tre compiti. Qualsiasi linguaggio può essere un linguaggio di definizione dei dati, ma il termine è più comunemente applicato agli schemi SQL (structed query language) e XML (Extensible Markup Language).

Quando il termine linguaggio di definizione dei dati è entrato in uso, si applicava a un modello realizzato dalla Conference for Data System Languages ​​(Codasyl). Il processo ha definito due aree principali dello sviluppo della struttura dei dati: il linguaggio di definizione dei dati ha creato la struttura effettiva del database e il linguaggio di manipolazione dei dati ha definito i metodi per posizionare i dati nella struttura. Da allora, questi due termini si sono espansi e sono diventati termini generici per i processi che coprono.

I termini generici ora si applicano a tutte le lingue che svolgono le loro funzioni originali. Sia SQL che XML eseguono tutte le attività richieste e forniscono molte funzionalità che erano assenti dal modello originale perché non erano ancora state inventate. Anche altri linguaggi forniscono queste funzionalità; sono solo usati molto meno spesso.

Per essere un linguaggio di definizione dei dati, il linguaggio deve fornire tre funzioni. La prima funzione principale è la costruzione di strutture dati; fondamentalmente, queste sono tabelle progettate per contenere gruppi specifici di informazioni. Spesso appaiono come un foglio di calcolo, trattenendo pagine di informazioni con riferimenti incrociati. Ad esempio, il foglio potrebbe avere un elenco dei clienti di un’azienda in basso su un lato e un elenco dei prodotti disponibili nella parte superiore. Il foglio avrebbe un elenco di quando quei clienti hanno acquistato singoli prodotti nella parte del tavolo.

La prossima funzione principale è la cancellazione delle strutture dati. Non è la stessa cosa della cancellazione di un intero database o file; è un processo molto più selettivo. Può rimuovere una pagina specifica di informazioni o un’intera porzione di un array multidimensionale. In entrambi i casi, i dati devono essere rimossi senza influenzare altre strutture di dati, anche se sono tutti contenuti nello stesso file.

L’ultima funzione principale è l’alterazione di una struttura dati. Questa è una categoria ampia che copre molte situazioni. A una tabella possono essere aggiunte o rinominate colonne oppure potrebbe essere necessario dividere un intero database in due database diversi. In ogni situazione, devono essere modificati in modo tale che nessuna informazione venga persa, distrutta o creata durante il processo. Ciò impedisce l’ingresso di informazioni anomale nel sistema dati.