Créer des clés primaires
Vous pouvez définir une clé primaire dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL. La création d'une clé primaire crée automatiquement un correspondant unique, index cluster ou non-cluster.
Dans cette rubrique
Avant de commencer :
Limitations et restrictions
Sécurité
Pour créer une clé primaire à l'aide de :
SQL Server Management Studio
Transact-SQL
Avant de commencer
Limitations et restrictions
Une table ne peut contenir qu'une seule contrainte PRIMARY KEY.
Toutes les colonnes définies dans une contrainte PRIMARY KEY doivent avoir la valeur NOT NULL. Si vous ne spécifiez pas la possibilité ou non de valeurs NULL, toutes les colonnes participant à une contrainte PRIMARY KEY sont définies à NOT NULL.
Sécurité
Autorisations
La création d'une nouvelle table avec une clé primaire nécessite une autorisation CREATE TABLE dans la base de données et une autorisation ALTER pour le schéma dans lequel la table a été créée.
La création d'une clé primaire dans une table existante nécessite l'autorisation ALTER sur la table.
[Top]
Utilisation de SQL Server Management Studio
Pour créer une clé primaire
Dans l'Explorateur d'objets, cliquez avec le bouton droit sur la table à laquelle vous souhaitez ajouter une contrainte unique et cliquez sur Conception.
Dans le Concepteur de tables, cliquez sur le sélecteur de ligne correspondant à la colonne de base de données que vous voulez définir comme clé primaire. Si vous voulez sélectionner plusieurs colonnes, appuyez sur la touche CTRL et, tout en la maintenant enfoncée, cliquez sur les sélecteurs de ligne des autres colonnes.
Cliquez avec le bouton droit sur le sélecteur de ligne de la colonne et cliquez sur Définir la clé primaire.
Attention |
---|
Si vous voulez redéfinir la clé primaire, vous devez supprimer toutes les relations avec la clé primaire existante avant de pouvoir créer la nouvelle clé primaire. Un message vous avertira que les relations existantes seront automatiquement supprimées dans le cadre de ce processus. |
Une colonne clé primaire est identifiée par un symbole de clé primaire dans son sélecteur de ligne.
Si une clé primaire comporte plusieurs colonnes, les doublons sont autorisés dans une colonne, mais chaque combinaison de valeurs provenant de toutes les colonnes de la clé primaire doit être unique.
Si vous définissez une clé composée, l'ordre des colonnes dans la clé primaire correspond à l'ordre des colonnes de la table. Vous pouvez cependant modifier l'ordre des colonnes après la création de la clé primaire. Pour plus d'informations, consultez Modifier des clés primaires.
[Top]
Utilisation de Transact-SQL
Pour créer une clé primaire dans une table existante
Dans l'Explorateur d'objets, connectez-vous à une instance de Moteur de base de données.
Dans la barre d'outils standard, cliquez sur Nouvelle requête.
Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. L'exemple crée une clé primaire sur la colonne TransactionID.
USE AdventureWorks2012; GO ALTER TABLE Production.TransactionHistoryArchive ADD CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID); GO
Pour créer une clé primaire dans une nouvelle table
Dans l'Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans la barre d'outils standard, cliquez sur Nouvelle requête.
Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. L'exemple crée une table et affecte une clé primaire sur la colonne TransactionID.
USE AdventureWorks2012; GO CREATE TABLE Production.TransactionHistoryArchive1 ( TransactionID int NOT NULL, CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID) ); GO
Pour plus d'informations, consultez ALTER TABLE (Transact-SQL), CREATE TABLE (Transact-SQL) et table_constraint (Transact-SQL).
[Top]