5° Anno TEORIA 3. Un modello logico: il modello relazionale | Page 20

15 . Il modello relazionale Vers . 6.2 – Gennaio 2023
N . B . Come è possibile riscontrare sono stati considerati in questo modo tutti i vincoli IMPLICITI ed ESPLICITI che abbiamo descritto nel DIAGRAMMA ER .
Nell ’ esempio mostrato in precedenza :
OSS 1 : il vincolo Stipendio > 0 è un vincolo di integrità intrarelazionale o interno , su singola ennupla che esprime una condizione sul dominio di un unico attributo ;
OSS 2 : il vincolo che afferma che un dipendente non può avere lo stesso numero di matricola di un altro dipendente è un vincolo di integrità intrarelazionale o interno , su più ennuple ( relativo al vincolo implicito vincolo di chiave primaria )
OSS 3 : il vincolo che afferma che per qualsiasi dipendente DataAssunzione > DataNascita è un vincolo di integrità intrarelazionale o interno , su singola ennupla che esprime una condizione sul dominio di più attributi
Rappresentazione dei Vincoli di integrità nel modello relazionale
Per rappresentare i vincoli di integrità di chiave primaria sottolineiamo i relativi attributi ( così come abbiamo fatto nel diagramma ER ).
Per rappresentare tutti gli altri vincoli utilizzeremo un nostro pseudolinguaggio ( così come abbiamo fatto nel diagramma ER per i vincoli di integrità espliciti ).
a ) vincoli di integrità INTRA-RELAZIONALI o INTERNI V < NumProgr > (< NomeRelazione >) : (< Espressione >)
dove : - < NumProgr > è il numero progressivo del vincolo relativo alla relazione < NomeRelazione >. N . B . Il progressivo dovrà essere lo stesso del vincolo esplicito indicato nel diagramma ER
- < Espressione > è una qualsiasi espressione in pseudolinguaggio naturale che serve a specificare il vincolo .
Esempi : V1 ( Dipendente ): ( Stipendio > 0 ) N . B . L ' uso della DOT NOTATION non è necessario V2 ( Dipendente ): ( DataAssunzione > DataNascita ) b ) vincoli di integrità INTER-RELAZIONALI O ESTERNI
b . 1 ) i vincoli di integrità interrelazionali REFERENZIALI : per rappresentare i vincoli di integrità referenziale utilizzeremo la seguente sintassi :
VR < Attributo1 > (< Relazione1 >) ⊆ VR < Attributo2 > (< Relazione2 >)
con il significato che tutti i valori dell ’ attributo < Attributo1 > presenti nelle ennuple della relazione < Relazione1 > devono essere presenti tra i valori dell ’ attributo < Attributo2 > delle ennuple della relazione < Relazione2 >. N . B . Fanno parte di questi i vincoli di integrità impliciti dovuti alla TOTALITA ’ delle associazioni dirette e / o inverse
Ricordiamo che per semplicità e convenienza < Attributo1 > ed < Attributo2 > dovranno avere lo stesso identico nome oppure due nomi sostanzialmente simili ( ad esempio a meno di un progressivo ).
Esempio : VR CodAzienda ( Dipendente ) ⊆ VR CodAzienda ( Azienda )
Significa che tutti i valori dell ’ attributo “ CodAzienda ” presenti nelle ennuple della relazione “ Dipendente ” devono anche essere presenti tra i valori dell ’ attributo “ CodAzienda ” delle ennuple della relazione “ Azienda ”.
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 20