Vincoli della tabella - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Vincoli della tabella

In modo univoco, le limitazioni della chiave esterna e della chiave primaria sono solo a livello informativo e non vengono applicate da Amazon Redshift quando si popola una tabella. Ad esempio, se si inseriscono dati in una tabella con dipendenze, l'inserimento può avere esito positivo anche se viola il vincolo. Tuttavia, le chiavi primarie e le chiavi esterne vengono utilizzate come suggerimenti di pianificazione e devono essere dichiarate se il ETL processo o qualche altro processo dell'applicazione ne garantisce l'integrità.

Ad esempio, il pianificatore di query utilizza chiavi primarie ed esterne in determinati calcoli statistici. Lo fa per dedurre l'unicità e le relazioni referenziali che influiscono sulle tecniche di decorrelazione delle query secondarie. In questo modo, può ordinare un gran numero di join ed eliminare i join ridondanti.

Il pianificatore utilizza queste relazioni della chiave, ma presuppone che tutte le chiavi nelle tabelle Amazon Redshift vengano validate appena caricate. Se la tua applicazione permette chiavi primarie o esterne non valide, alcune query potrebbero restituire risultati sbagliati. Ad esempio, una SELECT DISTINCT query potrebbe restituire righe duplicate se la chiave primaria non è univoca. Non definire i limiti della chiave per le tue tabelle se hai dei dubbi sulla loro validità. D'altra parte, si dovrebbe sempre dichiarare la chiave primaria e quella esterna, oltre che i limiti di univocità se si sa che sono validi.

Amazon Redshift applica i vincoli di colonna NOTNULL.

Per ulteriori informazioni sui vincoli di tabella, consultare CREATE TABLE. Per informazioni su come eliminare una tabella con dipendenze, consultare DROP TABLE.