SóProvas


ID
751036
Banca
VUNESP
Órgão
TJM-SP
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

No Microsoft SQL Server 2008, quando da criação de uma chave estrangeira, as opções disponíveis para a exclusão (ON DELETE) e/ou modificação (ON UPDATE) da chave primária origem da chave estrangeira são:

Alternativas
Comentários
  • letra E - no action, cascade, set null e set defaut

    "ON UPDATE paramentros:

    NO ACTION (RESTRICT) - quando o campo chave primária está para ser atualizado a atualização é abortada caso um registro em uma tabela referenciada tenha um valor mais antigo. Este parâmetro é o default quando esta cláusula não recebe nenhum parâmetro.


    Exemplo: ERRO Ao tentar usar "UPDATE clientes SET codigo = 5 WHERE codigo = 2. Ele vai tentar atualizar o código para 5 mas como em pedidos existem registros do cliente 2 haverá o erro.


    CASCADE (Em Cascata) - Quando o campo da chave primária é atualizado, registros na tabela referenciada são atualizados.


    Exemplo: Funciona: Ao tentar usar "UPDATE clientes SET codigo = 5 WHERE codigo = 2. Ele vai tentar atualizar o código para 5 e vai atualizar esta chave também na tabela pedidos.

    SET NULL (atribuir NULL) - Quando um registro na chave primária é atualizado, todos os campos dos registros referenciados a este são setados para NULL.


    Exemplo: UPDATE clientes SET codigo = 9 WHERE codigo = 5; Na clientes o codigo vai para 5 e em pedidos, todos os campos cod_cliente com valor 5 serão setados para NULL.


    SET DEFAULT (assumir o Default) - Quando um registro na chave primária é atualizado, todos os campos nos registros relacionados são setados para seu valor DEFAULT.


    Exemplo: se o valor default do codigo de clientes é 999, então

    UPDATE clientes SET codigo = 10 WHERE codigo = 2. Após esta consulta o campo código com valor 2 em clientes vai para 999 e também todos os campos cod_cliente em pedidos.


    ON DELETE parametros:


    NO ACTION (RESTRICT) - Quando um campo de chave primária está para ser deletado, a exclusão será abortada caso o valor de um registro na tabela referenciada seja mais velho. Este parâmetro é o default quando esta cláusula não recebe nenhum parâmetro.


    Exemplo: ERRO em DELETE FROM clientes WHERE codigo = 2. Não funcionará caso o cod_cliente em pedidos contenha um valor mais antigo que codigo em clientes.


    CASCADE - Quando um registro com a chave primária é excluído, todos os registros relacionados com aquela chave são excluídos.


    SET NULL - Quando um registro com a chave primária é excluído, os respectivos campos na tabela relacionada são setados para NULL.


    SET DEFAULT - Quando um registro com a chave primária é excluído, os campos respectivos da tabela relacionada são setados para seu valor DEFAULT." http://pt.wikibooks.org/wiki/PostgreSQL_Pr%C3%A1tico/Ap%C3%AAndices/Integridade_Referencial_-_PostgreSQL

  • LETRA E. 

    Segundo Technet,"Usando restrições de integridade referencial em cascata, é possível definir as ações que o Mecanismo de Banco de Dados executa quando o usuário tenta excluir ou atualizar uma chave para a qual apontam as chaves estrangeiras existentes. As ações em cascata a seguir podem ser definidas:

    -NO ACTION

    -CASCADE

    -SET NULL

    -SET DEFAULT

    "

    https://technet.microsoft.com/pt-br/library/ms179610(v=sql.110).aspx