DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Artigo SQL Magazine 64 - Utilizando Stored Functions no MySQL

Artigo publicado Revista SQL Magazine 64.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Esse artigo faz parte da revista SQL Magazine edição 64. Clique aqui para ler todos os artigos desta edição

imagem_pdf.jpg

Utilizando Stored Functions no MySQL

Criando, excluindo e aplicando funções definidas pelo usuário no desenvolvimento de sistemas com um banco de dados MySQL

 

Muitas vezes, quando iniciamos o desenvolvimento de uma aplicação para atingir determinado objetivo, não nos atentamos quanto à modularidade dos componentes de software que serão utilizados durante todo o processo de engenharia do sistema. Sabemos muito bem que quanto maior a modularidade dos componentes, maior também o reaproveitamento de código já escrito, seja na aplicação, por meio das melhores práticas do paradigma de orientação a objetos, seja através de funções. O que devemos pensar quando participamos da definição da arquitetura de um novo sistema ou software é tornar as coisas o mais simples possível e assim, mais fáceis.

No caso de aplicações que se conectam a servidores de bancos de dados mais robustos, como no caso do MySQL, administradores de bancos de dados e/ou desenvolvedores de sistemas já podem estar atentos em criar componentes modulares, armazenando programas que retornam ou não um valor em meio à operações do sistema.

Segundo Roger Pressman, modularidade é a independência funcional dos componentes do programa. Cada componente pode ser desenvolvido para desempenhar processamentos específicos, retornar um determinado resultado com base em entradas ou manipulações de dados, tratamento de determinados tipos de informação e até validar dados de acordo  com determinadas regras do negócio. Os componentes são desenvolvidos e estão disponíveis para serem aninhados dentro de outros novos.

A partir da versão 4.1 do MySQL já é possível utilizar as Stored Routines (Stored Procedures e Functions) para dividir o processamento de forma modular.

Neste artigo focaremos apenas na utilização de Stored Functions no MySQL (verifique se a sua versão é superior ou igual à versão 5.0). Mais especificamente, exibiremos como utilizar as funções definidas pelo usuário, as chamadas Stored Functions de maneira modular, buscando agilidade no desenvolvimento de sistemas, economia na escrita de código, colocando a lógica também por conta do banco de dados, dando mais segurança aos componentes que manipulam dados e produzem informações, facilitar a manutenção e minimizar o consumo de banda entre o servidor de banco de dados MySQL e a sua aplicação. Além disso, ao longo deste artigo, estruturaremos juntos, passo-a-passo, um estudo de caso para direcionar todos os exemplos práticos que teremos que explorar as Stored Routines (Stored Functions e Stored Procedures).

 

Stored Routines no MySQL

Stored Routines são programas armazenados dentro do servidor MySQL, obrigatoriamente vinculados a algum banco de dados que podem retornar ou não algum resultado. Stored Routines são as Stored Procedures e as Stored Functions, e podem ser verificadas através do dicionário de dados INFORMATION_SCHEMA, consultando a tabela ROUTINES, como mostra a Listagem 1.

 

Listagem 1. Exibindo as Stored Routines existentes em um servidor MySQL

mysql> SELECT ROUTINE_NAME
    -> FROM INFORMATION_SCHEMA.ROUTINES;
+-----------------------+
| ROUTINE_NAME          |
+-----------------------+
| fn_checa_categoria    |
| fn_data_converte      |
| fn_email              |
+-----------------------+
3 rows in set (0.03 sec)

 

Uma Stored Procedure pode retornar ou não um resultado. Quando invocada através da declaração CALL, executa manipulações em dados ou processa o retorno de dados de tabelas de um ou mais bancos de dados. Dentro destas, podemos utilizar de user variables e local variables para armazenar valores que podemos utilizar mais tarde, dentro do seu processamento. Assim como os tipos de variáveis citados, podemos utilizar também os comandos de transação (START TRANSACTION - COMMIT - ROLLBACK), estruturas condicionais como IF-THEN-ELSE e CASE e tratamento de erros.

Já uma Stored Function sempre e obrigatoriamente retornará um valor para a rotina que a invoca ou outras Stored Routines que a excuta. Sendo assim, uma Stored Function utilizada em meio a expressões podem ser consideradas como constantes, uma função do próprio MySQL ou uma referência a uma coluna de uma tabela. Uma Stored Function não pode ser invocada através da declaração CALL, assim como uma Stored Procedure"

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Wagner Bianchi
Wagner Bianchi é Tecnólogo em Gerenciamento de Bancos de Dados pela Faculdade Infórium de Tecnologia, Pós-Graduando em Administração Estratégica de Empresas (Executivo Jr.) pela Fundação Getúlio Vargas no Minas Business Institute, Consultor em Desenvolvimento de Sistemas pela INFODBA C&T, empresa on...
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03