SóProvas


ID
770395
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Com relação a visões (views) e SQL ANSI, julgue os itens consecutivos.


Em SQL, caso uma view tenha de atualizar dados no banco de dados, a cláusula WITH CHECK deverá ser acrescentada ao final da definição da view.

Alternativas
Comentários
  • Com a cláusula WITH CHECK OPTION  será permitda a inserção de dados na visão somente se os dados atenderem a cláusula where presente na visão. Além disto deve obedecer as seguintes restrições:

    - A query não pode conter join, ou seja, deve ser baseada apenas em uma tabela.
    - A query deve conter todas as colunas nottnull da tabela referenciada.
    - A query não pode conter operadores de conjunto: UNION, EXCEPT e INTERSECT.
    - A query não pode conter o operador DISTINCT.
    - A query não pode conter funções de agregação.
    - A query não pode conter GROUP BY.

    Fonte: Banco de dados - Marcio Victorino - Cathedra
  • O erro da questão está em que a cláusula WITH CHECK OPTION deverá ser acrescentada. Ela poderá ser acrescentada. Caso não seja acrescentada, dados não pertencentes a visão poderão ser inseridos. E em relação a atualização, nada será feito em relação a dados não pertencentes a visão.
  • exemplificando as colocações dos colegas.

    a) Tenho uma tabela com todas as cidades do brasil
    b) baseado nesta tabela, crio uma view com SOMENTE as cidades do RS
    c) Ao incluir uma nova cidade na view, temos dois casos:

    SE NÃO USAR a claúsula with check options posso inserir uma cidade de SP na view. A cidade inserida NÃO sera mostrada na view (lembre-se que a view contém somente as cidades do RS), mas irá atualizar a tabela original das cidades sem nenhum erro.

    Se USAR a clausula with check options  NÃO será permitida a inclusão, será retornado um erro do sistema.Neste caso, posso incluir na view somente cidade que respeitem o critério usado para criar a mesma, ou seja, cidades do RS.
  • Só complementando com uma outra fonte:

    "Na SQL, a cláusula WITH CHECK OPTION" precisa ser adicionada no final da definição da visão se ela puder ser  atualizada.

    Fonte: Navathe, Sistemas de banco de dados, 4ª Edição, página 186.

  • Em SQL, caso uma view tenha de atualizar dados no banco de dados, a cláusula WITH CHECK deverá ser acrescentada ao final da definição da view.
     

    Realmente, a view só precisa de um UPDATE pra atualizar os dados! kkk

  • "Na SQL, a cláusula WITH CHECK OPTION precisa ser adicionada no final da definição da view se uma view tiver de ser atualizada por comandos INSERT, DELETE e UPDATE. Isso permite que o sistema rejeite operações que violam as regras da SQL para atualizações de view."

    Navathe, Sistemas de banco de dados, 7ª Edição, página 212.