Cursos / Informática para Internet / Banco de dados / Aula

arrow_back Aula 14 - Linguagem SQL – VISÕES

Inserindo, atualizando e apagando dados com visões

Você deve ter notado que os comandos de consulta, descrição e de exclusão de uma VIEW são iguais aos de uma tabela real. Mas será que podemos inserir, atualizar e apagar dados através das visões? Em alguns casos, pode-se realmente inserir, atualizar e excluir os dados através das visões, desde que na visão não tenha valores agregados, tais como SUM, COUNT e AVG, e nem cláusulas como GROUP BY e DISTINCT.

Para continuarmos os nossos estudos, considere um banco de dados, denominado sispagamentos, que representa um sistema de pagamentos dos funcionários de uma determinada empresa contendo as seguintes tabelas:

  • empregados (codigo_empregado [chave primária], nome, CPF, sexo e dataNascimento);
  • pagamentos (codigo_pagamento [chave primária], codigo_empregado [chave estrangeira], salario);
  • descontos (codigo_desconto [chave primária], codigo_empregado [chave estrangeira], INSS, IR).

As estruturas das tabelas empregados, pagamentos e descontos são ilustradas na Figura 4. Analise com cuidado essas estruturas e não se esqueça de implementá-las em seu SGBD, essa é uma ótima maneira de fixar os conceitos aprendidos. Inicialmente, não será necessário incluir dados nessas tabelas.

Tela do MySQL após os comandos de visualização das estruturas das tabelas do banco de dados sispagamentos.

Vamos criar duas visões. A primeira, denominada funcionarios, exibirá os nomes dos empregados e seus respectivos CPFs. A segunda, denominada salario, exibirá os nomes dos empregados, o salário bruto, o desconto de INSS, o desconto de IR e o salário líquido. Os comandos para as criações das visões funcionarios e salários são apresentados no quadro abaixo. Analise com cuidado esses comandos e não deixe de implementá-los no seu SGBD. Lembre-se: a prática leva a perfeição!

A criação das visões funcionario e salario está ilustrada na Figura 5 e suas respectivas estruturas estão na Figura 6.

Tela do MySQL após os comandos de criação das visões <span class='strong'>funcionario</span> e <span class='strong'>salario</span>.

 

Tela do MySQL após os comandos <span class='strong'>DESC funcionario</span> e <span class='strong'>DESC salario</span>.

Versão 5.3 - Todos os Direitos reservados