[SQL] Definizione di vincoli

Stato
Discussione chiusa ad ulteriori risposte.

sare1234

Utente Attivo
262
3
Salve ho volevo chiedere come implementare questi due vincoli:

1) un elemento è associata o all'arco o al nodo
2) un elemento non può essere associato sia ad un arco che ad un nodo

avendo tale class diagram:

Schermata 2021-11-09 alle 13.07.28.png
Io ho fatto cosi ma non so se è corretto:

SQL:
ALTER TABLE Elemento
  ADD CONSTRAINT V1 CHECK (ELEMENTO = ARCO OR ELEMENTO = NODO),
  ADD CONSTRAINT V2 CHECK ((ELEMENTO = ARCO AND ELEMENTO <> NODO) OR (ELEMENTO <> ARCO AND ELEMENTO = NODO));
 
Ultima modifica:

sare1234

Utente Attivo
262
3
Invece di avere 2 reference sulle due entità dovresti avere una sola reference ad un entità astratta che può essere o nodo o arco.
intendi tipo un enumerazione chiamata Tipo con arco e nodo ed inserire in elemento "TipoArcoNodo:Tipo" e poi fare:
SQL:
ALTER TABLE Elemento
  ADD CONSTRANT V CHECK (elemento= Nodo OR elemento = Arco);
 
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili