O que é uma linguagem de definição de dados?
Uma linguagem de definição de dados é uma linguagem de programação ou script de computador que define uma estrutura de dados. Por definição, essas linguagens precisam fazer três coisas - criar, excluir e modificar estruturas de dados. O que eles fazem fora dessas três áreas é irrelevante, desde que realizem essas três tarefas. Qualquer linguagem pode ser uma linguagem de definição de dados, mas o termo é mais comumente aplicado aos esquemas da linguagem de consulta estruturada (SQL) e da linguagem de marcação extensível (XML).
Quando o termo linguagem de definição de dados entrou em uso, foi aplicado a um modelo feito pela Conferência para Linguagens de Sistemas de Dados (Codasyl). O processo definiu duas áreas principais de desenvolvimento da estrutura de dados - a linguagem de definição de dados criou a estrutura real do banco de dados e a linguagem de manipulação de dados definiu os métodos de colocação de dados na estrutura. Desde então, esses dois termos se expandiram e se tornaram termos genéricos para os processos que abrangem.
Os termos genéricos agora se aplicam a todos os idiomas que executam suas funções originais. SQL e XML executam todas as tarefas necessárias e fornecem muitos recursos que estavam ausentes no modelo original porque ainda não haviam sido inventados. Outros idiomas também fornecem esses recursos; eles são usados com muito menos frequência.
Para ser uma linguagem de definição de dados, a linguagem precisa fornecer três funções. A primeira função principal é a construção de estruturas de dados; Basicamente, essas são tabelas projetadas para manter grupos específicos de informações. Eles geralmente aparecem como uma planilha, mantendo páginas de informações com referências cruzadas. Por exemplo, a planilha pode ter uma lista dos clientes de uma empresa em um lado e uma lista dos produtos disponíveis na parte superior. A folha teria uma lista de quando esses clientes compraram produtos individuais na parte da mesa.
A próxima função principal é a exclusão de estruturas de dados. Não é o mesmo que a exclusão de um banco de dados ou arquivo inteiro; é um processo muito mais seletivo. Pode remover uma página específica de informações ou uma parte inteira de uma matriz multidimensional. Em qualquer um dos casos, os dados devem ser removidos sem afetar outras estruturas de dados, mesmo que todos sejam mantidos no mesmo arquivo.
A última função principal é a alteração de uma estrutura de dados. Esta é uma categoria ampla que abrange muitas situações. Uma tabela pode ter colunas adicionadas ou renomeadas ou um banco de dados inteiro pode precisar ser dividido em dois bancos de dados diferentes. Em qualquer situação, eles devem ser alterados de forma que nenhuma informação seja perdida, destruída ou criada durante o processo. Isso impede que informações anômalas entrem no sistema de dados.