Das operações efectuadas na aplicação o acesso a dados numa base de dados é normalmente uma das operações mais demoradas. Daí que a manipulação da informação é bastante importante de modo a reduzir ao máximo o tempo de resposta. As operações efectuadas no servidor são em regra mais rápidas e a correcta definição das tabelas e vistas é bastante importante.
Outro dos pontos importantes quando se trabalha com um servidor é o espaço que cada tabela ocupa. Devem ser utilizados os mínimos de recursos de modo a que a nossa base de dados não aumente/ocupe o espaço ocupado desnecessariamente. Assim sendo é normal utilizar números ao invés de texto por estes ocuparem mesmos espaço.
O seguinte exemplo mostra como utilizar funções no servidor de modo a preparar uma vista para utilizar no VB. O objectivo é substituir os números dos meses (1 a 12) pela descrição abreviada. Esta operação pode ser efectuada usando UDF's (user defined function) que são adicionadas no SQL server.
Para adicionarmos uma nova UDF só temos de clicar com o botão direito sobre a pasta Functions e seleccionar Add New - Inline Function. De seguida adicionamos a seguinte função:
ALTER FUNCTION dbo.strMonth(@MonthNumber int)
RETURNS varchar(3)
AS
BEGIN
/* Declaração da variável */
DECLARE @myMonth varchar(3)
Set @myMonth = ''
/* Verificação da qual é o resultado */
Select @myMonth = CASE
WHEN @MonthNumber = 1 THEN 'Jan'
WHEN @MonthNumber = 2 THEN 'Fev'
WHEN @MonthNumber = 3 THEN 'Mar'
WHEN @MonthNumber = 4 THEN 'Abr'
WHEN @MonthNumber = 5 THEN 'Mai'
WHEN @MonthNumber = 6 THEN 'Jun'
WHEN @MonthNumber = 7 THEN 'Jul'
WHEN @MonthNumber = 8 THEN 'Ago'
WHEN @MonthNumber = 9 THEN 'Set'
WHEN @MonthNumber = 10 THEN 'Out'
WHEN @MonthNumber = 11 THEN 'Nov'
WHEN @MonthNumber = 12 THEN 'Dez'
ELSE '' END
/* Retorna o resultado */
RETURN @myMonth
END
Para a utilizar na nossa view (no servidor) é apenas necessário:
SELECT id, mes, strMonth(mes) AS MesAbreviado FROM Tabela
Este é um pequeno exemplo de utilização de UDF's. Estas funções simplificam bastante o trabalho do programador uma vez que são feitas no próprio servidor e não no código da aplicação. Para alterar as letra para maiúsculas, por exemplo, era apenas necessário alterar esta pequena função sem que seja necessário alterar o código.
PS: Como sempre, qualquer dúvida, comentário ou correcção ao artigo é sempre bem vinda!
Subscrever:
Enviar feedback (Atom)
0 comentários:
Enviar um comentário