5° Anno TEORIA 2. Un modello concettuale: il diagramma ER | Page 17

14 . La progettazione concettuale : Il diagramma ER Vers . 3.0 – Novembre 2022
I VINCOLI DI INTEGRITA ’ DI UN DIAGRAMMA ER
E ’ stato detto che una base di dati definisce un insieme di regole che devono essere soddisfatte da tutte le istanze delle categorie . In un diagramma ER le regole a livello concettuale possono essere definite precisando i vincoli di integrità .
Un vincolo di integrità ( in breve V . d . I .) è un ’ asserzione ovvero un predicato che deve essere soddisfatto da tutte le istanze di una entità o di una associazione presente nella base dati
I vincoli di integrità sono così chiamati perché devono essere rispettati pena la consistenza stessa dei dati . ( Se ad esempio l ’ attributo Stipendio dell ’ entità Dipendente assumesse valori negativi potrebbe causare grossi problemi al corretto funzionamento dei programmi che lo utilizzano in quanto trattasi di un ’ evidente incongruenza )
I vincoli di integrità sono di due tipi :
1 – vincoli di integrità IMPLICITI : sono quei vincoli imposti dalla stessa natura dei dati che possono essere rappresentati direttamente nel diagramma ER con particolari “ accorgimenti ” grafici . Possono essere a loro volta divisi in :
1.1 – vincoli di chiave primaria : questi vincoli impongono che tutte le istanze di una entità debbano essere diverse tra loro e si rappresentano graficamente sottolineando i relativi attributi che ne fanno parte ;
1.2 – vincoli referenziali : Questi vincoli derivano direttamente dalla TOTALITA ’ di un ’ associazione ( diretta o inversa ) e si rappresentano graficamente con linee continue di collegamento con le entità coinvolte . ( N . B . Date due entità A e B ed un ’ associazione tra loro supposta TOTALE da A verso B . Questa eventualità IMPONE che non si possa inserire un ’ istanza in A o che non esista un ’ istanza in A che non sia associata ad una istanza di B . Ecco il vincolo ( obbligo ) da rispettare )
2 – vincoli di integrità ESPLICITI : sono quei vincoli che occorre esplicitare con apposite dichiarazioni NON essendo possibili desumerli graficamente dal diagramma ER . ( Esempio : il valore dell ’ attributo Stipendio dell ’ entità Dipendente non può essere negativo né maggiore di 1800.00 euro ).
Per rappresentare tale tipo di vincoli ricorriamo ad una NOTAZIONE che utilizzi la seguente pseudoistruzione :
V < NumProg >: (< Espressione >) Dove < NumProg > è un numero progressivo del vincolo ;
< Espressione > è una qualsiasi espressione in pseudolinguaggio naturale o di tipo logicomatematico che specifichi il vincolo stesso
Esempio : Per esprimere il vincolo sullo Stipendio dell ’ entità Dipendente prima ipotizzato potremmo scrivere : V1 : ( 0 < Persona . Stipendio ≤ 1800.00 )
Per esprimere il vincolo che “ non si può assumere un dipendente di Età inferiore a 16 anni ” scriveremo utilizzando la funzione YEAR ( ): V2 : ( YEAR ( Dipendente . DataAssunzione ) - YEAR ( Dipendente . DataNascita ) > 16 )
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 17