[sapl-dev] Integridade referencial do Banco de Dados do SAPL

Luciano De Fazio lucianodefazio em gmail.com
Quarta Setembro 26 01:53:46 BRT 2012


Não são apenas "alguns", mas muitos "alter table"... Comece a fazer e verá.
;)

Segue um exemplo bastante básico da impossibilidade de uso, unica e
exclusivamente, de RESTRICT no SAPL.

A entidade representada pela tabela "materia_legislativa" possui atributos
armazenados em tabelas distintas, tais como anexada, autoria, despacho
inicial, numeração, tramitação e relatoria.

Ao impedirmos a exclusão de uma matéria, por possuir dados armazenados como
atributos, tornaremos o sistema praticamente inutilizável, pois isso
obrigaria o usuário a excluir cada um dos atributos antes de excluir a
entidade. Essa foi a principal causa do insucesso do SAAP 1.

Nesse caso específico, seria viável o uso de CASCADE, pois ao excluir uma
matéria, seriam excluídas simultaneamente todas as suas informações
acessórias, que já não fariam qualquer sentido sem a presença da entidade.

Por outro lado, quando uma matéria já constar da Ordem do Dia de uma Sessão
Plenária, tendo sido inclusive registrada votação, por exemplo, aí sim
faria sentido o uso de RESTRICT, pois a matéria já fará parte do registro
histórico das atividades da Edilidade, não podendo mais ser excluída.

Se quiser, posso descrever diversas outras situações, por mim vivenciadas
por quase duas décadas, onde a hipotética "política única de integridade"
conflita com o andamento do processo legislativo e com a usabilidade da
ferramenta informatizada para essa finalidade.

Luciano De Fázio


Em 25 de setembro de 2012 22:56, Fabiano Weimar dos Santos <
xirumacanudo em gmail.com> escreveu:

> Luciano,
>
> obviamente que sei da necessidade de alguns alter table para declarar
> as chaves estrangeiras ;)
>
> Da pra formular um exemplo real onde isso traria problemas?
>
> Apenas dizer que isso "não atenderia às rotinas do processo
> legislativo" é bem vago.
>
> -- Fabiano Weimar
>
>
> Em 25 de setembro de 2012 20:36, Luciano De Fazio
> <lucianodefazio em gmail.com> escreveu:
> > Esse é apenas um exemplo da infinidade de relacionamentos na base de
> dados
> > do SAPL, e essa restrição (RESTRICT) não pode ser utilizada como
> estratégia
> > padrão, pois não atenderia às rotinas do processo legislativo.
>
>
>
> --
> Interessado em meus Cursos e Palestras? Inscreva-se em:
> https://groups.google.com/d/forum/cursos-do-xiru?hl=pt-BR
>
> Fabiano Weimar dos Santos @xiru
> http://blog.xiru.org
> http://www.pytown.com
> --
> Wiki do SAPL:
> http://colab.interlegis.gov.br/wiki/ProjetoSapl
>
> Regras de participação:
> http://colab.interlegis.gov.br/wiki/ComoParticiparComunidade
>
> Para administrar sua conta visite:
> http://listas.interlegis.gov.br/mailman/listinfo/sapl-dev
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.interlegis.gov.br/pipermail/sapl-dev/attachments/20120926/819cd858/attachment.htm 


Mais detalhes sobre a lista de discussão SAPL-dev