Procedimental vs. não procedimento idiomas em DBMS
linguagem de consulta processual (PQL) *
foco: Especifica as etapas exatas e a ordem das operações para recuperar dados.
*
como funciona: * Usa comandos como "Open", "Close", "Fetch" e "Loop" para controlar o acesso aos dados.
* Exige que o usuário defina explicitamente o processo de recuperação, incluindo manipulação e iteração de dados.
*
Exemplo: `` `SQL
- Recupere os nomes e salários dos funcionários, classificação por salário
Abrir cursor_employee;
Buscar cursor_employee em funcionário_name, salário;
While (busca cursor_employee em funcionário_name, salário) loop
Se salário> 50000, então
Imprimir funcionário_name, salário;
Fim if;
Loop final;
Fechar cursor_employee;
`` `
linguagem de consulta não procedural (NPQL) *
foco: Descreve o resultado desejado sem especificar as etapas exatas.
*
como funciona: * Usa declarações declarativas que expressam o resultado desejado sem detalhes processuais.
* O sistema determina o plano de execução ideal para recuperar os dados.
*
Exemplo: `` `SQL
- Recupere os nomes e salários dos funcionários, classificação por salário
Selecione funcionário_name, salário
De funcionário
Onde salário> 50000
Ordem por salário;
`` `
Diferenças -chave: | Recurso | Linguagem de consulta processual | Linguagem de consulta não procedural |
| --- | --- | --- |
|
Especificidade | Define explicitamente cada etapa | Descreve o resultado desejado |
|
Control | O usuário controla o acesso e a manipulação de dados | O sistema determina o plano de execução |
|
complexidade | Pode ser complexo e difícil de escrever | Mais simples e mais intuitivo de usar |
|
flexibilidade | Altamente flexível, permitindo manipulação complexa de dados | Menos flexível, limitado a consultas específicas |
|
desempenho | Pode ser mais lento devido ao controle explícito | Pode ser mais rápido devido a planos de execução otimizados |
|
Exemplos comuns | COBOL, RPG | Sql, xQuery |
Vantagens e desvantagens: linguagem de consulta processual: *
Vantagens: * Flexibilidade para operações complexas
* Controle de granulação fina sobre o acesso dos dados
*
Desvantagens: * Complexo para escrever e entender
* Menos eficiente do que os não procedimentos
linguagem de consulta não procedural: *
Vantagens: * Mais fácil de escrever e entender
* Mais eficiente devido a planos de execução otimizados
*
Desvantagens: * Menos flexível que os idiomas processuais
* Limitado em operações complexas
Em geral, os idiomas de consulta não procedurais são mais amplamente utilizados em DBMs, principalmente devido à sua simplicidade e facilidade de uso. No entanto, os idiomas processuais ainda são valiosos em situações específicas em que são necessárias manipulação complexa de dados e controle de granulação fina.