Exercice Base de données – Cours 1 (2026)

L’objectif de la séance d’exercice est de vous connecter à SQL Server Express et de d’effectuer un certain nombre de tâche en utilisant des requêtes qui vous sont offertes.

L’idée est de vous permettre “jouer un peu avec le code” avant de tomber dans la théorie. Tous ces concepts seront pratiquer de nouveau dans les exercices de la semaine 2.

Exercice 1

Ouvrez SQL Server Management Studio et connectez-vous à SQL Server qui est installer sur votre ordinateur.

Exercice 2

Créer une nouvelle base de données appelée “cours1”. Utiliser l’instruction “use” pour travailler sur cette dernière (‘use cours1’).

Exercice 3

Créer une table client avec la requête suivante:

CREATE TABLE client ( id_client int, nom varchar(50),prenom varchar(50));

Exercice 4

Ajouter des clients dans la base de données avec la requête suivante:

INSERT INTO client (id_client, prenom, nom) VALUES (1, ‘Roger’, ‘Tremblay’);
INSERT INTO client (id_client, prenom, nom) VALUES (2, ‘Isabelle’, ‘Giroux’);
INSERT INTO client (id_client, prenom, nom) VALUES (3, ‘Roger’, ‘Demers’);

Exercice 5

Afficher le contenu de la table en exécutant la requête suivante:

SELECT * FROM client;

Exercice 6

Créer une nouvelle base de données appelé “commerce”.

Assurez-vous d’utiliser cette base de données en utilisant la commande “use”.

Exercice 7

Créer une table “liste_transaction”. Celle-ci possède les champs suivants:

id_transaction (de type int)

article (type varchar(50))

prix (type dec(10,2))

date_transaction (type datetime)

Assurez-vous de donner les attributs suivants au champs “id_transaction”:

  • identity: Signifie que la valeur sera un nombre auto-incrémenté automatiquement
  • PRIMARY KEY: Signifie que le champs devient la “clé primaire”, c’est a dire le champs qui identifie de facon unique notre entrée.

Le type dec(10,2) signifie un nombre a virgule qui peut accepter 10 chiffres au total dont 2 chiffres après la virgule. On pourrait modifier ces valeurs comme on le souhaite.

Le type “datetime” est une chaine de caractère qui doit absolument respecter le format: AAAA-MM-JJ HH:MM:SS (Par exemple: 2019-01-31 17:30:00.

Assurez-vous également de donner l’attribut “Not null” aux autres champs. Cela aura pour effet de rendre le champs obligatoire lorsqu’on crée une nouvelle entrée (tuple) dans la table. 

Le code devrait donc ressembler à:

create table liste_transaction(
            id_transaction int identity primary key,
            article varchar(50) not null,
            prix dec(10,2) not null,
            date_transaction datetime not null
)

Exercice 8

Insérez les valeurs suivantes dans la table:

INSERT INTO liste_transaction (article, prix, date_transaction) VALUES (‘banane’, 1.50, ‘2018-12-12 12:27:12’)

INSERT INTO liste_transaction (article, prix, date_transaction) VALUES (‘Noix de coco’, 4.25, ‘2017-09-12 15:42:45’)

INSERT INTO liste_transaction (article, prix, date_transaction) VALUES (‘banane’, 1.50, ‘2019-10-12 17:20:36’)

INSERT INTO liste_transaction (article, prix, date_transaction) VALUES (‘Chaise’, 19.99, ‘2019-10-12 17:20:36’)

INSERT INTO liste_transaction (article, prix, date_transaction) VALUES (‘Ordinateur’, 199.99, ‘2019-10-12 17:20:36’)

Exercice 9

Afficher les nom des articles uniquement (champs “article”) des articles dont le prix est supérieur à 10.00. Pour ce faire, vous pouvez utiliser l’opérateur ‘>’

SELECT article FROM liste_transaction WHERE prix>10

Exercice 10

Vous souhaiter appliquer un rabais. Assurez-vous que tous les articles de 3$ et moins tombe à un prix de 0.50.

UPDATE liste_transaction SET prix=0.5 WHERE prix <= 3

Vous pouvez voir le changement avec l’instruction:

SELECT * FROM liste_transaction

Exercice 11

Le client souhaite rapporter l’ordinateur qu’il a acheté. Vous devez supprimer la transaction avec l’instruction DELETE.

 DELETE FROM liste_transaction WHERE id_transaction=5
OU
DELETE FROM liste_transaction WHERE article=’Ordinateur’

Vous pouvez voir le changement avec l’instruction:

SELECT * FROM liste_transaction

Exercice 12

 Afficher la liste des transactions en les triants par ordre de date.

Pour se faire, vous devez ajouter “ORDER BY <champs>” à la fin de la requête SELECT.

Par exemple:

SELECT article, prix, date_transaction FROM liste_transaction ORDER BY date_transaction

Exercice 13

Faite la même chose mais en triant par prix.

SELECT article, prix, date_transaction FROM liste_transaction ORDER BY prix

Exercice 14

Afficher maintenant la liste des articles en les triant par prix, du plus cher au moins cher. Pour se faire, vous devez ajouter “DESC” à la fin.

Par exemple:

SELECT article, prix, date_transaction FROM liste_transaction ORDER BY prix DESC

Exercice 15

Afficher tous les articles dont les prix se trouve entre 1.50$ et 8.00$.

Pour se faire, on peut utiliser la condition BETWEEN.

Par exemple:

SELECT article, prix, date_transaction FROM liste_transaction WHERE prix BETWEEN 1.5 and 8.00

Exercice 16

Afficher uniquement les articles qui coute 0.50$,10.50$ ou 20.50$

Pour se faire, vous pouvez utiliser la condition IN.

Par exemple:

SELECT article, prix, date_transaction FROM liste_transaction WHERE prix IN (0.50, 10.50, 20.50)

Bon travail à tous!