SóProvas


ID
783421
Banca
CESGRANRIO
Órgão
BNDES
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Na base de dados de um sistema de controle de clientes, foi criada a tabela CLIENTES, que conta com as colunas: ID, NOME, ENDERECO, CIDADE e UF. Os valores da coluna ID não se repetem.

Sobre essa tabela CLIENTES foi criada a visão VCLIENTES_RJ, que busca apresentar os clientes do estado do Rio de Janeiro. O comando de criação da visão VCLIENTES_RJ é:

CREATE VIEW VCLIENTES_RJ
AS SELECT ID, NOME, ENDERECO, CIDADE, UF
FROM CLIENTES WHERE UF = ‘RJ’

Um usuário submeteu o seguinte comando para execução pelo gerenciador do banco de dados:

UPDATE VCLIENTES_RJ SET NOME =’JOAO’
WHERE ID IN (1,2,3) AND UF = ‘SP’

O comando UPDATE acima, quando submetido para execução, resulta na atualização de:

Alternativas
Comentários
  • O gabarito dessa questão foi alterado para A. O que acontece é que quando for fazer uma operação de delete ou update, o SGBD cria uma relação derivada com os dados que a view deve conter (neste caso, somente os dados do RJ). O update tenta fazer uma operação de atualização em dados de SP, porém a view (relação derivada) só contém dados do RJ. Logo, não atualiza ninguém.
  • Eu acredito que o gabarito desta questão está errado, pois só seria a letra "A" se ao criar a visão fosse utilizado a clausula "With Check Option".

    http://www-01.ibm.com/support/knowledgecenter/ssw_i5_54/rzatc/BR/rzatcviewsql.htm?lang=pt

    Neste caso a melhor respostas seria a letra "e".