Definizione di limitazioni delle tabelle - 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à.

Definizione di limitazioni delle tabelle

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, la chiave esterna e quella primaria vengono utilizzate come suggerimenti di pianificazione. Queste dovrebbero essere dichiarate se il processo ETL o altri processi nell'applicazione applicano la loro 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 query SELECT DISTINCT potrebbe restituire righe doppie 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 limiti della colonna NOT NULL.

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