Resumo Banco de Dados
Por: Fran-cielle Marcicano • 10/10/2016 • Trabalho acadêmico • 1.655 Palavras (7 Páginas) • 291 Visualizações
RESUMO E EXEMPLOS
VIEW
Definição: Tabela Virtual
Função: Filtrar tabelas e agrupa las, e proteger certas colunas e simplificar código de porgramação
OBS: Quando o SQL server é desligado a VIEW continua viva.
DEMO...
CRIAR UMA VIEW select * from produto go --criar View create view vwProdutos as select nome as nome_cliente, telefone as tel_cliente, rg as rg_cliente, cpf as cpf_cliente, email as email_cliente, sexo as sexo_cliente from Cliente
CONSULTAR UMA VIEW --consultar view select * from vwProdutos
Resultado da Consulta
-- Observa se que os nomes (alias) das colunas estão conforme atribuído no início
IMG1
Para inserir dados em uma VIEW é necessário que as tabelas de origem aceitem valores nulos pois dependendo da situação nem todos os campos serão preenchidos, ser auto incrementais ou ter um valor padrão (usar constraint default). E para finalizar é necessário saber que quando realizado um INSERT, UPDATE ou DELETE na tabela de origem da view, essa ação vai refletir automaticamente na VIEW.
ALTERAR UMA VIEW Para alterar devemos utilizar o comando ALTER VIEW, estruturar como feito em um comando de criação e no final especificar o campo que deseja filtrar -- Alterar uma View Alter view vwProdutos as select nome as nome_cliente, telefone as tel_cliente, rg as rg_cliente, cpf as cpf_cliente, email as email_cliente, sexo as sexo_cliente
from Cliente
where nome = ('daniela martin')
DEMO
IMG2
VIEW COM INNER JOIN (exemplo_lista_5) 1 – Crie uma view com o nome vw_produto_marca que retorne o nome do produto e a marca do produto. CRIAR create view vw_produto_marca as select dbo.produto.nome as vw_nome_prod, dbo.marca.nome as vw_nome_marca
from dbo.Produto inner join dbo.Marca on dbo.Produto.cod_marca = dbo.Marca.cod_marca CONSULTAR select * from vw_produto_marca DEMO
IMG3
2 – Crie uma view chamada vw_cliente_vendedor que retorne o nome do vendedor e todas as informações de clientes que esse vendedor atendeu.
create view vw_cli_vend as select dbo.Vendedor.nome as vw_nome_vendedor, dbo.cliente.cod_cliente as vw_cod_cliente, dbo.cliente.nome as vw_nome_cliente, Cliente.Telefone as vw_Telefone, Cliente.rg as RG, Cliente.cpf as vw_CPF, Cliente.Email as vw_Email, Cliente.sexo as vw_Sexo, Pedido.cod_pedido as vw_Pedido
from dbo.pedido inner join dbo.Vendedor on Pedido.cod_vendedor = Vendedor.cod_vendedor inner join Cliente on Pedido.cod_cliente = Cliente.cod_cliente where vendedor.nome = 'Joãozinho' CONSULTAR select * from vw_cli_vend
IMG4
DELETAR UMA VIEW Para deletar devemos utilizar o comando DROP VIEW; porém devemos utilizar o drop somente quando quisermos deletar a view do sistema MESMO, por com o comando alter vc deixa sua VIEW, pornta para visualização como desejar, a cada alteração ela vai desconsiderar os campos não lsitados no comando; conforme os exemplos dados acima.
IMG5
PROCEDURES É uma coleção de intruções (comandos sql); as stored Procedures ficam dentro do servidor após armazenadas em um formato já compilado, ou seja, fica após salvo em stand by, apenas esperando a utilização vinda de algum usuário.
CRIAR UMA PROCEDURE
CREATE PROCEDURE nome_procedure
[@parametro tipo_parametro[=valor_padrao]]
AS
instrucao_SQL […n]
Exemplo abaixo: 1 – Crie uma proc chamada pr_pedidosVendedor que mostre todos os pedidos do vendedor
cujo código do vendedor seja o código passado como parâmetro.
create procedure pr_pedidosVendedor (@cod int) as select Vendedor.nome as nome_vendedor, Pedido.cod_pedido as cod_pedido
from Vendedor inner join Pedido on Vendedor.cod_vendedor = Pedido.cod_vendedor where Vendedor.cod_vendedor = @cod
exec pr_pedidosvendedor 1 DEMO
IMG6
Passos: cria a procedure, seleciona e atribui um nome, indica os inner join, relacionas as chaves primárias e por fim a condição de que ENQUANTO for executado o parametro dado será o @cod, valor de tipo de dado int, este não pode ser repetido por isso é declarado dessa forma. E por fim executar o comando inserindo os parametros desejados, o nº 1, representa o vendedor cod_vendedor = 1.
INSERIR DADOS A UMA TABELA ATRAVES DE PROCEDURE
Praticamente mesmo processo porém alterar as intruções.
CREATE PROCEDURE sp_produto_inserir
@Nome VARCHAR(64),
@Descricao TEXT,
@Valor MONEY AS
INSERT INTO
Produto(Nome, Descricao, Valor)
VALUES(@Nome, @Descricao, @Valor)
ALTERAR CAMPOS ATRAVÉS DE UMA PROCEDURE
CREATE PROCEDURE sp_produto_alterar
@ID BIGINT,
@Nome VARCHAR(64),
@Descricao TEXT,
@Valor MONEY
AS
UPDATE
Produto
SET
Nome = @Nome,
Descricao = @Descricao,
Valor = @Valor
WHERE
ID = @ID
PS.: A variável @ID deve ser a chave primária para que a alteração seja única e não haja repetição desse valor.
FUNCTION
Elabora rotinas que apresentam após sua execução em tabelas e em valores. Pode se então criar funções dentro do banco. Exemplo: inserir em
...