Novidades da versão 5.0 do MySQL

A MySQL AB, juntamente com a O'Reilly, realizou a terceira MySQL Users Conference entre os dias 18 e 21 de abril de 2005, em Santa Clara, Califórnia nos Estados Unidos. O evento contou com a participação de mais de 1300 pessoas vindas dos mais variados países do mundo, inclusive 5 brasileiros. Neste evento a MySQL AB anunciou a versão 5.0 beta do MySQL, bem como os novos recursos presentes nesta versão. Neste artigo apresento e discuto os principais recursos que compõe o MySQL 5.0, bem como as suas aplicações.

Os primeiros recursos adicionados ao MySQL 5.0 são as stored procedures, funções e triggers, sendo que o MySQL implementa stored procedures segundo o padrão ANSI 2003. Este recurso permite criar procedimentos para a manipulação da base de dados, padronizando o acesso a estes dados. Por exemplo, pode-se criar uma rotina para a inserção de clientes, que faça a checagem do endereço do mesmo em uma outra tabela antes da gravação, onde este ficaria armazenado no servidor podendo ser acionado pelos usuários. As aplicações poderiam invocar este procedimento de inserção de cliente, garantindo que a verificação do endereço sempre seria aplicada, com isto as aplicações mantêm-se simples, enquanto toda a complexidade dos dados é encapsulada pelo servidor de banco de dados.

Além das stored procedures, os usuários podem criar suas próprias funções, como por exemplo, uma função para formatar dinheiro em moeda brasileira, por exemplo. Com isto é possível estender o conjunto de funções do MySQL de forma a facilitar a manipulação dos seus dados.

A utilização de triggers torna possível a codificação de ações a serem executadas em função de um determinado evento que venha a ocorrer no seu banco de dados. Por exemplo, todas as vezes que um cliente for removido um trigger pode ser acionado para que sejam removidos todos os registros de compras associados à este cliente. Ou ainda, criar mecanismos para realizar a consistência dos dados antes que os mesmos sejam inseridos na base de dados.

Outro recurso da versão 5.0 é o chamado INFORMATION_SCHEMA, onde foram adicionadas algumas tabelas para armazenar o dicionário de dados do banco, isto é, colunas, tabelas, procedures, dentre outros. Desta forma, pode-se pesquisar o dicionário de dados através de comandos SELECT nas tabelas que compõe o INFORMATION_SCHEMA , assim como ocorre em outros SGBDs (Sistemas Gerenciadores de Banco de Dados).

O MySQL 5.0 também apresenta  uma implementação para cursores (server-side cursors), views, incluindo views atualizáveis, o novo tipo de dados BIT e os índices R-tree. A partir desta versão, o MySQL alterou o seu mecanismo de erro e warning de forma que, ao escrever uma informação no banco de dados, será feita uma checagem destes dados, e caso haja inconsistência o comando não será executado e retornará um erro. Para ilustrar o que ocorria nas versões anteriores, considere a inserção de um texto de 50 caracteres numa coluna com tamanho máximo de 20 caracteres. Neste cenário, o MySQL completava a execução deste comando ocasionando o truncamento do texto em 20 caracteres, e um warning era emitido pelo servidor. Na versão 5.0, este mesmo comando falharia e nenhuma informação seria inserida. É possível manter o comportamento apresentado pelas versões anteriores através de parâmetros de configuração do servidor.

Estes recursos permitem a utilização do MySQL para aplicações que demandam recursos avançados do banco de dados. Esta versão encontra-se em beta, mas a previsão é que a mesma esteja disponível para utilização em ambientes de produção no primeiro quadrimestre de 2006. Para aqueles que queiram avaliar os novos recursos podem fazer o download do MySQL 5.0 através do www.mysql.com/downloads.

Abraços e até breve!

Eber M. Duarte.