Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Contraintes liées aux tables
Les contraintes d’unicité, de clé primaire et de clé externe sont uniquement informatives ; elles ne sont pas appliquées par Amazon Redshift lorsque vous remplissez une table. Par exemple, si vous insérez des données dans une table avec des dépendances, l’insertion peut réussir même si elle enfreint la contrainte. Néanmoins, les clés primaires et les clés étrangères sont utilisées comme conseils de planification et doivent être déclarées si votre ETL processus ou un autre processus de votre application garantit leur intégrité.
Par exemple, le gestionnaire de requêtes utilise des clés primaires et étrangères dans certains calculs statistiques. Il le fait pour déduire l’unicité et les relations référentielles qui affectent les techniques de décorrélation des sous-requêtes. Ce faisant, il peut ordonner un grand nombre de jointures et supprimer les jointures redondantes.
Le planificateur exploite ces relations entre les clés, mais il suppose que toutes les clés des tables Amazon Redshift sont valides telles qu’elles sont chargées. Si votre application autorise les clés étrangères ou primaires non valides, certaines requêtes peuvent renvoyer des résultats incorrects. Par exemple, une SELECT DISTINCT requête peut renvoyer des lignes dupliquées si la clé primaire n'est pas unique. Ne définissez pas de contraintes de clés pour vos tables si vous doutez de leur validité. Cependant, déclarez toujours les clés primaires et étrangères et les contraintes d’unicité lorsque vous savez qu’elles sont valides.
Amazon Redshift applique les contraintes liées aux NOT NULL colonnes.
Pour de plus amples informations sur les contraintes de table, consultez CREATE TABLE. Pour plus d’informations sur la manière de supprimer une table avec des dépendances, consultez DROP TABLE.