1. Définir la notion de clé primaire. Citer celle de la table Client
La clé primaire est l’attribut qui permet d’identifier de manière unique les autres valeurs des attributs de la relation. Elle met en évidence les dépendances fonctionnelles simples.
Codeclient est la clé primaire de la table Client.
2. Pourquoi n’est-il pas possible d’affecter le code 4110256 à ce nouveau client ? Justifier votre réponse.
La clé primaire est unique et permet d’identifier un, et un seul, enregistrement d’une table. Ce code est déjà affecté à un autre client.
3. Expliquer la présence de l’attribut « numcom » dans la table CLIENT.
C’est une clé étrangère, elle est attribut clé primaire dans une autre table. Son rôle est de permettre la jointure entre tables.
4. Peut-on affecter à ce nouveau client le numéro de commercial « 04 » correspondant à notre nouveau commercial Thomas Levert ? Justifier votre réponse.
Le numéro de commercial « 04 » n’existe pas dans la table commercial. Il faudrait d’abord créer ce numéro de commercial dans la table COMMERCIAL (avec le nom d’un nouveau commercial).
Sinon, on ne respecte pas la contrainte d’intégrité référentielle.
5. Le code 4110345 a été affecté à ce nouveau client. M. Jacques THIBAM, commercial, assurera son suivi. A l’aide des informations de l’annexe 1, rédiger la requête SQL nécessaire pour créer ce nouveau client dans la base de données de l’entreprise.
INSERT INTO CLIENT
VALUES (« 4110345 », « VALERY », « Murielle », « 14 rue du grain d’or », « 76000 », « Rouen », « murielle.valery@wanadoo.fr », « 0235679890 », « P », « 01 ») ;
6. Rédiger la requête SQL nécessaire pour obtenir la liste figurant en annexe 3 et concernant les clients du seul commercial Jacques THIBAM.
SELECT nomclient, rueclient, CPclient, Villeclient, télclient,
FROM CLIENT, COMMERCIAL
WHERE CLIENT.numcom =COMMERCIAL.numcom
AND nomcommercial= « Thibam » and codecat= « R»
ORDER BY nomclient ;
Le résultat de la requête ne fait apparaître que les revendeurs, il faut donc faire apparaître un critère de sélection sur CodeCat.