Cursos / Redes de Computadores / Conceitos de Banco de Dados / Aula

arrow_back Aula 07 - Linguagem SQL - Subconsultas e 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 13. 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.

Perceba, conforme Figura 13, que as chaves primárias estão com informação de campo extra chamada auto_increment. O auto_increment é uma opção que pode ser adicionada a um atributo para que o banco de dados MySQL gere automaticamente valores únicos para esta coluna. Sendo assim, com essa opção habilitada, não é necessário informar o valor da chave primária no comando de INSERT para essas tabelas. Além disso, o próprio banco garante que os valores para esse campo serão únicos.

Tela do <span class='italico'>My</span>SQL 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 14 e suas respectivas estruturas estão na Figura 15.

Tela do <span class='italico'>My</span>SQL após os comandos de criação das <span class='strong'>visõesfuncionario</span> e <span class='strong'>salário</span>.

 

Tela do <span class='italico'>My</span>SQL após os comandos DESC <span class='strong'>funcionario</span> e DESC <span class='strong'>salário</span>.

Versão 5.3 - Todos os Direitos reservados