Venez assister à notre Journée Portes Ouvertes en live le jeudi 02 mai à 18h30
Venez assister à notre Journée Portes Ouvertes en live le jeudi 02 mai à 18h30
Venez assister à notre Journée Portes Ouvertes en live le jeudi 02 mai à 18h30
Je m'inscris à l'évènement
Difficulté :

Clé primaire en SQL : définition et exemple d’utilisation

Mis à jour le
12/4/2024
-
La clé primaire, tu la rencontres partout dans le monde de la Data ? Tu te demandes ce que c’est ? Tu es au bon endroit pour enfin les comprendre clairement.
Sommaire

La clé primaire est l’un des outils principaux des bases de données (BDD) relationnelles. Elle permet d’identifier de façon unique chaque enregistrement d’une table. De plus, les clés primaires mettent en relation les différentes tables dans la base de données. Il est donc important de bien comprendre ce qu’est une clé primaire pour pouvoir exploiter les données de la bonne manière.



Les bases de données SQL se fondent sur l’exploitation de tables qui stockent des enregistrements.

Les tables sont composées de lignes et de colonnes comme un tableau Excel :

  • Une ligne correspond à un enregistrement.
  • Un enregistrement est composé de plusieurs données, réparties dans plusieurs colonnes. Chaque donnée correspond à un champ. Un enregistrement est donc composé de plusieurs champs.
  • Une colonne correspond à un attribut qui permet de classifier un champ

Dans une table, chaque enregistrement est associé à plusieurs attributs.

Par exemple, imagine avoir accès à l’annuaire téléphonique regroupant toutes les personnes de nationalité française (soit un tableau avec plus 67 millions de lignes !)


Dans cet annuaire, un enregistrement est composé d’un nom, d’un prénom, d’un numéro de téléphone portable et d’une date de naissance. Chaque enregistrement est donc composé de 4 attributs.

Remarque :  Quand tu construis une table, réfléchis toujours aux attributs qui la composent. Ils doivent te fournir une information précise et unique (mettre le numéro de téléphone et le nom dans la même colonne n’aurait aucun sens).


Maintenant que tu connais les termes importants qui concernent les bases de données, on peut s’attaquer à la notion de clé primaire !

Pourquoi utiliser une clé primaire?

Une clé primaire a deux qualités : 

  1. Elle permet d’identifier de manière unique les différents enregistrements qui composent une table,
  2. Elle facilite la mise en relation d’une table avec une autre.

Différencier les enregistrements d’une table

Dans un tableau on peut avoir affaire à des doublons dans certaines colonnes, ce qui empêche parfois de différencier les enregistrements.

Par exemple, dans un annuaire, il n’est pas rare de trouver plusieurs personnes qui portent le même prénom ou le même nom (en France, plus de 50 000 personnes s’appellent Dupont !).

Il peut même arriver que certaines portent le même prénom ET le même nom !

Sarah Connor - clé primaire

La clé primaire permet donc de différencier chaque enregistrement d’une table, même si un ou plusieurs de leurs attributs (nom, prénom etc…) sont identiques.

Mettre en relation deux tables 

La clé primaire est particulièrement indispensable dans le cadre des bases de données relationnelles, c'est-à-dire celles qui ont la particularité d’être découpées en plusieurs tables.

Par exemple, la base de données d’une boutique en ligne peut être composées de deux types de données :

  • les données associées aux produits achetés : Nom du produit et Prix
  • les données associées aux clients : Prénom, Nom et Adresse

Si on utilise seulement un tableau Excel pour gérer la base de données de cette boutique, on est obligé de répéter inutilement les informations des clients pour chaque produit acheté.

Base de données sur Excel

Afin d’éviter cette répétition, on sépare cette base de données en deux tables :

  • Une table “Commande” qui ne contient que la liste des produits achetés
Nom du produit Prix
Ordinateur 599
Lampe de bureau 29
Ecran 16' 49
Lampe de bureau 29
Clavier 15

  • Une table “Client” qui ne contient que la liste des clients
Prénom du client Nom du client Adresse
Jean Bonneau 3, rue de la Paix
Olivia Dupont 24, avenue Chevet

Cette séparation permet d’alléger la quantité de données présents dans la base. Le problème dans l’exemple ci-dessus, c’est qu’on ne sait plus quel client a acheté quel(s) produit(s). Il faut donc trouver un moyen de mettre en relation les deux tables afin d’être capable de différencier les produits achetés par Jean Bonneau et Olivia Dupont.

C’est tout l’intérêt de la clé primaire : pouvoir mettre en relation une table avec une autre.


Attention : il ne faut pas confondre une clé primaire avec une clé étrangère.

Pour devenir Data analyst en entreprise, la maîtrise du langage SQL est un vrai plus sur ton CV. En suivant le bootcamp de Databird, ce langage n’aura plus de secret pour toi !



Attributs d’une clé primaire en SQL

Un attribut est un composant d’un enregistrement. Dit plus simplement, dans un tableau, chaque colonne est un attribut.

 

Une clé primaire est composée d’un ou plusieurs attributs. Si elle a plusieurs attributs, on parle de clé multiple ou de clé composite.

 

Remarque : Idéalement, le moins une clé primaire a d’attributs, le mieux c’est.

 

Comme nous l’avons vu plus haut, les attributs « Prénom » et « Nom » ne peuvent pas servir de clé (multiple) primaire pour notre table « Annuaire ». En effet, deux personnes différentes peuvent avoir le même prénom ET le même nom.

 

 Pour résoudre ce problème deux solution sont envisageable :

  • Une clé multiple : On ajoute un attribut à la combinaison : Nom, Prénom et Date de naissance.
  • Un attribut clé : On ajoute un attribut dont le rôle exclusif est de servir de clé primaire.

La solution de l’attribut clé est privilégiée car elle est plus simple d’utilisation. C’est d’ailleurs pour cette raison que lorsqu’on achète un produit en ligne, on se voit attribuer un “ID client”.

 

Remarque : Dans un hôpital, on différencie les nouveaux-nés grâce à trois attributs : Nom, Prénom, Date de Naissance.

 {{banniere-article}}

Comment définir une clé primaire ?

La clé primaire est définie au moment de la création d’une table.

La manière de définir la clé primaire dépend de l’outil que tu utilises. Dans cet article, nous te montrons comment faire en utilisant  une requête SQL et Microsoft Access

Définir une clé primaire avec une requête SQL :

Le langage SQL permet de définir, de manipuler et de contrôler les données d’une BDD relationnelle

Pour créer une nouvelle table, on peut utiliser la requête : CREATE TABLE.

 

Pour l’exemple, nous allons créer une table « Client » avec quatre attributs dont un « ID client » comme clé primaire :

1   CREATE TABLE Client (
2   Id client INT PRIMARY KEY,
3   Prenom VARCHAR (15),
4   Nom VARCHAR(15),
5   Date de naissance DATE
6   ) ;

Dans cette requête SQL, la première ligne consiste à créer et à définir le nom de la table. Les lignes 2,3,4 et 5 définissent les noms des différentes colonnes ainsi que la nature des données qu’on trouve à l’intérieur : INT, VARCHAR ou DATE.

En effet, chaque attribut est associé à un nom et à un type de donnée :

  • INT signifie “Integer” : il s’agit d’un chiffre entier
  • VARCHAR signifie “Variable character” : il s’agit d’une chaîne de caractères
  • DATE fait référence à une date

Remarque : Les chiffres entre parenthèses définissent le nombre de caractères maximum qu’on peut trouver au sein d’une colonne. Dans l’exemple ci-dessus, les champs des colonnes “Prenom” et “Nom” font au maximum 15 caractères.

Pour définir la clé primaire de la table, nous avons ajouté “PRIMARY KEY” à la deuxième ligne, après avoir précisé le type de données. Ainsi, “ID client” est définit comme la clé primaire de notre nouvelle table !

L’exécution de cette requête a alors créé une table (pour l’instant vide) :

Table créé avec SQL

Définir une clé primaire avec Microsoft Access :

Microsoft Access est un outil de la suite Office qui permet de créer et gérer, maintenir et éditer facilement des bases de données.

 

L’interface ressemble à Excel. Cependant, la particularité d’Access est de pouvoir créer des BDD relationnelles !

Microsoft-Access-Dashboard

La définition d’une clé primaire sur Microsoft Access se fait simplement en trois étapes :

  1. On crée la table et on nomme ses colonnes
  2. On sélectionne la ou les colonnes associées à la clé primaire
  3. On clique sur le bouton « Clé primaire », situé sous l’onglet « Création »
Clé primaire Access

Et voilà le tour est joué !


Le monde de la Data t’intéresse ? Viens jeter un coup d’œil à nos formations en Data Analyse et en SQL, et deviens-toi aussi un Databirdies !



Le rôle d’une clé primaire dans une base de données relationnelle

Nous l’avons vu plus haut la clé primaire a deux rôles : 

  1. Différencier les enregistrements d’une table
  2. Permettre de la mettre en relation avec d’autres tables

Effectivement, la clé primaire est indispensable au bon fonctionnement d’une BDD relationnelle.

 

Pas de clé primaire, pas de base de données relationnelles.

Pas de clé primaire, pas de SQL

La mise en relation de deux tables

Voici comment mettre en relation la table « Client » avec la table « Commande » grâce à la clé primaire :

Base de donnée relationnelle avec clé primaire

Comme on retrouve la colonne ID client dans les deux tables, il est maintenant facile de trouver les commandes de Jean Bonneau dans la table « Commande » : il suffit de filtrer les commandes associées à l’ID client 1. Idem pour Olivia Dupont où l’id client est 2. 

 

Dans cet exemple, tu as seulement deux tables. En entreprise, ce n’est pas toujours aussi simple !

En effet, en tant que Data analyst, tu peux être confronté à des BDD composées de dizaines de tables !

Grande base de donnée relationnelle avec clé primaire

Maintenant, tu comprends mieux pourquoi il est important de bien choisir les attributs d’une clé primaire. Celle-ci doit rester pertinente même lorsque la base de données évolue et pas seulement à un instant T. Sinon l’analyse ou la réalisation de jointures SQL peut vite devenir un cauchemar ! 

Les erreurs à éviter

Quelques exemples d’erreurs à éviter lorsqu’il s’agit de définir une clé primaire :

  • Choisir un email : celui-ci peut changer avec le temps.
  • Choisir un numéro de sécurité sociale : certaines personnes peuvent avoir plus d’un numéro au cours de leur vie.
  • Choisir un numéro de téléphone : il est susceptible de changer.

C’est pourquoi la création d’un ID unique est souvent la solution la plus populaire !

Venez assister à notre Journée Portes Ouvertes en live le jeudi 02 mai à 18h30
Rejoignez-nous le jeudi 02 mai dès 18h30 pour notre Journée Portes Ouvertes en live. Explorez le bootcamp DataBird ainsi que nos programmes de formation data.
Je m'inscris à l'évènement
Faites un premier pas dans la data avec nos cours gratuits
Démarrer

Nos derniers articles sur

SQL

Pour préparer l’année 2024, Databird vous propose une petite révision sur le requêtage SQL. Voici 6 requêtes à connaître obligatoirement en 2024 pour coder en SQL.
Le monde de la data vous intéresse et vous souhaitez en savoir plus ? Découvrez le langage SQL et ses applications dans l’exploitation de base de données.
Le NoSQL est une des bases de données les plus utilisées dans le Big Data. Sa simplicité et sa flexibilité en font un outil puissant pour les Data Analysts.
Difficulté :