“View” é uma consulta armazenada que não contêm dados, mas é previamente analisada e otimizada. Considerando um cenário que você possui consultas com diversas tabelas ao mesmo tempo é interessante a utilização deste recurso para ganho de desenho e um do código. De forma mais grotesca a “view” é uma tabela virtual, desta maneira você pode criar índices, fazer relacionamentos com tabelas e utilizar funções nos seus campos.
As sintaxes para manipular a definição de uma view no MYSQL são:

-- Criar uma view
CREATE VIEW NOME_VIEW AS COMANDO_SELECT;
-- Alterar uma view
ALTER VIEW NOME_VIEW AS COMANDO_SELECT;
-- Deletar uma view
DROP VIEW NOME_VIEW;

A utilização da VIEW de acordo com o manual do Mysql possui as seguintes restrições:

1) A instrução SELECT não pode conter uma “subquery” na cláusula FROM;
2) A instrução SELECT não pode se referir ao sistema ou variáveis do usuário;
3) Dentro de uma STORE PROCEDURE, a VIEW não pode se referir a parâmetros ou variáveis locais;
4) A instrução SQL não pode conter parâmetros;
5) A VIEW não pode se referir a uma tabela temporária, e você não pode criar uma VIEW temporária.
6) Todas as tabelas nomeadas na VIEW devem existir no momento da sua criação.
7) Você não pode associar uma TRIGGER a uma VIEW.

O ORDER BY é permitido, mas é ignorado quando na seleção da view é mencionado um ORDER BY.

Diante das informações chegou a hora de colocar a mão na massa para isto, baixe aqui o código para criação da base de dados:

  Tutorial do DER da Vídeo Locadora (4,6 KiB)
Você não tem permissão de fazer download.

(Irá encontrar a imagem do DER e o arquivo do DBDesigner)

Veja a imagem do DER que iremos trabalhar.

DER Locadora de DVD

DER Locadora de DVD

DATE_FORMAT

Vamos utilizar como exemplo a tabela tecliente nela temos o campo DtUltimaAlteracao que vem no formato ano-mes-dia, vamos utilizar uma função do mysql date_format para converter para o formato dia/mês/ano. Tente o seguinte código no seu navegador do Mysql:

SELECT date_format( '2010-07-15', '%d/%m/%Y' ) AS `DtConteudo`

O resultado que terá será: “15/07/2010”

O date_format é uma função do mysql que permite converter a data para o formato que especificar utiliza a seguinte sintaxe:

DATE_FORMAT(data,’formato’)

Principais parâmetros:
%d => dia

%m => mês

%Y => ano

%H => Hora no padrão 24 horas (00..23)

%h => Hora limitada até as 12 (01..12)

%i=>Minutos (00..59)

%j=>Dia do Ano(001..366)

%m=> Mês no format numeric (00..12)

%M=>Mês no formato extenso (January..December)

%a=>Dia da semana abreviado (Sun..Sat)

%b=>Mês abreviado (Jan..Dec)

IF – Estrutura de Decisão

Outro ponto é nosso campo de deleção lógica definido sempre como 0 => Bloqueado ou 1=> Ativo para isto vamos utilizar o IF. Tente o seguinte comando no MySQL:

SELECT if(FgStatus,'Ativo','Bloqueado') AS Situacao FROM tecliente;

Sintaxe:

IF(ARGUMENTO,VALOR_ARGUMENTO_VERDADEIRO,VALOR_ARGUMENTO_FALSO) AS APELIDO_COLUNA

Você pode trabalhar com IF alinhados na sua consulta, mas não aconselho devido a legibilidade do seu código. Tente sempre manter o seu código limpo.

No vídeo veremos uma criação de view para o cliente e para empréstimo. Bom vídeo.

Baixe os scripts aqui:

  Código de Exemplo da View (2,7 KiB)

.


Related Posts with Thumbnails