“Bad Coding/Designing Practices”: Implementare i vincoli di integrità in modo “procedurale”

Bad Coding/Designing Practices, Ingegneria del Software 0 25
Subject
“Integrity Costraints”

Bad Practice
Implementare i vincoli di integrità in modo “procedurale”

Explanation
Implementare i vincoli di integrità “proceduralmente” (ad es. con “comportamenti” codificati all’interno di “Stored Procedure”), e non con gli strumenti “dichiarativi” normalmente disponibili sui DBMS

Problem
L’implementazione dei vincoli con modalità “procedurale” in primo luogo non esplicita tali vincoli (non è facile rilevarli sul nostro disegno, perché sarebbe necessaria un’attività complicata di interpretazione delle procedure) e soprattutto non ne garantisce il loro rispetto

Fix
Definire “DICHIARATIVAMENTE” i Vincoli di integrità sul disegno del Data Base, perché ciò li rende espliciti e ne rende certa la loro applicazione

Note
In alcune situazioni l’utilizzo (anche particolarmente spinto) dei vincoli crea un “ingessamento”, ad esempio non si riescono ad inserire delle righe in parallelo su 2 tabelle in relazione di “foreign key”. A questo scopo esistono delle tecniche che permettono di superare l’ostacolo. Nel caso considerato si potrebbe usare il “DEFERRED COSTRAINT”

Scope
DBMS, Data Definition Language

About the author / 

Salvatore Di Loro

Related Posts

Leave a reply

Your email address will not be published. Required fields are marked *

Instagram

Flickr