Vous êtes sur la page 1sur 5

BANCO DE DADOS

Functions e Packages
Produção: Equipe Pedagógica Gran Cursos Online

FUNCTIONS E PACKAGES

Esta aula trata de alguns mecanismos utilizados para otimizar a performance


das aplicações e sistemas que acessam bancos de dados.
Functions: são blocos de código SQL que ficam armazenados no servidor do
banco de dados e que podem ser chamados (invocados) a qualquer momento
pelas aplicações ou por outros blocos.
Embora sejam semelhantes às stored procedures, são diferentes pelos obje-
tivos aos quais são utilizadas.
São utilizadas em pequenas operações, auxiliares, e que são chamadas em
processos de transações.

“Enquanto as Stored Procedures encarregam-se da lógica de negócios, as Func-


tions ficam responsáveis por tratamento de textos e variáveis, formatação, opera-
ções repetitivas e rotineiras e que possam ser compartilhadas para outras Stored
Procedures ou aplicações.” (Postgre SQL – Guia do Programador)

Pequenos programas armazenados no servidor (banco de dados):


• Escritos em SQL e chamados pelas aplicações;
• Encapsulam tarefas dentro de um único comando;
• Aceitam parâmetros de entrada;
• Retornam dados OBRIGATORIAMENTE;
• Podem ser usadas como parte de uma expressão.

ANOTAÇÕES

1
www.grancursosonline.com.br
BANCO DE DADOS
Functions e Packages
Produção: Equipe Pedagógica Gran Cursos Online

Exemplos de criação de uma functions:

Chamando uma function:

Excluindo uma function:


ANOTAÇÕES

2
www.grancursosonline.com.br
BANCO DE DADOS
Functions e Packages
Produção: Equipe Pedagógica Gran Cursos Online

Packages:
• É uma coleção de objetos agrupados logicamente;
• Podem armazenar subprogramas, cursores, declarações, tipos e também
variáveis;
• Subprogramas: stored procedures e function;
• São como bibliotecas, pois são armazenados no banco de dados e acessa-
dos pelas aplicações sempre que necessário.

Vantagens:
• Modularidade: packages permitem encapsular tipos relacionados logica-
mente, itens e subprogramas em um módulo. Isso ajuda e muito no desen-
volver de aplicativos;
• Ocultação de informações: é possível “esconder” detalhes da implementa-
ção especificando quais tipos, itens e subprogramas serão públicos (visí-
veis e acessíveis) ou privados (escondido e inacessível). Isso simplifica a
manutenção, além de proteger a integridade dos packages;
• Melhor performance: quando chamamos um subprograma empacotado
pela primeira vez, todo o package é carregado na memória; assim, não há
a necessidade de busca no disco toda vez que o package for utilizado.

Estrutura de um package:
• Spec: interface para o package. Nela são declarados os tipos, variáveis,
constantes, exceções, cursores e subprogramas (Stored Procedures e
Functions) que poderão ser referenciados a partir de partes externas ao
package;
ANOTAÇÕES

3
www.grancursosonline.com.br
BANCO DE DADOS
Functions e Packages
Produção: Equipe Pedagógica Gran Cursos Online

• Body: onde definimos o código para os subprogramas e as consultas para


os cursores. Pode ou não haver um body dentro de um package: se a espe-
cificação do package não contém subprogramas e nenhum código privado,
então não precisamos ter um corpo para o package.

Criação da especificação:

Criação do BODY:

4
www.grancursosonline.com.br
BANCO DE DADOS
Functions e Packages
Produção: Equipe Pedagógica Gran Cursos Online

Chamando um package:

Para excluir um package:

Este material foi elaborado pela equipe pedagógica do Gran Cursos Online, de acordo com a
aula preparada e ministrada pela professora Fernanda Hondo Tedesque.

ANOTAÇÕES

5
www.grancursosonline.com.br

Vous aimerez peut-être aussi