Vous êtes sur la page 1sur 36

CENTRE D’ENCADREMENT Année Académique : 2016-2017

EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Dimanche 12 Mars 2017

Soit le MCD illustré ci-après :

CLIENT COMMANDE
1,n Passer 1,1 NuméroCommande
NuméroClient
NomClient DateCommande
PrénomClient DateLivraison
AdresseClient
VilleClient
1,n
PRODUIT
Concerner
Référence
Désignation 1,1
PrixProduit
Quantité
Travail à Faire :
1) Créer la base de données nommée « BD_GESTION_COMMANDE ».
2) Créer la table CLIENT en précisant la clé primaire.
3) Modifier la colonne VilleClient pour qu’elle n’accepte pas une valeur
nulle.
4) Modifier les colonnes NomClient et PrenomClient pour qu’elles
prennent la valeur ‘SansNom’ et ‘SansPrenom’ par défaut
respectivement.
5) Créer la table PRODUIT en précisant la clé primaire qui commence
par 1 et s’incrémente automatiquement de 1.
6) Créer la table COMMANDE en précisant la clé primaire, précisé
pendant la création que NumeroClient est une clé étrangère vers la
table CLIENT.
7) Créer une contrainte fk_Ref qui désigne Référence comme clé
étrangère de la table COMMANDE vers la table PRODUIT.
8) Créer une contrainte ck_date qui empêche la saisie d’une date
DateLivraison (de livraison) antérieure à la date DateCommande
(commande).
9) Ajouter une colonne calculée à la table COMMANDE qui contient le
délai de livraison qui est la différence entre la date de commande et
la date de livraison (NB : DATEDIFF est une fonction qui retourne la
différence entre la date en jour, mois ou année
(DATEDIFF(DAY[MONTH|YEAR, 1 date, 2ère ème
date)).
10) Ecrire le code SQL permettant d’insérer trois lignes
d’enregistrement au choix dans les tables CLIENT et PRODUIT et
sept lignes d’enregistrements dans la table COMMANDE.
11) Ecrire le code SQL permettant de modifier la valeur de la
colonne NomClient en « MAVOUNGOU MABIALA » et celle de la
colonne PrenomClient en « Christian Desroche » au niveau de la
deuxième ligne d’enregistrement de la table CLIENT.
12) Créer une vue nommée « View_CommandeByClient »
permettant d’afficher les produits commandés par chacun des
clients.
13) Ecrire le code permettant de supprimer toutes les lignes de la
table COMMANDE excepté la première ligne d’enregistrement.
14) Ecrire le code permettant de supprimer les clients de
Brazzaville dont les noms ont une voyelle en troisième caractère et
dont les prénoms se terminent par la lettre E.
15) Ecrire le code permettant d’afficher le nombre de commandes
par Client.
16) Ecrire le code permettant d’afficher les commandes qui
comptent plus de cinq produits.
17) Ecrire le code permettant d’augmenter de 10% le prix des
produits dont la désignation compte moins de six caractères.
18) Lister les clients qui n’ont pas passé de commandes le mois
passé.
19) Lister les produits commandés depuis quarante jours par les
clients de Pointe-Noire habitant le quartier OCH.
20) Lister les produits qui n’ont pas été commandés par les clients
de MOUKONDO depuis cinq mois.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Dimanche 19 Mars 2017

Exercice
Une société achète à ses fournisseurs des produits bruts qu'elle utilise
dans la fabrication de produits finis. On souhaite gérer la composition et
les mouvements de stock de chaque produit fini.
Les Mouvements de stock sont les opérations d'entrée ou de sortie
(type=S ou type=E) de produits finis vers ou depuis le magasin.
La base de données a la structure suivante :

On suppose que les tables 'Mouvement', 'Produit Fini' et 'Fournisseur' sont


créées.

Créer les procédures suivantes :


PS 1.. Qui crée les tables ProduitBrut et Composition.
PS 2.. Qui affiche le nombre de produits bruts par produit Fini.
PS 3.. Qui retourne en sortie le prix d'achat le plus élevé.
PS 4.. Qui affiche la liste des produits finis utilisant plus de deux produits
bruts.
PS 5.. Qui reçoit le nom d'un produit brut et retourne en sortie la raison
sociale de son fournisseur.
PS 6.. Qui reçoit le code d'un produit fini et qui affiche la liste des
mouvements de sortie pour ce produit.
PS 7.. Qui reçoit le code d'un produit fini et le type de mouvement et qui
affiche la liste des mouvements de ce type pour ce produit fini.
PS 8.. Qui pour chaque produit fini affiche :
La quantité en stock pour ce produit,
La liste des mouvements concernant ce produit,
La quantité totale en sortie et la quantité totale en entrée,
La différence sera comparée à la quantité en stock. Si elle
correspond afficher 'Stock Ok' sinon afficher 'Problème de Stock'.
PS 9.. Qui reçoit un code produit fini et retourne en sortie son prix de
revient.
PS 10.. Qui affiche pour chaque produit fini :
Le prix de reviens (utiliser la procédure précédente),
La liste des produits bruts le composant (nom, Mt, RSFour),
Le nombre de ces produits.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Dimanche 20 Novembre 2016

Exercice N° 1
Soit le MCD suivant :

CATEGORIE
1,n Code Catégorie
Désignation
TauxHoraire

Appartenir

1,1

AGENT SERVICE
Matricule Numéro Service
1,n Evoluer 1,n
Nom Date début Désignation
Prénom Prime
Date fin
Date Naissance 0,n
Lieu Naissance
Sexe
Date embauche
Adresse
Téléphone
Réaliser
Nombre heure
Date travail

1,n 1,n
MOIS
Numéro Mois ANNEE
Libellé Année

1) Créer la base de données « RESTAURANT » en SQL Server en


utilisant le script.
2) Créer avec le script de chacune des tables issues du MCD précédent.
3) Générer les relations entre les tables.
4) En utilisant le script, insérer des enregistrements dans chacune des
tables (au moins 5 enregistrements par table).
5) Lister tous les agents.
6) Lister tous les agents (par ordre alphabétique du nom) du service
Approvisionnement.
7) Lister tous les agents avec pour chacun d’eux son ancienneté.
8) Lister les agents cadres présents dans le restaurant depuis au moins
une décennie qui n’ont pas de prénoms, qui évoluent au service
Restauration depuis au moins sept semaines, dont les noms
comptent au moins 8 caractères et ont en deuxième caractère la
troisième voyelle, qui ont été recrutés le deuxième mois du
troisième trimestre de leur année de naissance et qui sont nés au
mois de juillet.
9) Lister les agents de sexe masculin qui ont été recrutés à l’âge de 25
ans dont le mois de naissance correspond au mois d’embauche.
10) Quels sont les agents du service Approvisionnement qui n’ont
pas travaillé le mois passé ?
11) Lister les agents du service Personnel qui iront en retraite dans
17 mois sachant que l’âge de départ à la retraite est fixé à 60 ans.
12) Afficher le nombre d’agents par catégorie (Désignation,
Nombre) ; le nombre d’agents doit être au moins 6.
13) Supprimer les agents de plus de 40 ans qui ont travaillé plus
de cinq ans au service Approvisionnement et qui sont actuellement
au service Restauration.
14) Afficher les agents de plus de trente ans travaillant
actuellement au service approvisionnement qui sont nés,
embauchés et affectés au mois de juillet.
15) Sachant que l’âge de départ à la retraite est fixé à 60 ans,
afficher pour chaque agent, son âge actuel, son ancienneté et le
temps restant à travailler.

Exercice N° 2
Un nombre est dit « parfait » si la somme de ses diviseurs (lui-même non
compris) est égale à lui-même. Par exemple les diviseurs de 6 sont 1, 2 et
3.
1+2+3=6 ; donc 6 est un nombre parfait.
Sachant que les diviseurs d’un nombre n sont compris entre 1 et n/2,
afficher les nombres parfaits compris entre 1 et 1000 par la fonction
PRINT.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Dimanche 20 Novembre 2016

Soit le MCD illustré ci-après :

ARTICLE ACHAT
1,n Concerner 1,n Numéro Achat
Numéro Article Date Achat
Désignation QteAchat
Prix Article
Stock

1,n
VENDEUR
Concerner 1 1,n Numéro vendeur
QteVte Nom
Prénom
Catégorie
Effectuer
1,n

VENTE
1,1
Numéro Vente
Date vente

TAF :
1) Créer la base de données « Gestion_Stock » avec le script.
2) Créer chaque table issue du MCD précédent avec le script.
3) Générer les relations entre les tables.
4) Créer pour les tables « VENDEUR » et « ARTICLE » une procédure
stockée pour l’insertion et une autre pour la suppression des
données.
5) Utiliser ces procédures pour insérer des données.
6) Créer un trigger qui met à jour le stock après un achat.
7) Créer un trigger qui met à jour le stock après une vente.
8) Créer un trigger qui met à jour la catégorie du vendeur de telle
sorte qu’un vendeur ayant réalisé des ventes mensuelles
supérieures à 500 000 F passe à la catégorie supérieure. Celui ayant
réalisé des ventes mensuelles inférieures ou égales à 500 000 F
régresse d’une unité de la catégorie sauf pour celui qui est à la
catégorie 1.
9) Créer une procédure stockée qui affiche le chiffre d’affaire réalisé
par un vendeur donné à une période donnée.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Dimanche 29 Janvier 2017

Exercice
Soit la base de données suivante :

Travail à Faire :
Créer les procédures stockées suivantes :
PS 1.. Qui affiche les numéros et les noms des stagiaires pour
lesquels on a pas encore saisi de note

PS 2.. Qui affiche les filières ayant plus de 10 modules au


programme.

PS 3.. SP_12 qui affiche les noms des modules qui sont étudiés
dans toutes les filières d'un secteur donné en paramètre.

PS 4.. Qui affiche pour un stagiaire donné en paramètre, la


liste des notes (numéro module, nom du module, note et
coefficient)
PS 5.. Qui affiche pour chaque stagiaire :
Le nom, le prénom et la filière sous la forme :
Nom et Prénom :.....Filière : .......
S'il existe des modules où le stagiaire n'a pas de notes
attribuée afficher le message 'En cours de traitement' ainsi
que la liste des modules où il n'a pas encore de notes'
S'il existe plus de deux modules où le stagiaire a obtenu
une note <3 afficher 'Notes Eliminatoires' et afficher les
modules concernés.
Sinon afficher la liste des modules (Module +
Coefficients+note) ainsi que la moyenne du stagiaire.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Dimanche 04 Décembre 2016

Soit le MCD illustré ci-après :

ARTICLE COMMANDE
1,n LigneCde 1,n Numéro Commande
Numéro Article
Désignation QteCde Date Commande
Prix Article
Stock

TAF :
1) Créer la base de données « Gestion_Commande » avec le script.
2) Créer chaque table issue du MCD précédent avec le script.
3) Ajouter une contrainte à la colonne Prix Article pour qu’il n’accepte
pas les valeurs inférieures à 1 500 F et supérieures à 65 000 F.
4) Ajouter la colonne Poids dans la table ARTICLE.
5) Ajouter une contrainte au poids pour qu’il n’accepte que les valeurs
allant de 30 g à 45 Kg.
6) Générer les relations entre les tables.
7) Créer pour chaque table : une procédure stockée pour l’insertion et
une autre pour la suppression des données. (Lorsque la dernière
ligne commande a été supprimée, il faut aussitôt supprimer la
commande en question).
8) Utiliser ces procédures pour insérer des données.
9) Créer une procédure stockée nommée SP_NbreCde qui retourne le
nombre des commandes.
10) Créer une procédure stockée nommée SP_NbrArtCom qui
retourne le nombre d'articles d'une commande dont le numéro est
donné en paramètre.
11) Créer une procédure stockée nommée SP_TypePeriode qui
renvoie un code de retour. Si le nombre de commandes est
supérieur à 100, la procédure renvoie 1. Si le nombre de
commandes est entre 50 et 100, la procédure renvoie 2. Si le
nombre de commandes est inférieur à 50, la procédure renvoie 3. Si
une erreur système a lieu, la procédure renvoie 4.
12) Créer un déclencheur qui interdit la modification du numéro de
commande et vérifie si la date saisie pour la date de commande est
supérieure ou égale à la date du jour.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Lundi 13 Février 2017

Exercice N° 1
Soit l’entité PRODUIT ci-dessous illustrée :

PRODUIT
Code
Désignation
Prix Unitaire
Stock
Seuil

TAF :
1 – Créer avec le script la table PRODUIT.
2 – Insérer avec le script au moins dix enregistrements.
3 – Créer une requête qui affiche tous les produits par ordre décroissant
des prix.
4 – Créer une requête qui affiche le prix moyen des produits.
5 – Créer une requête affiche le plus petit et le plus grand prix des
produits.
6 – Créer une requête qui affiche les produits dont la désignation
commence par B.
7 – Créer une requête qui affiche la liste des produits dont le prix est
compris entre 2500 et 8500, dont la désignation compte moins de dix
caractères et dont le deuxième caractère est une voyelle.
8 – Créer une requête qui affiche la valeur totale du stock actuel.
9 – Créer une requête qui affiche la liste des produits dont le prix est
supérieur au prix moyen des produits.
10 – Créer une requête qui affiche la liste des produits ayant atteint le
seuil.
Exercice N° 2
Soit le Modèle Conceptuel de Données ci-dessous illustré :

NIVEAU Appartenir 1,n CATEGORIE


Numéro Niveau Prix Code catégorie
Désignation

1,n

1,1
1,1 CHAMBRE
Appartenir 1,n
Numéro chambre Concerner

1,1

CLIENT RESERVATION
1,n 1,1
Numéro client Passer Numéro réservation
Nom Date début
Prénom Date fin
Sexe Type
Age

TAF :
1 – Créer avec le script, la base de données « Gestion_Hotel ».
2 – Créer chacune des tables avec le script, (le numéro réservation doit
être automatique commençant par 4 et s’incrémentant de 2).
3 – Générer les relations entre ces tables.
4 – Modifier la colonne Nom pour qu’elle n’accepte pas une valeur nulle.
5 – Ajouter une contrainte sur la colonne sexe de telle sorte qu’elle
n’accepte que les valeurs « M » ou « F ».
6 – Ajouter une contrainte sur la colonne Type de telle sorte qu’elle
n’accepte que l’une des valeurs : « Annulée », « En cours » ou « Séjour ».
7 – Ajouter une contrainte qui fasse que la date début réservation soit
toujours inférieure à la date fin réservation.
8 – Ajouter une contrainte sur la colonne Prix de telle sorte qu’il soit
compris entre 35 000 F et 75 000 F.
9 – Ajouter la colonne Date de réservation qui par défaut aura la date
système comme valeur.
10 – Ajouter une contrainte sur la colonne Numéro chambre de telle sorte
qu’il n’accepte pas des valeurs inférieures à 100.
11 – Afficher la liste des clients qui ont une réservation en cours.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Lundi 28 Novembre 2016

Soit le MCD illustré ci-après :

ARTICLE COMMANDE
1,n LigneCde 1,n Numéro Commande
Numéro Article
Désignation QteCde Date Commande
Prix Article
Stock

TAF :
1) Créer la base de données « Gestion_Commande » avec le script.
2) Créer chaque table issue du MCD précédent avec le script.
3) Changer le nom de la base de données : au lieu de
Gestion_Commande, on veut que cette base s’appelle
Gestion_Stock.
4) Ajouter une contrainte à la colonne Prix Article pour qu’il n’accepte
pas les valeurs inférieures à 1 500 F et supérieures à 65 000 F.
5) Ajouter la colonne Poids dans la table ARTICLE.
6) Ajouter la colonne Couleur dans la table ARTICLE.
7) Ajouter une contrainte à la couleur pour qu’il n’accepte que les
couleurs suivantes : Rouge, Vert, Bleu, Blanc, Noir, Jaune et Jaune.
8) Ajouter une contrainte au poids pour qu’il n’accepte que les valeurs
allant de 30 g à 45 Kg.
9) Générer les relations entre les tables.
10) Créer pour chaque table au moins cinq enregistrements.
11) Ecrire une requête qui affiche le nombre d’articles par
commande.
12) Lister les articles jaunes commandés le mois passé dont la
désignation ne comporte pas la lettre T.
13) Créer une requête nommée NbreCde qui renvoie un code de
retour. Si le nombre de commandes est supérieur à 100, la requête
renvoie 1. Si le nombre de commandes est entre 50 et 100, la
requête renvoie 2. Si le nombre de commandes est inférieur à 50, la
requête renvoie 3. Si une erreur système a lieu, la requête renvoie
4.
14) Lister les articles qui ont un prix unitaire supérieur à celui de
l’article Lavabo.
15) Créer une requête qui affiche la quantité totale commandée
par article.
16) Lister les commandes dont le nombre d’article dépasse deux.
17) Créer une requête qui affiche le total des montants par
commande.
18) Ecrire une requête qui affiche le nombre d’articles et quantité
totale par commande par ordre décroissant du nombre d’articles et
par ordre croissant de la quantité totale.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux Dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Lundi 29 Mai 2017

Exercice
Soit le MCD suivant :

ARRONDISSEMENT EMPLOYE
1,n 1,1 Numéro Employé
Code Appartenir Nom
Libellé Prénom
Date Naissance
Sexe

ENFANT 1,n

Numéro Enfant 1,1 Déclarer


Nom
Prénom
Date Naissance
Sexe

Travail à faire :
1 – Ecrire la requête qui affiche tous les employés.
2 – Ecrire une requête qui affiche la liste des employés de sexe masculin
nés après l’indépendance du Congo venant de Makélékélé, Ouenzé, Mfilou
et Moungali et dont le nom compte au moins 6 caractères et dont le
deuxième caractère du prénom n’est pas une voyelle.
3 – Ecrire une requête qui affiche le nombre d’employés par
Arrondissement.
4 – Ecrire une requête qui affiche le nombre d’enfants par employés.
5 – Ecrire une requête qui affiche la liste les employés dont l’âge est
supérieur à l’âge moyen des employés de sexe féminin nés au deuxième
mois du cinquième bimestre de leur date de naissance.
6 – Ecrire une requête qui supprime les enfants nés entre le 15/05/2013
et le 29/11/2013.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Mercredi 28 Décembre 2016

Soit le MCD illustré ci-après :

ARTICLE ACHAT
1,n Concerner 1,n Numéro Achat
Numéro Article Date Achat
Désignation QteAchat
Prix Article
Stock

1,n
VENDEUR
Concerner 1 1,n Numéro vendeur
QteVte Nom
Prénom
Catégorie
Effectuer
1,n

VENTE
1,1
Numéro Vente
Date vente

TAF :
1) Créer la base de données « Gestion_Stock » avec le script.
2) Créer chaque table issue du MCD précédent avec le script.
3) Générer les relations entre les tables.
4) Créer pour les tables « VENDEUR » et « ARTICLE » une procédure
stockée pour l’insertion et une autre pour la suppression des
données.
5) Utiliser ces procédures pour insérer des données.
6) Créer un trigger qui met à jour le stock après un achat.
7) Créer un trigger qui met à jour le stock après une vente.
8) Créer un trigger qui met à jour la catégorie du vendeur de telle
sorte qu’un vendeur ayant réalisé des ventes mensuelles
supérieures à 500 000 F passe à la catégorie supérieure. Celui ayant
réalisé des ventes mensuelles inférieures ou égales à 500 000 F
régresse d’une unité de la catégorie sauf pour celui qui est à la
catégorie 1.
9) Créer une procédure stockée qui affiche le chiffre d’affaire réalisé
par un vendeur donné à une période donnée.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Mercredi 28 Décembre 2016

Soit le schéma relationnel suivant :

CLIENT PRODUIT
COMMANDE
IdClt Ref
NomClt NoCmd Désignation
PrenomClt IdClt Quantité
AdresseClt Ref Prix
VilleClt DateCmd
DateLiv

Travail à faire en SQL Server


1) Créer la base de données nommée « BD_GESCOM ».
2) Créer la table CLIENT en précisant la clé primaire.
3) Modifier la colonne VilleClt pour qu’elle n’accepte pas une valeur
nulle.
4) Modifier les colonnes NomClt et PrenomClt pour qu’elles prennent la
valeur ‘SansNom’ et ‘SansPrenom’ par défaut respectivement.
5) Créer la table PRODUIT en précisant la clé primaire qui commence
par 1 et s’incrémente automatiquement de 1.
6) Créer la table COMMANDE en précisant la clé primaire, préciser
pendant la création que IdClt est une clé étrangère vers la table
CLIENT.
7) Créer une contrainte fk_Ref qui désigne Ref comme clé étrangère de
la table COMMANDE vers la table PRODUIT.
8) Créer une contrainte ck_date qui empêche la saisie d’une date
DateLiv (de livraison) antérieure à la date DateCmd (commande).
9) Ajouter une colonne calculée à la table COMMANDE qui contient le
délais de livraison qui est la différence entre la date de commande
et la date de livraison (NB : DATEDIFF est une fonction qui retourne
la différence entre la date en jour, mois ou année
(DATEDIFF(DAY[MONTH|YEAR, 1ère date, 2ème date)).
10) Ecrire le code SQL permettant d’insérer trois lignes
d’enregistrement au choix dans les tables CLIENT et PRODUIT et 7
lignes d’enregistrements dans la table COMMANDE.
11) Ecrire le code SQL permettant de modifier la valeur de la
colonne NomClt en « BOLOKO » et celle de la colonne PrenomClt en
« JEAN MARIE » au niveau de la deuxième ligne d’enregistrement de
la table CLIENT.
12) Créer une vue nommée « View_CommandeByClient »
permettant d’afficher les produits commandés par chacun des
clients.
13) Ecrire le code permettant de supprimer toutes les lignes de la
table COMMANDE exceptée la première ligne d’enregistrement.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Samedi 04 Février 2017

Exercice N° 1
Soit la base de données suivante :

Créer les triggers suivants :


TR 1.. Qui, à l'ajout de costumes dans la table Costume, vérifie si les
numéros de stylistes concernés existent dans la table Styliste. Si ce n'est
pas le cas annuler l'opération d'ajout.

TR 2.. Qui, à la suppression de costumes, vérifie si des notes leur ont été
attribuées. Si c'est le cas empêcher la suppression.

TR 3.. Qui, à l'affectation de notes à des costumes dans la table


NotesJury, vérifie si les costumes et les membres de jury existent et si les
notes attribuées sont comprises entre 0 et 20.

TR 4.. Qui à l'ajout de membres jury, cherche si leurs fonctions existent


dans la table Fonction si ce n'est pas le cas il les rajoute.

Exercice N° 2
Soit la base de données suivante :
Les opérations consistent en des opérations de retrait ou de dépôt
d'argent (TypeOp=D si le client a déposé de l'argent sur son compte
et TypeOp=R si le client a retiré de l'argent sur son compte)
Un client ne peut avoir qu'un seul compte courant (TypeCpt="CC")
et qu'un seul compte sur carnet (TypeCpt="CN")
Le numéro d'opération est automatique
La date de l'opération prend par défaut la date du jour

Créer les triggers suivants :


TR 1.. Qui à l'ajout ou à la modification de clients dans la table client
vérifie si les Numéros de CIN saisies n'existent pas pour d'autres clients
TR 2.. Qui à la création de comptes, vérifie si :
Les soldes sont supérieurs à 1 500 000 F CFA ;
Les types de compte sont CC ou CN et aucune autre valeur n'est
acceptée ;
Les clients n'ont pas déjà des comptes du même type.
TR 3.. Qui interdit la suppression de comptes dont le solde est > 0 ou de
comptes pour lesquels la dernière opération date de moins de 3 mois
même s'ils sont vides (solde=0).
TR 4.. Qui :
Interdit la modification des numéros de comptes ;
Interdit la modification du solde de comptes auxquels sont associées
des opérations ;
Ne permet pas de faire passer des comptes sur carnet en comptes
courants, le contraire étant possible ;
A la modification de numéros de clients vérifie si les nouveaux
clients n'ont pas de comptes associés du même type.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Samedi 04 Février 2017

Soit la Direction des Examens et Concours (DEC), organisme congolais


organisant les examens d’Etat (CEPE, BEPC, BAC) et assurant la
publication de leur résultat.
Pour ce faire elle enregistre les matières programmées par examen avec
pour chacune son coefficient et sa désignation puis les candidats
présentés à ces différents examens par rapport à l’année scolaire. Il
s’avère que les candidats s’inscrivent dans les différents centres d’examen
comme Pierre Savorgnan de Brazza situé à Brazzaville.
Du dépôt du dossier le candidat fournit son extrait d’acte de naissance, à
l’issue des épreuves et corrections les notes obtenues dans les différentes
matières par les candidats sont prises en compte. Enfin on reconnaît un
centre par son libellé.

TAF :
1) Elaborer le Modèle Conceptuel des Données de cette préoccupation.
2) Elaborer le Modèle Logique des Données Relationnel.
3) Créer la base de données « Gestion_Examen » en SQL Server en
utilisant le script.
4) Créer avec le script chacune des tables issues du MCD précédent.
5) Générer les relations entre les tables.
6) En utilisant le script, insérer des enregistrements dans chacune des
tables (au moins 5 enregistrements par table).
7) Lister tous les candidats.
8) Lister tous les candidats qui ont fait le Baccalauréat C en 2012-
2013.
9) Lister les matières avec pour chacune son coefficient du
Baccalauréat D en 2013-2014.
10) Quels sont les candidates de Brazzaville qui ont présenté le
CEPE en 2011-2012 ?
11) Lister les candidats (par ordre alphabétique du nom) de
Pointe-Noire, de plus de 18 ans qui ont obtenu au moins 15 en
mathématiques au Baccalauréat C en 2010-2011, dont le nom
compte au moins huit caractères et dont le mois de naissance ne
correspond pas au troisième trimestre.
12) Supprimer le candidat TCHIKAYA Pierre du centre NGANGA
Edouard qui présente le BEPC en 2014-2015 si aucune note ne lui
est attribuée.
13) Lister les candidats de plus de 19 ans présentant le
Baccalauréat D en 2014-2015 qui n’ont pas de prénom et dont le
centre est situé à DOLISIE.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Samedi 19 Novembre 2016

Soit la Direction des Examens et Concours (DEC), organisme congolais


organisant les examens d’Etat (CEPE, BEPC, BAC) et assurant la
publication de leur résultat.
Pour ce faire elle enregistre les matières programmées par examen avec
pour chacune son coefficient et sa désignation puis les candidats
présentés à ces différents examens par rapport à l’année scolaire. Il
s’avère que les candidats s’inscrivent dans les différents centres d’examen
comme Pierre Savorgnan de Brazza situé à Brazzaville.
Du dépôt du dossier le candidat fournit son extrait d’acte de naissance, à
l’issue des épreuves et corrections les notes obtenues dans les différentes
matières par les candidats sont prises en compte. Enfin on reconnaît un
centre par son libellé.

TAF :
1) Elaborer le Modèle Conceptuel des Données de cette préoccupation.
2) Elaborer le Modèle Logique des Données Relationnel.
3) Créer la base de données « Gestion_Examen » en SQL Server en
utilisant le script.
4) Créer avec le script chacune des tables issues du MCD précédent.
5) Générer les relations entre les tables.
6) En utilisant le script, insérer des enregistrements dans chacune des
tables (au moins 5 enregistrements par table).
7) Lister tous les candidats.
8) Lister tous les candidats qui ont fait le Baccalauréat C en 2012-
2013.
9) Lister les matières avec pour chacune son coefficient du
Baccalauréat D en 2013-2014.
10) Quels sont les candidates de Brazzaville qui ont présenté le
CEPE en 2011-2012 ?
11) Lister les candidats (par ordre alphabétique du nom) de
Pointe-Noire, de plus de 18 ans qui ont obtenu au moins 15 en
mathématiques au Baccalauréat C en 2010-2011, dont le nom
compte au moins huit caractères et dont le mois de naissance ne
correspond pas au troisième trimestre.
12) Supprimer le candidat TCHIKAYA Pierre du centre NGANGA
Edouard qui présente le BEPC en 2014-2015 si aucune note ne lui
est attribuée.
13) Lister les candidats de plus de 19 ans présentant le
Baccalauréat D en 2014-2015 qui n’ont pas de prénom et dont le
centre est situé à DOLISIE.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Samedi 28 Janvier 2017

Exercice
Une société achète à ses fournisseurs des produits bruts qu'elle utilise
dans la fabrication de produits finis. On souhaite gérer la composition et
les mouvements de stock de chaque produit fini.
Les Mouvements de stock sont les opérations d'entrée ou de sortie
(type=S ou type=E) de produits finis vers ou depuis le magasin.
La base de données a la structure suivante :

On suppose que les tables 'Mouvement', 'Produit Fini' et 'Fournisseur' sont


créées.

Créer les procédures suivantes :


PS 1.. Qui crée les tables ProduitBrut et Composition.
PS 2.. Qui affiche le nombre de produits bruts par produit Fini.
PS 3.. Qui retourne en sortie le prix d'achat le plus élevé.
PS 4.. Qui affiche la liste des produits finis utilisant plus de deux produits
bruts.
PS 5.. Qui reçoit le nom d'un produit brut et retourne en sortie la raison
sociale de son fournisseur.
PS 6.. Qui reçoit le code d'un produit fini et qui affiche la liste des
mouvements de sortie pour ce produit.
PS 7.. Qui reçoit le code d'un produit fini et le type de mouvement et qui
affiche la liste des mouvements de ce type pour ce produit fini.
PS 8.. Qui pour chaque produit fini affiche :
La quantité en stock pour ce produit,
La liste des mouvements concernant ce produit,
La quantité totale en sortie et la quantité totale en entrée,
La différence sera comparée à la quantité en stock. Si elle
correspond afficher 'Stock Ok' sinon afficher 'Problème de Stock'.
PS 9.. Qui reçoit un code produit fini et retourne en sortie son prix de
revient.
PS 10.. Qui affiche pour chaque produit fini :
Le prix de reviens (utiliser la procédure précédente),
La liste des produits bruts le composant (nom, Mt, RSFour),
Le nombre de ces produits.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Vendredi 31 Mars 2017

Exercice N° 1
Soit la base de données suivante :

Créer les triggers suivants :


TR 1.. Qui, à l'ajout de costumes dans la table Costume, vérifie si les
numéros de stylistes concernés existent dans la table Styliste. Si ce n'est
pas le cas annuler l'opération d'ajout.

TR 2.. Qui, à la suppression de costumes, vérifie si des notes leur ont été
attribuées. Si c'est le cas empêcher la suppression.

TR 3.. Qui, à l'affectation de notes à des costumes dans la table


NotesJury, vérifie si les costumes et les membres de jury existent et si les
notes attribuées sont comprises entre 0 et 20.

TR 4.. Qui à l'ajout de membres jury, cherche si leurs fonctions existent


dans la table Fonction si ce n'est pas le cas il les rajoute.

Exercice N° 2
Soit la base de données suivante :
Les opérations consistent en des opérations de retrait ou de dépôt
d'argent (TypeOp=D si le client a déposé de l'argent sur son compte
et TypeOp=R si le client a retiré de l'argent sur son compte)
Un client ne peut avoir qu'un seul compte courant (TypeCpt="CC")
et qu'un seul compte sur carnet (TypeCpt="CN")
Le numéro d'opération est automatique
La date de l'opération prend par défaut la date du jour

Créer les triggers suivants :


TR 1.. Qui à l'ajout ou à la modification de clients dans la table client
vérifie si les Numéros de CIN saisies n'existent pas pour d'autres clients
TR 2.. Qui à la création de comptes, vérifie si :
Les soldes sont supérieurs à 1 500 000 F CFA ;
Les types de compte sont CC ou CN et aucune autre valeur n'est
acceptée ;
Les clients n'ont pas déjà des comptes du même type.
TR 3.. Qui interdit la suppression de comptes dont le solde est > 0 ou de
comptes pour lesquels la dernière opération date de moins de 3 mois
même s'ils sont vides (solde=0).
TR 4.. Qui :
Interdit la modification des numéros de comptes ;
Interdit la modification du solde de comptes auxquels sont associées
des opérations ;
Ne permet pas de faire passer des comptes sur carnet en comptes
courants, le contraire étant possible ;
A la modification de numéros de clients vérifie si les nouveaux
clients n'ont pas de comptes associés du même type.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Vendredi 10 Février 2017

MAKAYA Landry est un de nos agents. Au mois de Mars 2011, il avait


réalisé 115 heures de travail et perçu un salaire mensuel de 115H *
1 250F soit 143 750F. En effet MAKAYA perçoit en sa qualité de cadre
1 250F par heure ; les autres agents étant ouvriers perçoivent 530F à
l’heure. MAKAYA travaille dans notre restaurant depuis le 16/09/1983.
Actuellement, il évolue au service Approvisionnement après avoir été au
service Restauration du 01/10/1990 au 12/12/2003. Une prime spéciale
de 2 500F à 6 000F est versée au personnel selon le Service où il évolue.
Tous les agents ont déposé un dossier au service personnel dans lequel on
trouve outre les nom et prénom, la date de naissance, le lieu de naissance
le sexe, l’adresse et numéro de téléphone.

TAF :
1) Elaborer le Modèle Conceptuel des Données de cette préoccupation.
2) Elaborer le Modèle Logique des Données Relationnel.
3) Créer la base de données « RESTAURANT » en SQL Server en
utilisant le script.
4) Créer avec le script de chacune des tables issues du MCD précédent.
5) Générer les relations entre les tables.
6) En utilisant le script, insérer des enregistrements dans chacune des
tables (au moins 5 enregistrements par table).
7) Lister tous les agents.
8) Lister tous les agents (par ordre alphabétique du nom) du service
Approvisionnement.
9) Lister tous les agents avec pour chacun d’eux son ancienneté.
10) Lister les agents cadres présents dans le restaurant depuis au
moins une décennie qui n’ont pas de prénoms, qui évoluent au
service Restauration depuis au moins sept semaines, dont les noms
ont en deuxième caractère la deuxième voyelle et qui ont été
recrutés le deuxième mois du troisième trimestre de leur année de
naissance.
11) Lister les agents de sexe masculin qui ont été recrutés à l’âge
de 25 ans dont le mois de naissance correspond au mois
d’embauche.
12) Quels sont les agents du service Approvisionnement qui n’ont
pas travaillé le mois passé ?
13) Lister les agents du service Personnel qui iront en retraite dans
17 mois sachant que l’âge de départ à la retraite est fixé à 60 ans.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés de : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Vendredi 17 Février 2017

Soit le MCD illustré ci-après :

CLIENT COMMANDE
1,n Passer 1,1 NuméroCommande
NuméroClient
NomClient DateCommande
PrénomClient DateLivraison
AdresseClient
VilleClient
1,n
PRODUIT

Référence Concerner
Désignation
PrixProduit
Quantité 1,1

Travail à Faire :
1) Créer la base de données nommée « BD_GESTION_COMMANDE ».
2) Créer la table CLIENT en précisant la clé primaire.
3) Modifier la colonne VilleClient pour qu’elle n’accepte pas une valeur
nulle.
4) Modifier les colonnes NomClient et PrenomClient pour qu’elles
prennent la valeur ‘SansNom’ et ‘SansPrenom’ par défaut
respectivement.
5) Créer la table PRODUIT en précisant la clé primaire qui commence
par 1 et s’incrémente automatiquement de 1.
6) Créer la table COMMANDE en précisant la clé primaire, préciser
pendant la création que NumeroClient est une clé étrangère vers la
table CLIENT.
7) Créer une contrainte fk_Ref qui désigne Référence comme clé
étrangère de la table COMMANDE vers la table PRODUIT.
8) Créer une contrainte ck_date qui empêche la saisie d’une date
DateLivraison (de livraison) antérieure à la date DateCommande
(commande).
9) Ajouter une colonne calculée à la table COMMANDE qui contient le
délai de livraison qui est la différence entre la date de commande et
la date de livraison (NB : DATEDIFF est une fonction qui retourne la
différence entre la date en jour, mois ou année
(DATEDIFF(DAY[MONTH|YEAR, 1 date, 2ère ème
date)).
10) Ecrire le code SQL permettant d’insérer trois lignes
d’enregistrement au choix dans les tables CLIENT et PRODUIT et
sept lignes d’enregistrements dans la table COMMANDE.
11) Ecrire le code SQL permettant de modifier la valeur de la
colonne NomClient en « MAVOUNGOU MABIALA » et celle de la
colonne PrenomClient en « Christian Desroche » au niveau de la
deuxième ligne d’enregistrement de la table CLIENT.
12) Créer une vue nommée « View_CommandeByClient »
permettant d’afficher les produits commandés par chacun des
clients.
13) Ecrire le code permettant de supprimer toutes les lignes de la
table COMMANDE excepté la première ligne d’enregistrement.
14) Ecrire le code permettant de supprimer les clients de
Brazzaville dont les noms ont une voyelle en troisième caractère et
dont les prénoms se terminent par la lettre E.
15) Ecrire le code permettant d’afficher le nombre de commandes
par Client.
16) Ecrire le code permettant d’afficher les commandes qui
comptent plus de cinq produits.
17) Ecrire le code permettant d’augmenter de 10% le prix des
produits dont la désignation compte moins de six caractères.
18) Lister les clients qui n’ont pas passé de commandes le mois
passé.
19) Lister les produits commandés depuis quarante jours par les
clients de Pointe-Noire habitant le quartier OCH.
20) Lister les produits qui n’ont pas été commandés par les clients
de MOUKONDO depuis cinq mois.
CENTRE D’ENCADREMENT Année Académique : 2016-2017
EN INFORMATIQUE

Travaux dirigés : SQL Server


Filière : Informatique
Cycle : Licence
Niveau : 3ème Année
Date : Vendredi 31 Mars 2017

Exercice
Une société achète à ses fournisseurs des produits bruts qu'elle utilise
dans la fabrication de produits finis. On souhaite gérer la composition et
les mouvements de stock de chaque produit fini.
Les Mouvements de stock sont les opérations d'entrée ou de sortie
(type=S ou type=E) de produits finis vers ou depuis le magasin.
La base de données a la structure suivante :

On suppose que les tables 'Mouvement', 'Produit Fini' et 'Fournisseur' sont


créées.

Créer les procédures suivantes :


PS 1.. Qui crée les tables ProduitBrut et Composition.
PS 2.. Qui affiche le nombre de produits bruts par produit Fini.
PS 3.. Qui retourne en sortie le prix d'achat le plus élevé.
PS 4.. Qui affiche la liste des produits finis utilisant plus de deux produits
bruts.
PS 5.. Qui reçoit le nom d'un produit brut et retourne en sortie la raison
sociale de son fournisseur.
PS 6.. Qui reçoit le code d'un produit fini et qui affiche la liste des
mouvements de sortie pour ce produit.
PS 7.. Qui reçoit le code d'un produit fini et le type de mouvement et qui
affiche la liste des mouvements de ce type pour ce produit fini.
PS 8.. Qui pour chaque produit fini affiche :
La quantité en stock pour ce produit,
La liste des mouvements concernant ce produit,
La quantité totale en sortie et la quantité totale en entrée,
La différence sera comparée à la quantité en stock. Si elle
correspond afficher 'Stock Ok' sinon afficher 'Problème de Stock'.
PS 9.. Qui reçoit un code produit fini et retourne en sortie son prix de
revient.
PS 10.. Qui affiche pour chaque produit fini :
Le prix de revient (utiliser la procédure précédente),
La liste des produits bruts le composant (nom, Mt, RSFour),
Le nombre de ces produits.

Vous aimerez peut-être aussi