Aproveite seu banco de dados
Muitos programadores não sabem, mas bancos de dados são muito mais que tabelas sem vida. Existe muita inteligência por trás delas esperando para serem usadas. Confira aqui um pouco sobre isso.
Muitos programadores não sabem, mas bancos de dados são muito mais que tabelas sem vida. Existe muita inteligência por trás delas esperando para serem usadas. Confira aqui um pouco sobre isso.
Bancos de dados deixaram há muito de ser simplesmente um repositório de informações usados para, no máximo, organizar registros de tal forma que posteriormente pudessem ser indexados e/ou recuperados de alguma forma. Hoje eles são ferramentas poderosas nas tomadas de decisões dentro das empresas que, aproveitando-se da grande quantidade de dados lá existentes, extraem análises de vários tipos para executarem os próximos movimentos e ações em seus mercados.
Mas o banco de dados por sí não opera milagres. É necessária a presença de um profissional conhecedor de suas ferramentas e entranhas para tirar dele tudo aquilo que é possível. Este profissional normalmente conhecido por DBA (Database Administrator) é a peça fundamental neste processo.
Por outro lado, os desenvolvedores de software mesmo não sendo especialistas em bancos de dados como os DBA's, podem (e devem) aproveitar um pouco do que é oferecido por estas ferramentas para criar aplicações mais rápidas, mais enxutas e mais “limpas”, aproveitando funções existentes mas que na maioria das vezes são esquecidas no momento do desenvolvimento. Sobre isso que vamos falar hoje: aproveitamento de funções de bancos de dados.
Obs: neste artigo usarei exemplos com o banco de dados MySQL e a linguagem PHP. Entretanto com toda a certeza eles podem ser usados também com outras bases e linguagens de forma semelheante.
Somando valores, e concatenando campos
Com uma frequência impressionante, precisamos somar valores vindos de uma base de dados. Para fazer isso dentro do código do programa, podemos ter:
| $Rst = mysql_query("SELECT valor FROM tabela",$conexao);
while($valor=mysql_fetch_row($Rst)){ $resultado = $resultado + $valor[0]; } print $resultado; |
Mas, que tal assim:
| $Rst = mysql_fetch_row(mysql_query("SELECT SUM(valor) FROM tabela", $conexao));
print $Rst[0]; |
Hmmm... de 5 linhas para duas? Mas como?
O “segredo” está na função SUM usada na segunda instrução. Ela simplesmente soma os valores do campo e reduz um laço dentro do código. Com isso temos mais eficiência, velocidade e código limpo.
Um outro exemplo interessante pode ser visto quando, por exemplo, precisamos concatenar (unir) dois campos. Para criar uma tabela no código, faríamos assim:
|
Esta função simplesmente pega a informação de data e hora do servidor e insere no campo que deseja (neste exemplo, em data). Mas cuidado; se o servidor está com a data/hora erradas, o valor que será inserido também estará errado. Assim é interessante manter o servidor com horário sempre sincronizado com time servers existentes na Internet.
Além disso, em alguns momentos precisamos saber em que semana estamos do ano ou ainda quantas semanas faltam para o fim do ano. Ao invés de complexos códigos de linguagem, podemos usar a base de dados para nos informar este resultado rapidamente. Por exemplo, em que semana do mês estamos agora?
Aqui foi usada a função WEEK que retorna o número da semana de uma determinada data. Neste caso, a data informada é “hoje” pois usamos como parâmetro de data a função now() que, como já apresentado anteriormente, é a data atual do servidor.
Outra tarefa comum com datas é a soma de dias em uma data específica. Pode parecer simples mas como o formato de data é diferente de formatos numéricos e strings, muitas vezes o resultado está errado e não sabemos porquê.
A forma mais simples é novamente deixar o banco de dados trabalhar por você. Então para acrescentar, por exemplo, dez dias à data atual, fazemos:
|

Space do autor

Estudo comparativo entre banco de dados IBM Informix e Microsoft SQL

1
0
Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!