O que é PL / SQL Good For?

PL / SQL é a linguagem para usar quando escrever o código que reside no banco de dados. No artigo a seguir, você verá situações diferentes em que você vai encontrar PL / SQL útil.

Usando gatilhos de banco de dados

UMA gatilho é um evento dentro dos DBMS que pode causar algum código para executar automaticamente. Existem quatro tipos de gatilhos de banco de dados:

  • gatilhos no nível de tabela pode iniciar a atividade antes ou depois de um INSERT, UPDATE, ou DELETE evento. Estes são mais comumente usados ​​para rastrear as informações do histórico e as mudanças de banco de dados, para manter os dados redundantes sincronizados, ou para melhorar a segurança, impedindo certas operações ocorra.
  • gatilhos no nível de vista são muito úteis. UMA Visão é uma instrução SQL armazenado que os desenvolvedores podem consultar como se fosse uma tabela de banco de dados em si. Ao colocar gatilhos INSTEAD OF em uma visão, o INSERT, modificar e apagar os comandos podem ser aplicados à vista independentemente da sua complexidade, porque o gatilho INSTEAD OF define o que pode ser feito para a vista.
  • gatilhos no nível de banco de dados pode ser ativado na inicialização e desligamento. Por exemplo, quando o banco de dados é iniciado, você pode querer testar a disponibilidade de outros bancos de dados ou serviços da Web. Antes de um desligamento do banco de dados, você pode querer avisar outros bancos de dados e serviços Web que o banco de dados vai offline.
  • gatilhos no nível de sessão pode ser utilizado para armazenar informação específica. Por exemplo, quando um usuário faz ligado ou desligado, você pode querer executar um código que contém preferências e carrega-los do usuário na memória para acesso rápido. Quando a sessão termina, um gatilho pode salvar as preferências para uso futuro.

Scripting com velocidade

Ao escrever código, a capacidade de digitar uma parte do código e executá-lo sem primeiro salvá-lo no banco de dados é útil. Oracle oferece essa capacidade, que é suportado por todos os IDEs PL / SQL.

código de manter do lado do servidor

A maioria dos código PL / SQL é armazenado como unidades de programa no servidor. Uma aplicação típica tem muitas linhas de código.

Alguns programadores, particularmente os desenvolvedores baseados na Web que trabalham nos ambientes J2EE ou .NET, tente escrever a maior parte do código no servidor de aplicativos em Java (para desenvolvedores J2EE) ou VB.NET (para desenvolvedores .NET). Isso não é uma boa prática. Em um aplicativo de banco de dados, grande parte da lógica é dedicado a recuperar e atualizar informações. Se o código para realizar esta tarefa reside em um servidor de aplicação, deve enviar um pedido ao banco de dados através de uma rede. Em seguida, o banco de dados deve processar o pedido e envia as informações de volta em toda a rede para a aplicação de processo. Como as redes e os computadores são agora muito rápido, você pode pensar que isso levaria apenas frações de segundo. Embora este seja o caso de um único pedido, se uma aplicação muito complexo requer milhões ou mesmo centenas de milhões de interacções com o banco de dados, multiplicando o número de interacções por até fracções de um segundo pode levar a um desempenho muito pobre.

Mesmo operações relativamente simples que requerem apenas algumas solicitações de banco de dados pode ser problemático se o aplicativo está sendo acessado por centenas, milhares ou dezenas de milhares de usuários simultaneamente. É muito mais difícil construir um aplicativo de banco de dados intensivos sem o uso de codificação do lado do servidor que é para escrever todo o código para ser executado em um servidor de aplicativos.

Um dos argumentos contra escrever código do lado do servidor é que a aplicação não vai ser portátil (não podem ser movidos de uma plataforma para outra). No entanto, a maioria das organizações que usam o Oracle têm sido usá-lo por um tempo muito longo (dez anos ou mais) e não está contemplando uma mudança para uma plataforma diferente. Além disso, o desenvolvimento da Web está atualmente em um estado de fluxo rápido. Organizações mudam frequentemente entre .NET, J2EE e outros ambientes para o seu desenvolvimento aplicativo baseado na Web.

Ambos os ambientes .NET e J2EE estão em fluxo, como bem. No ambiente J2EE, o padrão da indústria para o desenvolvimento Web ou menos um ano atrás era criar páginas JavaServer (JSPs). Atualmente, o padrão da indústria é trabalhar no ambiente / Struts JSP. No próximo ano ou assim, JavaServer Faces (JSF) provavelmente vai se tornar o padrão da indústria. Portanto, o código escrito no meio-tier corre um alto risco de necessitar de ser reescrito no futuro.

código do lado do servidor é executado mais rápido, é mais fácil de manter e teste, e é menos suscetível a alterações do que o código colocado na camada intermediária. Portanto, a criação de porções significativas de um pedido no banco de dados é uma abordagem melhor.

Há uma série de lugares onde você pode escrever código que seus aplicativos podem usar:

  • Porções de aplicações: PL unidades de programa / SQL pode retornar um conjunto de valores (funções), ou rotinas PL / SQL pode executar operações de banco de dados (procedimentos). Estas funções e procedimentos pode ser chamado por outras funções e procedimentos ou (no caso de funções) utilizado em instruções SQL. rotinas PL / SQL pode ser tão grande e complexo como você precisa deles para ser. Algumas rotinas complexas podem conter milhares de linhas de código. sistemas inteiros podem conter milhões de linhas de código.
  • Código PL / SQL embutido em vista: A Oracle permite embutir código na vista de banco de dados. O código pode realmente ser localizado em um dos dois lugares na vista. funções de primeira, você pode colocar corretamente trabalhada retornando um valor na parte SELECT de uma instrução SQL para recuperar informações adicionais, que podem ou não fazer parte das tabelas sendo consultadas.
  • Você também pode incorporar PL / SQL em gatilhos INSTEAD OF em uma vista. Esses gatilhos permitem executar INSERT, UPDATE e DELETE operações em visões complexas, com PL / SQL programaticamente manipulação como essas operações devem ser tratados.
  • rotinas de lotes: rotinas de lote executar o código que processa um grande número de registos, ao mesmo tempo. Gerando faturas para cada cliente em um sistema ou processamento de cheques para uma organização inteira são exemplos de rotinas de lote. Estas rotinas são geralmente grandes, complexos e de banco de dados intensivos. Este tipo de rotina deve seguramente ser escrito em PL / SQL.

menu