Aggiunta o rimozione di chiavi esterne
Aggiunta o rimozione di chiavi esterne
Una chiave esterna è un campo in una tabella di database che fa riferimento alla chiave principale in un'altra tabella. La chiave esterna è definita come un vincolo nella colonna correlata della tabella di database.
Con il vincolo di chiave esterna in posizione, il campo deve essere vuoto o il valore deve puntare a un valore esistente per la chiave principale nella tabella di riferimento. Ad esempio, il campo SiteUID in un turno è una chiave esterna che fa riferimento a UID di un sito. Di conseguenza, il valore di SiteUID in un turno deve essere vuoto o deve corrispondere a un valore di UID esistente per un sito.
Il vincolo di chiave esterna impedisce inoltre di eliminare le righe nella tabella di database referenziate dai campi di chiave esterna. Ad esempio, se un turno ha un valore SiteUID di 5, poiché il vincolo di chiave esterna sul campo SiteUID fa riferimento a UID di un sito, il sito con il valore UID di 5 non può essere eliminato.
Le chiavi esterne sono definite per default per le entità nello schema turni e gruppi di lavoro.
Per aggiungere una chiave esterna a una tabella di database esistente, attenersi alla procedura riportata di seguito.
1. Accedere all'oggetto database configurato per il sistema (PTC.SCA.SCO.PostgresDatabase o PTC.SCA.SCO.MSSQLDatabase).
2. In Servizi eseguire il servizio AddForeignKey con gli input indicati di seguito.
dataShapeName - Data shape per la tabella di database a cui si sta aggiungendo la chiave esterna.
fieldName - Campo sulla data shape in cui si sta aggiungendo il vincolo di chiave esterna.
referenceDataShapeName - Data shape della tabella di database di riferimento.
referenceFieldName - Nome del campo contenente il valore referenziato.
3. Fare clic su Esegui.
Per rimuovere una chiave esterna, attenersi alla procedura riportata di seguito.
* 
Rimuovere solo le chiavi esterne precedentemente aggiunte. Non rimuovere eventuali chiavi esterne definite per default.
1. Accedere all'oggetto database configurato per il sistema (PTC.SCA.SCO.PostgresDatabase o PTC.SCA.SCO.MSSQLDatabase).
2. In Servizi eseguire il servizio RemoveForeignKey con gli input indicati di seguito.
dataShapeName - Data shape per la tabella di database da cui si sta rimuovendo la chiave esterna.
fieldName - Campo sulla data shape in cui si sta rimuovendo il vincolo di chiave esterna.
3. Fare clic su Esegui.