• advertisement_alt
  • advertisement_alt
  • advertisement_alt
Cassiano

Cascade, Restrict, No Action, Default

3 posts in this topic

Não entendi direito isso na prática, na análise eu tinha definido q se modificasse um campo modificasse nas tabelas filhas mas se fosse deleção proibisse, acredito q isso no PostgreSQL seria CASCADE e RESTRICT respectivamente, procede?

Agora qdo importei a análise para o PostgreSQL não veio essas informações onde tive q recriar manualmente.


Então minhas dúvidas são:

  • Como seria um exemplo prático de CASCADE x RESTRICT x NO ACTION x DEFAULT
  • Se não adianta mesmo mexer isso na análise pq não atualiza o banco, tendo q fazer tudo no banco somente.
  • Em caso de se utilizar CASCADE e RESTRICT como fica no dia a dia para remover algum registro em caso de restrição? 

Share this post


Link to post
Share on other sites

Toda a parte de relacionamento entre as tabelas eu gerencio direto no Postgresql
não levo nenhuma informação para a Análise do Windev

  • Como seria um exemplo prático de CASCADE x RESTRICT x NO ACTION x DEFAULT
    R= exemplo de cacade: você tem uma tabela de pedidos e pedidos_itens, ao deletar um registro da tabela pedido, todos os registros da tabela pedidos_itens também serão excluídos
    R= exemplo de restrict: se você tentar deletar um registro da tabela pedidos que ainda tenha registros vinculados na tabela pedidos_itens, o banco de dados não irá permitir o delete
    R=exemplo de NO ACTION: você deleta um registro na tabela pedidos e o banco não valida se tem registro na tabela pedidos_itens
    R=exemplo de DEFAULT: digamos que você tenha uma tabela de clientes, e exista um campo clie_vendedor que esta relacionado a tabela vendedores, se você excluir um registro na tabela vendedores,  e o DEFALT do relacionamento for NULL, e este tiver algum cliente vinculado a ele, o banco irá atualizar o campo clie_vendedor de todos os clientes vinculados para NULL
     
  • Se não adianta mesmo mexer isso na análise pq não atualiza o banco, tendo q fazer tudo no banco somente.
    R= como eu disse, eu faço tudo no banco e depois atualizo a Analise
     
  • Em caso de se utilizar CASCADE e RESTRICT como fica no dia a dia para remover algum registro em caso de restrição?
    R=usando o mesmo exemplo das tabelas pedidos e pedidos_itens, digamos que vc deixou marcado como restrict,
    para deletar um pedido, você será obrigado a antes deletar os registros da tabela pedidos_itens e depois estará liberado para deletar o registro da tabela pedidos

 

Evandro Andersen
HDTec Software

1 person likes this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now