Da forma como as foreign contraints estão definidas, é extremamente trabalhoso eliminar registos.
Por exemplo, imagine-se um segmento de via ao qual já foram associadas várias vias rodoviárias. Se se tentar apagar esse segmento, o PostgreSQL devolve um erro aquando da gravação, informando que não é possível gravar pois o segmento está a ser usado como referência noutra tabela.
Actualmente, seria preciso eliminar todas as relações à tabela de ligação, gravar essa tabela e só depois eliminar o registo.
Alternativamente, poderiamos implementar mecanismos de DELETE CASCADE que, aquando da eliminação de um registo, todas as relações serão automaticamente eliminados.
Da forma como as foreign contraints estão definidas, é extremamente trabalhoso eliminar registos.
Por exemplo, imagine-se um segmento de via ao qual já foram associadas várias vias rodoviárias. Se se tentar apagar esse segmento, o PostgreSQL devolve um erro aquando da gravação, informando que não é possível gravar pois o segmento está a ser usado como referência noutra tabela.
Actualmente, seria preciso eliminar todas as relações à tabela de ligação, gravar essa tabela e só depois eliminar o registo.
Alternativamente, poderiamos implementar mecanismos de DELETE CASCADE que, aquando da eliminação de um registo, todas as relações serão automaticamente eliminados.