Créer une table SQL Server avec une clé primaire

Comment créer une table avec une clé primaire dans SQL Server ? Une clé primaire de base de données est conçue pour permettre à une valeur unique d’identifier une ligne dans une table. Tout d’abord, quel est l’objectif d’une clé primaire ? Et surtout, quelle est la définition d’une clé primaire ? Une clé primaire garantit qu’une seule ligne unique correspond à un identifiant spécifique.

Script pour créer une table SQL Server avec une clé primaire (PRIMARY KEY)

Pour créer une table et lui ajouter une clé primaire, suivez ces quatre étapes :

  • Premièrement, concevoir la table des clients à l’aide du code SQL.
  • Deuxièmement, ajouter une contrainte sur la colonne sélectionnée pour être la clé.
  • Insérer deux lignes avec le même ID client.
  • Vérifier le résultat des données dans la table.

Etape 1 : Créer une table de clients avec une colonne ID

Créez une table clients avec un ID client.

-- Créer la table des clients avec la colonne CustomerID déclarée comme NOT NULL
CREATE TABLE dbo.Customers (
	[CustomerID]	INT NOT NULL,
	[FirstName] 	NVARCHAR(20),
	[LastName]  	NVARCHAR(20),
	[City]      	NVARCHAR(20),
	[Country]   	NVARCHAR(50)
)
GO

Étape 2 : Ajouter la contrainte de clef primaire à la colonne sélectionnée

Ici la clé primaire est la colonne ID, c’est dire le numéro de client. Utiliser la commande T-SQL ADD CONSTRAINT PRIMARY KEY pour créer la contrainte.

Modifier la table client pour ajouter une contrainte de clé primaire.

ALTER TABLE dbo.Customers 
	ADD CONSTRAINT [CustomersPrimaryKeyCustomerID] 
		PRIMARY KEY CLUSTERED ([CustomerID] ASC);
GO 
Ajouter une clé primaire à la table avec la commande PRIMARY KEY.
Ajouter une clé primaire à la table avec la commande PRIMARY KEY.

Etape 3 : Insérer deux lignes avec le même numéro pour tester la clé primaire SQL Server

En effet, la seule façon de vérifier la contrainte est de l’utiliser. Insérez deux lignes avec le même ID client pour vérifier si la clé primaire fonctionne.

-- Insérer deux lignes différente avec le même numéro de client
INSERT INTO dbo.Customers (CustomerID, FirstName, LastName, City, Country) 
VALUES ( 1, 'Ali','Ahmed','Cairo','Egypt');

INSERT INTO dbo.Customers (CustomerID, FirstName, LastName, City, Country) 
VALUES ( 1, 'Johnny','John','Toronto','Canada');

Noter l’erreur de violation de la contrainte de clé primaire :

Violation de la contrainte PRIMARY KEY ‘CustomersPrimaryKeyCustomerID’. Impossible d’insérer la clé en double dans l’objet ‘dbo.Customers’. La valeur de la clé en double est (1).
L’instruction a été interrompue.

Insérer dans la table deux lignes différentes avec le même ID client n’est donc pas possible grâce à la contrainte ajoutée à la table.

Étape 4 : Vérifier les données insérées et le fonctionnement de la clé primaire

Après cela, une seule ligne unique est disponible dans la table avec l’ID numéro 1. C’est donc uniquement la première ligne de la commande d’insertion qui est visible dans la table. Utiliser un select pour lire la table.

-- Vérifier le nombre de lignes insérées
SELECT * 
FROM dbo.Customers;

Il n’est maintenant possible d’attribuer qu’une seule valeur à un ID client, cela le rend unique dans la table.

Pour aller plus loin, il faut noter quelques éléments concernant les clés primaires de SQL Server. Cependant, ces limitations et comportements spécifiques aux clés primaires font partie intégrante de leur fonctionnement :

  1. Premièrement, une seule clé primaire par table.
  2. Une clé primaire peut être une clé composée utilisant plusieurs colonnes. Par exemple, une concaténation de ces colonnes : ID + Prénom + Nom.
  3. De plus, une colonne utilisée comme clé primaire ne peut pas être NULL, elle est donc définie comme NOT NULL.
  4. De plus, une clé primaire a par défaut son index cluster correspondant créé automatiquement.
  5. Si cela est spécifié dans le script, l’index peut également être un index non-cluster.


En conclusion, cet article explique comment ajouter une clé primaire à une table. Le but est de maintenir l’intégrité d’une table et d’une base de données et d’éviter les doublons sur les clefs.

Pour en apprendre plus sur les objets SQL, voici comment créer une vue partitionnée SQL Server étape par étape.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*