Contraintes

Les contraintes définissent des règles d’intégrité et de cohérence pour les données stockées dans les tables. Snowflake prend en charge les contraintes définies selon la norme ANSI SQL, ainsi que certaines extensions pour la compatibilité avec d’autres bases de données, telles que Oracle.

Important

  • Pour les tables standard, Snowflake prend en charge la définition et le maintien des contraintes, mais ne les applique pas, sauf pour les contraintes NOT NULL, qui sont toujours appliquées.

    Les violations des contraintes peuvent entraîner des effets en aval inattendus. Si vous décidez de créer une contrainte sur laquelle il faut compter, assurez-vous que vos processus en aval peuvent maintenir l’intégrité des données. Pour plus d’informations, voir Propriétés des contraintes.

    Les contraintes sur les tables standard sont fournies principalement à des fins de modélisation de données et de compatibilité avec d’autres bases de données, ainsi que pour la prise en charge des outils clients utilisant des contraintes. Par exemple, Tableau prend en charge l’utilisation de contraintes pour effectuer la sélection des jointures (élimination des jointures), ce qui peut améliorer les performances des requêtes générées et de l’actualisation du cube.

  • Pour les tables hybrides, Snowflake prend en charge et applique les contraintes. Des contraintes de clé primaire sont requises et appliquées sur toutes les tables hybrides, et d’autres contraintes sont appliquées lorsqu’elles sont utilisées.

Chapitres suivants :