PL/SQL: o que é e quando usar?

AGRADEÇA AO AUTOR COMPARTILHE!

Olá pessoal,

No artigo de hoje vou falar um pouco sobre PL/SQL, a linguagem procedural do Oracle Database.

Todos os SGBDs (Sistemas Gerenciadores de Banco de Dados) que eu conheço possuem uma linguagem de programação própria, que estende comandos e instruções não contempladas em SQL. Como exemplos, podemos citar o Oracle Database, que possui a linguagem PL/SQL, o SQL Server que possui a linguagem Transaction SQL e o DB2 que possui a linguagem SQL PL. Essas linguagens foram criadas para atender a necessidade de se criar programas dentro do próprio banco de dados e são extremamente úteis para executar tarefas de manutenção e para otimizar transações das aplicações que acessam o banco. No meu blog você encontrará vários artigos que usam código PL/SQL dentro destes cenários de manutenção e otimização, como por exemplo:

– Otimizando a performance de aplicações com stored procedures:
http://www.fabioprado.net/2011/09/otimizando-performance-de-aplicacoes.html

- PL/SQL mais rápido: Quando usar CURSORES ou collections (BULK COLLECT em NESTED TABLES)?
http://www.fabioprado.net/2011/05/plsql-mais-rapido-quando-usar-cursores.html

– Recompilando objetos inválidos no Oracle Database:
http://www.fabioprado.net/2011/05/recompilando-objetos-invalidos-no.html

Uma das principais vantagens da linguagem PL/SQL é permitir que você escreva programas que ficam armazenados no banco de dados e que podem ser reutilizados por qualquer aplicação/usuário que acesse o banco. Segundo Thomas Kyte, um dos maiores especialistas em Oracle do mundo, PL/SQL é a forma mais rápida de processar dados em Bancos de Dados Oracle. Entenda “processar dados” como não apenas submeter instruções SQL (UPDATE, SELECT, INSERT e DELETE) para o banco, mas sim, efetuar transações que consistem de várias estruturas de decisão, loops e outros tipos de processamento.

Como qualquer linguagem de programação, em PL/SQL é possível escrever código bom ou ruim. Para evitar enganos e não escrever código ruim, que também podem ser cometidos em qualquer outra linguagem, é necessário entender bem a estrutura do código PL/SQL, os detalhes de sua implementação e até mesmo como ele interage com código SQL.

Bom, hoje eu paro por aqui! Se quiserem conhecer melhor a linguagem PL/SQL e escrever código bem estruturado e com boa performance, eu ensino estes itens no meu treinamento de PL/SQL.

[]s

AGRADEÇA AO AUTOR COMPARTILHE!

2 Comentários

Fábio Prado
2

Alessandro, vc comentou sobre um ponto que normalmente gera discussão em minhas aulas. Concordo com vc que regras de negócio não devem ficar no Banco de Dados (BD).

Além de ser DBA, também sou desenvolvedor e também aprendi desde a época da faculdade que as regras de negócio não devem ficar no BD, porém, quando vc tem aplicações críticas, que exigem alta performance, vale a pena vc pensar se não vale a pena vc deixar de fazer algo que “filsoficamente” é correto e mais bonito, em benefício da performance da aplicação! As aplicações com stored procedures são muito rápidas. Já trabalhei no Submarino e em diversos outros lugares em que a performance das aplicações era crucial para o negócio, nestes casos sempre usavámos stored procedures. Veja o artigo que escrevi em meu blog sobre o desempenho de stored procedures: http://www.fabioprado.net/2011/09/otimizando-performance-de-aplicacoes.html.

Att,

Fábio Prado

Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">