Olá pessoal nesta Quick vamos continuar a ver conceitos e criação de Views

 

O que é View?

                São objetos que pertencem a um banco de dados, definida por declarações de Selects, ou seja, view é uma visão de uma ou mais tabelas, com todos ou alguns campos de determinadas tabelas.

 

Vantagens de se criar View

 

• Uma view pode ser utilizada, por exemplo, para retornar um valor baseado em um identificador de registro.

• Aumentar a segurança dos mesmos e definir políticas de acesso em nível de tabela e coluna. podem ser configurados para mostrar colunas diferentes para diferentes usuários do banco de dados.

• Pode ser utilizada com um conjunto de tabelas que podem ser unidas a outros conjuntos de tabelas com a utilização de join’s ou union.

 

Criando View

 

Vamos enfim criar a nossa primeira view, para isso selecione no Database Explorer a opção View e tecle Ctrl + N.

Nesta View iremos selecionar todos os pedidos de acordo com a data do dia de hoje, ou seja, queremos saber quais são os pedidos do dia de hoje. Coloque a seguinte instrução na tela que se abre:

 

CREATE VIEW DATAPEDIDO(

IDPEDIDO,

IDCLIENTE,

VALOR,

DATA)

AS

select IDPEDIDO, IDCLIENTE, VALOR, data FROM PEDIDO

Where data = current_date;

 

                Pressione a tecla F9 clique em commit, logo depois escolha a opção Data e perceba que ele selecionou todos os pedidos com a data de hoje.

                Ou seja, ele criou uma View da tabela pedido só com estes dados, o Delphi entendi uma View como um DataSet, assim podemos pegar todos estes dados.

 

 

Lendo uma View no Delphi

                Crie uma nova Aplicação no Delphi e salve-a na nossa pasta SA, Adicione no nosso formulário um SqlConnection da paleta DBExpress, crie uma nova conexão,eu estou utilizando o Delphi 2010, já possui um drive nativo para o Firebird. Na propriedade ConnectionName coloque o nome da conexão.

 

                Adicione então um SqlDataSet da paleta DBExpress e mude a propriedade SqlConnection para

o nome do componente SqlConnection, colocado anteriormente. Dê um clique na propriedade CommandText e abrirá a seguinte tela:

 



                Podemos perceber que a nossa view DATAPEDIDO, está lá com as nossas tabelas. Coloque a seguinte instrução Sql: Select * from DATAPEDIDO e dê OK.

 

 

                Adicione em nosso formulário um DataSetProvider da Paleta Data Access e mude a propriedade DataSet parta SqldataSet1, depois coloque um ClientDataSet da paleta Data Access também e mude a propriedade ProviderName para DataSetProvider1, coloque enfim um DataSource da paleta Data Access e mude a propriedade DataSet para ClientDataSet1 e um DBGrid e mude a propriedade DataSource para DataSource1.

 

                Selecione o componente ClientDataSet e mude a propriedade Active dele para True e execute

a aplicação e veja como ficou nosso DBGrid na figura a seguir:

 



                Mas seria interessante se pudéssemos saber o nome do cliente e não o código, retorne então

no IbExpert e vamos fazer essa alteração.

                Uma view não pode ser alterada no Firebird, por isso recorte a instrução SQL e feche a view logo depois com a view DATAPEDIDO selecionada tecle Ctrl + Del para deletarmos a mesma, logo em seguida tecle Ctrl + N para criarmos uma nova view e coloque a instrução Sql:

 

CREATE VIEW DATAPEDIDO(

NOME,

IDPEDIDO,

DATA,

VALOR)

AS

select

CLI.nome,

ped.idpedido,

ped.data,

ped.valor

from pedido ped Inner Join cliente cli on cli.idcliente = ped.idcliente

Where DATA = current_date;

 

Ok, fizemos um join para buscarmos o valor do campo nome na tabela de cliente. Compile essa

view e veja como ele se demonstra no Delphi.

 

 

Vou ficando por aqui, veja na próxima Quick veremos o Query Builder.

 

Um abraço

 

Rubens Antunes



Leia também