Em informática, processamento de linguagem natural e tradução de máquinas, uma sub -linguagem é a linguagem de um domínio restrito, particularmente um domínio técnico. Em termos matemáticos, "um subconjunto das sentenças de um idioma forma uma sub -linguagem dessa linguagem, se for fechada sob algumas operações do idioma: por exemplo, se quando dois membros de um subconjunto forem operados, como por e ou porque, o resultante também é um membro desse subconjunto ". Este é um termo específico para o que na maioria dos estudos linguísticos é encaminhada a uma variedade ou registro de idiomas.
O termo sub -idioma também é usado para denotar uma linguagem de computador que é um subconjunto de outro idioma. Um sub -idioma pode ser restrito sintaticamente (aceita um sub -intergrante do idioma original) e/ou semanticamente (o conjunto de resultados possíveis para qualquer programa é um subconjunto dos possíveis resultados no idioma original).
Por exemplo, o Algol 68S foi um subconjunto de Algol 68 projetado para possibilitar escrever um compilador de passagem única para esta sub-língua.
As declarações SQL (linguagem de consulta estruturada) são classificadas de várias maneiras, que podem ser agrupadas em sub -idiomas, geralmente: uma linguagem de consulta de dados (DQL), uma linguagem de definição de dados (DDL), uma linguagem de controle de dados (DCL) e uma manipulação de dados de manipulação de dados Idioma (DML).
Na teoria do banco de dados relacional, o termo "subblanguage", usado pela primeira vez para esse fim por E. F. Codd em 1970, refere -se a uma linguagem de computador usada para definir ou manipular a estrutura e o conteúdo de um sistema de gerenciamento de banco de dados relacional (RDBMS). As sublenias típicas associadas aos RDBMs modernas são QBE (consulta pelo exemplo) e SQL (linguagem de consulta estruturada). Em 1985, Codd encapsulou seu pensamento em doze regras que todo banco de dados deve satisfazer para ser verdadeiramente relacionado. A quinta regra é conhecida como regra abrangente de sub -linguagem de dados e afirma:
A relational system may support several languages and various modes of terminal use (for example, the fill-in-the-blanks mode). However, there must be at least one language whose statements are expressible, per some well-defined syntax, as character strings, and that is comprehensive in supporting all of the following items:Data definitionView definitionData manipulation (interactive and by program)Integrity constraintsAuthorizationTransaction boundaries (begin, commit, and rollback)