Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo SQL Magazine 52 - Construindo Aplicações no Oracle
Artigo da Revista SQL Magazine edição 52.

Oralce
Construindo Aplicações no Oracle
Stored Procedures - Procedures, Functions e Packages – Parte II
Nesta segunda parte do artigo sobre construção de aplicações no Oracle, utilizaremos as funcionalidades vistas no primeiro artigo para construir os famosos pacotes, ou packages como são conhecidos.
Em resumo, packages nada mais são que um mecanismo para agrupar logicamente pequenos programas que possuem uma interdependência.
Esta interdependência não se trata de, por exemplo, uma procedure que depende do resultado da execução de outra. Por outro lado, caso tenhamos uma procedure usada na admissão de um funcionário, essa procedure estará agrupada no mesmo pacote que a procedure de demissão de funcionário.
Apenas é importante salientar que isto não é uma regra, apenas uma boa prática.
O ambiente
O ambiente é o mesmo utilizado na primeira parte do artigo, ou seja, um Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 com o velho e bom esquema de demonstração SCOTT.
Por que usar Packages?
Uma package é um poderoso e importante elemento da linguagem PL/SQL que pode ser utilizado em qualquer projeto de desenvolvimento de aplicação. Mas afinal, o que torna uma package não importante e poderosa?
Posso citar aqui quatro considerações básicas:
1. Facilidade de desenvolvimento e manutenção: através da redução substancial da quantidade de código, utilização das mesmas constantes ou “números mágicos” utilizados em funções similares ou relacionadas e principalmente pela redução dos pontos de falha da aplicação;
2. Melhoria na performance global da aplicação: informações de packages persistentes pode garantir uma melhora significativa no tempo de resposta de consultas através do “cache” de dados estatísticos evitando repetidas consultas à mesma informação. Outro fator que garante esta melhoria é que o gerenciamento de memória do Oracle otimiza o acesso a códigos contidos em packages;
3. Habilidade para suportar “fraquezas”de aplicações ou “packages oracle”: é extremamente simples construir packages utilizando funcionalidades existentes, como nos pacotes oferecidos pelo db oracle. Considere, por exemplo, pacotes oracle como o UTL_FILE ou DBMS_OUTPUT, que foram mal ou parcialmente implementados. Conhecemos muitas falhas nestes pacotes. Ao invés de simplesmente aceitarmos estas “fraquezas”, podemos construir o nosso próprio pacote, corrigindo muitos dos possíveis problemas;
4. Minimização da necessidade de recompilação de códigos: qualquer programa externo a uma package (uma procedure ou function que não estejam na package) podem “chamar” programas listados na package. Caso você altere e recompile a package, o programa externo não é invalidado, evitando a necessidade de recompilação do código.
Antes de iniciarmos o embasamento conceitual e a “mão na massa”, vou lhes dar uma dica que pode facilitar muito sua vida no futuro da aplicação. Veja a Dica 1.
| " |
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Ricardo Rezende
Ricardo Rezende ricardo@devmedia.com.br / ricarezende@gmail.com http://twitter.com/ricarezende DBA Oracle certificado pela Oracle University (DBA 9i track e DBA OCP 10g). IBM Certified Associated em DB2 V9. DBA Oracle na IBM do Brasil em projeto internacional administrando ambiente de produção....



