---
schema_version: "1"
id: d2324ac0c12a6493f764b8485306b3caa50c733fc70fd159bd00ce008caae7da
title: Estimation de l’intégrité référentielle pour les jointures
collection: tableau
version: current
locale: fr-ca
portal_url: https://docs.salesforce.com/tableau/current/fr-ca/public/desktop/joins_assume_refinteg.md
canonical_url: https://help.tableau.com/current/public/desktop/fr-ca/joins_assume_refinteg.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 11dc505409399972a5ec5a5e67e7aab4633b6db4675fa4ee9f8ae85c606a3bcc
description: Improve join query performance by assuming referential integrity.
---
[Passer au contenu principal](#main-content)

# Estimation de l’intégrité référentielle pour les jointures

Dans certains cas, vous pouvez améliorer les performances des requêtes pour les jointures en sélectionnant l’option Estimer l’intégrité référentielle à partir du menu Données. Lorsque vous utilisez cette option, Tableau n’inclut la table liée dans la requête que si elle est spécifiquement référencée par des champs de la vue.

![Menu des données avec l’option d’intégrité référentielle supposée en surbrillance.](/tableau/current/fr-ca/public/desktop/fr-ca/Img/joins_assumerefinteg.png)

L’utilisation de ce paramètre convient lorsque vous savez que vos données disposent de l’intégrité référentielle (voir définition ci-dessous) mais que votre base de données ne l’impose pas ou ne peut pas l’appliquer. Si vous avez la possibilité de configurer l’intégrité référentielle, cela est préférable à l’utilisation de ce paramètre car elle permet d’améliorer les performances dans la base de données et dans Tableau. L’option Estimer l’intégrité référentielle de Tableau peut uniquement affecter les performances du côté de Tableau. Si vos données n’ont pas d’intégrité référentielle et que vous activez ce paramètre, les résultats de la requête peuvent ne pas être fiables.

Pour comprendre ce qu’est l’intégrité référentielle, imaginez que vous vous connectez à une base de données de vente qui comporte deux tables : Ventes et Catalogue Produits. Voici comment se présentent ces deux tables :

<table><colgroup></colgroup><tbody><tr><td><p><b>Ventes</b></p><table class="table--plain"><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">ID produit (clé étrangère)</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">Montant des ventes</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">Date de transaction</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">100</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">10/1/2012</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2000</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">10/2/2012</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">50</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">9/30/2012</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">3</td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">10</td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">8/21/2012</td></tr></tbody></table></td><td><p><b>Catalogue Produits</b></p><table class="table--plain"><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">ID produit (clé primaire)</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">Nom du produit</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">Tablette 10 pouces</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">Smartphone</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">3</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">Lampe de bureau</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">4</td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">Clé USB</td></tr></tbody></table></td></tr></tbody></table>

Dans la mesure où tous les produits qui sont vendus doivent être répertoriés dans le catalogue des produits, chaque ligne de la table Ventes possède une ligne correspondante dans la table Catalogue produits. Lorsque ces deux tables sont liées sur la base de l’ID produit, vous obtenez une table du type suivant :

<table class="table--plain"><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">ID produit</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">Nom du produit</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">ID produit</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">Montant des ventes</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">Date de transaction</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">Tablette 10 pouces</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">100</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">10/1/2012</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">Tablette 10 pouces</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2000</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">10/2/2012</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">Smartphone</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">50</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">9/30/2012</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">3</td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">Lampe de bureau</td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">3</td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">10</td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">8/21/2012</td></tr></tbody></table>

A présent, imaginons que vous créez une vue pour connaître le montant des ventes par région. Par défaut, si vous faites glisser le champ Montant des ventes vers la vue, vous créez une requête de ce type :

SELECT SUM(\[Sales Amount\]) FROM \[Sales\] S INNER JOIN \[Product Catalog\] P ON S.ProductID = P.ProductID

Cependant, si vous sélectionnez l’option Estimer l’intégrité référentielle, vous indiquez à Tableau que les tables liées présentent une intégrité référentielle. En d’autres termes, vous confirmez que la table Ventes aura toujours une ligne correspondante dans la table Catalogue des produits. Puisque c’est le cas, Tableau n’a pas besoin d’informations de la table Catalogue des produits pour renvoyer les résultats. Si vous faites glisser le champ Montant des ventes jusqu’à la vue, Tableau est alors en mesure de simplifier la requête :

SELECT SUM(\[Sales Amount\]) FROM \[Sales\]

Cette requête simplifiée accélère le plus souvent le renvoi des résultats, car elle supprime l’opération de liaison. Cette option n’agit que sur les jointures internes et n’affecte pas les sources de données à une table unique.