Firebird

Disponível somente no TrabalhosFeitos
  • Páginas : 8 (1843 palavras )
  • Download(s) : 0
  • Publicado : 5 de abril de 2011
Ler documento completo
Amostra do texto
Introdução a Stored Procedures e Triggers no Firebird
Por Bill Todd, Borland Developers Conference San Diego 2000

Traduzido e adaptado com autorização do autor por: Alessandro Cunha Fernandes, Comunidade Firebird, Julho de 2002

Uma stored procedure é um programa escrito numa linguagem própria para procedures e triggers do Firebird que é armazenado como parte do banco de dados. Storedprocedures podem ser chamadas por aplicações cliente ou por outras stored procedures ou triggers. Triggers são quase a mesma coisa que stored procedures exceto pelo modo como são chamadas. Triggers são chamadas automaticamente quando uma alteração em uma linha da tabela ocorre. Este artigo examina primeiro as stored procedures e logo depois as triggers. Como você poderá ver a maioria das coisas queserão ditas sobre stored procedures se aplicarão também às triggers.

Vantagens do uso de Stored Procedures
A maior vantagem do uso de stored procedures é a redução de tráfico na rede. Já que as stored procedures são executadas pelo Firebird na máquina servidora de banco de dados, você pode utiliza-las para mover grande parte do seu código de manipulação de dados para o servidor. Isto elimina atransferência de dados do servidor para o cliente, pela rede, para a manipulação e reduzir tráfico é aumentar performance, particularmente em uma WAN ou em qualquer conexão de baixa velocidade. Stored procedures aumentam a performance de outra forma também. Você pode utilizar querys para fazer muitas das coisas que podem ser feitas com stored procedures mas uma query tem uma grande desvantagem. Cadavez que a aplicação cliente envia um comando SQL para o servidor o comando tem que ser “parsed”, ou seja, analisado gramaticalmente, submetido ao optimizador para formulação de um plano de execução. Stored procedures são analisadas , optimizadas e armazenadas em uma forma executável no momento em que são adicionadas ao banco de dados. A partir do momento que uma stored procedure não tem que seranalisada e optimizada cada vez que é chamada, ela é executada mais rapidamente que uma query equivalente. Stored procedures podem também executar operações muito mais complexas que uma simples query. Se mais de uma aplicação irá acessar o banco de dados, as stored procedures podem também economizar tempo de manutenção e desenvolvimento já que qualquer aplicação poderá chama-la. A manutenção é maisfácil porque você pode alterar a stored procedure sem ter que alterar ou mesmo recompilar cada aplicação cliente. Finalmente, stored procedures tem uma grande importância na segurança do banco de dados uma vez que elas podem acessar tabelas que o usuário não tem o direito de faze-lo. Por exemplo, suponha que um usuário precise rodar um relatório que mostra o total de salários por departamento enível salarial. Embora estas informações venham da tabela de salários dos empregados você não quer que este usuário tenha acesso aos salários individuais de todos os empregados. A solução é escrever uma stored procedure que extraia da tabela de salários as informações resumidas que o relatório precisa e dar direitos de

leitura à stored procedure para a tabela de salários. Você pode então dardireito ao usuário de executar a stored procedure. O usuário não precisa ter direitos sobre a tabela de salários.

Quando você deve usar Stored Procedures?
A resposta curta é, sempre que você puder. Não existem desvantagens em se usar stored procedures. Existem apenas duas limitações. Primeiro, você tem que ser capaz de passar qualquer informação variável para a stored procedure como parâmetros oucoloca-las em uma tabela que a stored procedure possa acessar. Segundo, a linguagem de escrita de stored procedures e triggers pode ser muito limitada para operações mais complexas.

Usando o comando CREATE PROCEDURE
Stored procedures são criadas através do comando CREATE PROCEDURE que tem a seguinte sintaxe:
CREATE PROCEDURE NomedaProcedure RETURNS AS BEGIN END

Os parâmetros de...
tracking img