Páginas

sábado, 2 de fevereiro de 2013

[PL/MySQL] - Conceitos Gerais


Bom pessoal, este post é uma introdução a uma nova série de posts para falar de PL/MySQL no qual é a Linguagem de Programação nativa deste SGBD. Para isso iniciaremos falando dos conceitos gerais para podermos avançar nestes novos estudos.

Conceitos Gerais e a Linguagem PL/MySQL

Os sistemas de gerenciamento de banco de dados mais modernos, e o MySQL não é uma exceção, utilizam recursos baseados em sub-rotinas, normalmente referenciadas como: triggers (gatilhos) e stored procedures (procedimentos armazenados). É pertinente fazer uma descrição de programa, rotina, sub-rotina, procedimento e gatilho. As seguintes descrições estão acordo com a Wikipédia - Enciclopédia Livre:

  • Programa - (programa de computador) é a sequência completa de instruções a serem executadas por computador, tanto em código-fonte (escrita em linguagem simbólica) como em código executável (já convertido em linguagem de maquina). No caso do MySQL, é um programa aplicativo, destinado a auxiliar o usuário na realização de determinadas tarefas ou atividades pessoais.
  • Rotina - é um conjunto de instruções relativas a um calculo ou função num programa. Os termos rotina, sub-rotina, procedimento, função e macro são equivalentes, diferindo mais quanto a contexto, técnicas e formas de uso.
  • Sub-rotina - é a parte de uma rotina que realiza uma tarefa específica num programa de computador.
  • Procedimento - (em relação a um stored procedure) é similar à descrição de sub-rotina, mas a partir da linguagem SQL é uma coleção de comandos armazenados que serão utilizador para gerenciar um banco de dados toda vez que uma determinada tarefa necessite ser realizada.
  • Função - (reflete um stored function) é similar à descrição de sub-rotina e por conseguinte à descrição de procedimento.
  • Gatilho - é similar à descrição de procedimento, sendo um recurso associado a um banco de dados, que é executado automaticamente quando uma condição preestabelecida é satisfeita. É utilizado para associar um procedimento armazenado a um evento de banco de dados.
Tanto uma sub-rotina do tipo stored procedure como uma sub-rotina do tipo trigger ou uma sub-rotina do tipo function são códigos de programa executados dentro do programa de gerenciamento de banco de dados baseados numa linguagem estruturada de script. Uma linguagem estruturada é tipicamente baseada em três formas clássicas de operação, denominadas: sequência, decisão e laços de repetição.

A Linguagem estruturada procedimental usada pelo MySQL pode ser conhecida pela Sigla PL(Procedural Language), a qual possui scripts de procedimentos compatíveis com a sintaxe SQL:2003  para uso e definição de stored procedures. O formato adotado para o programa MySQL é semelhante ao do gerenciador de banco de dados DB2 da IBM. Futuramente pode se tornar compatível com os padrões PL/SQL da Oracle, Transact-SQL (conhecida também por T-SQL) da Microsoft e Sybase.

A Linguagem PL/SQL da Oracle (a primeira linguagem de script criada para auxiliar o gerenciamento do banco de dados) tem sua estrutura muito semelhante à linguagem ADA, que foi desenvolvida a partir da linguagem PASCAL, a mesma usada no ambiente Borland Delphi e que muitos profissionais erroneamente afirmam não ser mais usada. Apesar da influência das linguagens ADA e PASCAL, a PL/SQL tem estrutura própria e particular.

Infelizmente no mercado de banco de dados, apesar do esforço da entidade ISO em procurar estabelecer um padrão de trabalho único para a linguagem SQL, fornecedores apresentam recursos particulares que fogem do padrão proposto, tornando sua ferramenta muitas vezes incompatível com as outras que utilizam a mesma linguagem. Neste caso, existe uma só linguagem SQL e uma série de dialetos incompatíveis entre si que são usados no mercado. O mesmo ocorre com as muitas PLs existentes. A linguagem PL do MySQL, como o próprio programa MySQL, possui algumas características particulares, diferenciando-a dos outros fornecedores.

Bom pessoal, espero que está nova série de posts sobre PL/MySQL possa ajudar DBAs e Desenvolvedores a conhecer melhor essa linguagem e utiliza-lá da melhor maneira possível  como esse primeiro post é mais uma introdução dos conceitos de PL, qualquer dúvida sobre o texto favor comentar no post. Que a Graças e Paz estejam com vocês.

Nenhum comentário:

Postar um comentário