Bases des bases de données

Dans une table d'une base de données relationnelle, quelle condition la colonne (ou l'ensemble de colonnes) désignée comme clé primaire doit-elle remplir ?

  1. ASes valeurs doivent être des nombres
  2. BElle doit être la première colonne de la table
  3. CSes valeurs ne doivent pas comporter de doublons dans la table ni contenir de NULL
Afficher la réponse et l'explication

Réponse : C. Ses valeurs ne doivent pas comporter de doublons dans la table ni contenir de NULL

Une clé primaire est une colonne, ou un ensemble de colonnes, qui sert à identifier de façon unique une ligne d'une table. Ses valeurs ne doivent donc pas répéter celles d'une autre ligne (unicité), et NULL, qui représente une valeur inconnue, n'est pas non plus admis (NOT NULL). Lorsqu'on spécifie PRIMARY KEY dans une instruction SQL CREATE TABLE, le SGBD (système de gestion de base de données) impose ces deux contraintes, et toute opération qui tente d'insérer une valeur en double ou NULL échoue avec une erreur. Une clé primaire peut contenir des nombres, comme des numéros d'employé, ou des chaînes de caractères, et sa position parmi les colonnes n'est soumise à aucune règle. Un ensemble minimal de colonnes capable d'identifier une ligne de façon unique s'appelle une clé candidate, et la clé primaire est celle que l'on choisit parmi les clés candidates.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases des bases de données

  1. Dans une table des employés Employe(NumEmploye, Email, Nom, Service), NumEmploye et Email sont tous deux différents pour chaque employé et jamais NULL. Nom et Service peuvent être identiques à ceux d'autres employés. Quelle proposition énumère toutes les clés candidates de cette table ?
  2. Une table d'inscriptions Inscription(NumEtudiant, NumCours, Note) enregistre quel étudiant a suivi quel cours et avec quelle note. Un étudiant suit plusieurs cours, et un cours est suivi par plusieurs étudiants. Si un même étudiant ne s'inscrit jamais 2 fois au même cours, quelle clé primaire convient à cette table ?
  3. La clé primaire d'une table des clients Client(IdClient, Nom) est IdClient, et la colonne IdClient d'une table des commandes Commande(IdCommande, IdClient) est définie comme clé étrangère faisant référence à IdClient de la table Client. La table Client ne contient que les lignes dont IdClient vaut 'C1' et 'C2'. Que se passe-t-il si l'on exécute INSERT INTO Commande VALUES ('O9', 'C5') dans cet état ?
  4. Les instructions SQL se répartissent en langage de définition de données (DDL), langage de manipulation de données (DML) et langage de contrôle de données (DCL). Laquelle relève du DDL ?
  5. Une table Produit contient 5 lignes (Nom, Prix) : (Stylo, 120), (Cahier, 250), (Gomme, 80), (Classeur, 300), (Règle, 150). Quelle proposition donne, dans l'ordre, les lignes renvoyées par SELECT Nom FROM Produit WHERE Prix >= 150 ORDER BY Prix DESC ?