Aller au contenu principal
Notification
ITPro
  • Ressources IT
  • Newsletter
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
Se connecter
S’inscrire
  • Facebook
  • X
  • Linkedin
  • Instagram

Inscrivez-vous

Newsletter iTPro

  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  1. Accueil
  2. Data & IA
  3. Bases de données modernes
  4. Application de l’intégrité référentielle

Sommaire

Tech stories

  • Tech Stories

    DEVOPS REX 2026 : deux jours pour confronter les pratiques DevOps aux réalités du terrain

  • Tech Stories

    Sécuriser sa téléphonie IP : 5 failles critiques à anticiper

Bases de données modernes Tech

Application de l’intégrité référentielle

Par

iTPro
Date
24 juin 2010
Temps de lecture
2 minutes

Les versions de SQL Server antérieures à  la 6.0 ne permettent pas de déclarer des relations de clé primaire et étrangère dans les définitions de table. Toute validation d'intégrité référentielle doit être effectuée par le biais de déclencheurs qu'il faut coder en T-SQL. SQL Server 6.0 a amené les contraintes,

Sommaire

y compris les contraintes de clé primaire et étrangère, mais limite les actions référentielles à  NO ACTION. SQL Server 7.0 et 6.5 offrent aussi l’option NO ACTION uniquement (sans la syntaxe NO ACTION).
SQL Server 2000 a pris en charge les actions référentielles CASCADE et NO ACTION dès la version bêta 1. Le listing 1 présente la syntaxe de création de deux tables simples : Table1 et Table2. Table2 dispose d’une clé étrangère qui fait référence à  Table1 ; l’action référentielle est l’option CASCADE pour les mises à  jour et NO ACTION pour les opérations de suppression. NO ACTION est l’action par défaut. Par conséquent, la spécifier explicitement dans la définition de la contrainte est facultatif. Le listing tente ensuite des insertions dans les deux tables, y compris une insertion dans Table2 transgressant la relation de clé étrangère. SQL Server refuse la transgression et renvoie le message d’erreur suivant :

Server: Msg 547, Level 16, State 1, Line 1
INSERT statement conflicted with COLUMN FOREIGN KEY
constraint ‘FK_Table2_Table1_a’. The conflict occurred in
database ‘pubs’, table ‘Table1’, column ‘a’.
The statement has been terminated.

Le code essaie ensuite de supprimer un enregistrement référencé de la Table1, échoue et renvoie le message d’erreur suivant :

Server: Msg 547, Level 16, State 1, Line 1
DELETE statement conflicted with COLUMN REFERENCE constraint
‘FK_Table2_Table1_a’. The conflict occurred in database ‘pubs’,
table ‘Table2’, column ‘a’.
The statement has been terminated.

Le code supprime ensuite un enregistrement de Table1 non référencée par Table2. Enfin, le code met à  jour toutes les valeurs de la clé primaire de Table1, répercutant en cascade les modifications sur Table2.
On peut également définir des clés étrangères par le biais de SQL Server Enterprise Manager. Dans le panneau de gauche, ouvrez la base de données, puis sélectionnez Tables. Lorsque le panneau de droite affiche toutes les tables, cliquez avec le bouton droit de la souris sur la table de référence puis sélectionnez Design Table. Sur la barre d’outils, cliquez sur le bouton Table and Index Properties, puis cliquez sur l’onglet Relationships. La figure 1 illustre la définition d’une clé étrangère de Table2 dans Table1. La boîte de dialogue permet de nommer la contrainte et de choisir la table (référencée) contenant la clé primaire et la table (de référence) contenant la clé étrangère. Des listes déroulantes permettent de choisir la colonne de chaque table constituant la clé. Au bas de la boîte de dialogue, on peut choisir de maintenir la relation entre les tables en appliquant une opération CASCADE pour les mises à  jour de la clé primaire, les suppressions de la clé primaire ou les deux. Lorsqu’une case n’est pas cochée, cela signifie que le comportement par défaut NO ACTION (empêchant la modification) est activé.

Tech Stories

Sécuriser sa téléphonie IP : 5 failles critiques à anticiper

Sécuriser sa téléphonie IP n’est plus une option. Avec la généralisation de la téléphonie cloud et des infrastructures VoIP, la voix circule désormais sur les mêmes réseaux que les données…

Lire l'article : Sécuriser sa téléphonie IP : 5 failles critiques à anticiper

Ressource IT

SIEM & PME : Comment construire la boîte noire de votre SI ?

Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et…

Découvrir la ressource : SIEM & PME : Comment construire la boîte noire de votre SI ?

Inscrivez-vous

Newsletter iTPro

iTPro

Rédigé par iTPro

Tous ses articles →

Bases de données modernes

À lire également...

  • BYOD - Les atouts cachés du Bring Your Own Model pour les entreprises - iTPro.fr
    Bases de données modernes

    Les atouts cachés du Bring Your Own Model pour les entreprises

    Par

    Sabine Terrey
    Date
    25 octobre 2024
    Temps de lecture
    4 minutes
  • Change Data Capture pour les entreprises qui réussisent
    Bases de données modernes

    Le Change Data Capture est l’avenir des entreprises qui réussissent

    Par

    Sabine Terrey
    Date
    22 mars 2024
    Temps de lecture
    4 minutes
  • comment_Migrer_vos_bases_de_donnees_dans_le_cloud
    Bases de données modernes Cloud & Infrastructure

    Migration des bases de données dans le cloud : mode d’emploi

    Par

    Sabine Terrey
    Date
    9 janvier 2023
    Temps de lecture
    4 minutes
  • Bases de données modernes Cloud & Infrastructure

    Pourquoi migrer ses bases de données dans le Cloud 

    Par

    Sabine Terrey
    Date
    12 décembre 2022
    Temps de lecture
    6 minutes
ITPro
  • X
  • Linkedin
  • Facebook
  • Instagram
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Ressources IT
  • Espace responsable sécurité
  • Espace DSI
  • Espace Architecte IT
  • Espace IT Manager
  • Espace Responsable Data / IA

Inscrivez-vous

Newsletter iTPro

© iTPro.fr

  • Comité éditorial
  • Régie médias
  • Mentions-légales
  • Gestion et protection des données personnelles
  • Gestion des cookies
ITPro
Gérer le consentement aux cookies
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou la personne utilisant le service.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
  • Gérer les options
  • Gérer les services
  • Gérer {vendor_count} fournisseurs
  • En savoir plus sur ces finalités
Voir les préférences
  • {title}
  • {title}
  • {title}