Vous êtes sur la page 1sur 9

Base de Données – Série des TDs Pour La Préparation du BTS

TD1 : Soit le schéma de base de données relationnel suivant :

AGENCE (NumAgence, Nom, Ville)

CLIENT (NumClient, Nom, Ville)

COMPTE (NumCompte, #Num_Agence, #Num_Client, Solde)

EMPRUNT (NumEmprunt, #Num_Agence, #Num_Client, Montant). TAF : Ecrire les requêtes suivantes en SQL :

1) Créez Les Tables Agence, Client, Compte Et Emprunt ;


2) Le nombre des clients ;
3) Le montant maximum des emprunts ;
4) Le montant minimum des emprunts ;
5) La moyenne des soldes des Comptes ;
6) La liste des agences ayant des comptes-clients ;
7) Les Clients ayant un compte à une agence à paris ;
8) Nombre de clients habitant “YAGOUA” ;
9) Solde moyen des comptes-clients de chaque agence ;
10) Diminuer l’emprunt de tous les clients habitant “Maroua” de “50%”

Soit la base de données d’un festival de musique : Dans une représentation peut participer un ou plusieurs musiciens. Un
musicien ne peut participer qu’à une seule représentation.

• Representation (Num_Rep , titre_Rep , lieu)

• Musicien (Num_mus , nom , #Num_Rep)

• Programmer (Date , #Num_Rep , tarif)

TAF : Requêtes SQL :

La liste des titres des représentations.

La liste des titres des représentations ayant lieu au « théâtre allissa ».

La liste des noms des musiciens et des titres et les titres des représentations auxquelles ils participent.

La liste des titres des représentations, les lieux et les tarifs du 25/07/2008.

Le nombre des musiciens qui participent à la représentation n°20.

Les représentations et leurs dates dont le tarif ne dépasse pas 20000.

Exercice 2

Soit la base de données suivante :

• Départements :( DNO, DNOM, DIR, VILLE)

1/1
• Employés : ( ENO, ENOM, PROF, DATEEMB, SAL, COMM, #DNO)

TAF : Requêtes SQL :

Donnez la liste des employés ayant une commission

Donnez les noms, emplois et salaires des employés par emploi croissant, et pour chaque emploi, par salaire décroissant

Donnez le salaire moyen des employés

Donnez le salaire moyen du département Production

Donnes les numéros de département et leur salaire maximum

Donnez les différentes professions et leur salaire moyen

Exercice 3

Soit le modèle relationnel suivant relatif à la gestion des notes annuelles d’une promotion d’étudiants :

• ETUDIANT (NEtudiant, Nom, Prénom)

• MATIERE (CodeMat, LibelléMat, CoeffMat)

• EVALUER (#NEtudiant, #CodeMat, Date, Note)

Exprimez en SQL les requêtes suivantes :

Quel est le nombre total d’étudiants ?

Quelles sont, parmi l’ensemble des notes, la note la plus haute et la note la plus basse ?

Quelles sont les moyennes de chaque étudiant dans chacune des matières ?

Quels sont les étudiants qui ont une moyenne générale supérieure ou égale à la moyenne générale de la promotion?

Schéma 1 :

Soit la base de données « Suivi_Enseignement » qui referme trois tables : Etudiant, Enseignant Et Enseignement.

 Enseignant (CodeEns, NomEns, PrenomEns, AdresseEns, TelEns, SpecialiteEns) ;

 Etudiant (MatriculeEtd, NomEtd, PrenomEtd, DateNaissEtd, SexeEtd, AdresseEtd, VilleEtd) ;

 Enseignement (#CodeEns, #MatriculeEtd)

Travail A Faire :

1) Déduire le Schéma Conceptuel ;

2) Créer Les 3 Tables ;

3) Ecrire Les Requêtes SQL Suivantes :

2/1
a) Afficher La Liste des Etudiants dont le nom contient la lettre ‘a’ ;

b) Afficher la liste des étudiants de sexe féminin ;

Soient les relations suivantes :

PILOTE (NUMPIL, NOMPIL, ADR, SAL)

AVION (NUMAV, NOMAV, CAPACITE, LOCALISATION)

VOL (NUMVOL, NUMPIL*, NUMAV*, VILLE_DEP, VILLE_ARR, H_DEP, H_ARR)

Travail A Faire : Exprimer En SQL Les Requêtes Suivantes :

1. Ordre de Création des Tables ;

2. Donnez la liste des avions dont la capacité est supérieure à 350 passagers ;

3. Quels sont les numéros et noms des avions localisés à Bamenda ?;

4. Quel est le nom des pilotes domiciliés à Yaoundé dont le salaire est supérieur à 150 000 FCFA ?;

5. Quels sont les avions (numéro et nom) localisés à Kribi où la capacité est inférieure à 350 passagers ?;

6. Quels sont les numéros des pilotes qui ne sont pas en service ?;

7. Donnez le numéro des vols effectués au départ de Douala par des pilotes Kribiens ?;

8. Quels sont les vols effectués par un avion qui n’est pas localisé à Kumba ?;

9. Quels sont les noms des pilotes domiciliés à N’Gaoundéré assurant un vol au départ de Garoua avec un Airbus ?;

10. Quels sont les pilotes (numéro et nom) habitant dans la même ville que le pilote TABIS ?

Enoncé 2 : Soit le schéma relationnel suivant :

Articles (num_art, libellé, stock, prixinventaire)

Fournisseurs (num_frs, nomfrs, adrfrs, villefrs)

Acheter (num_frs*,num_art*,prixachat,délai)

Travail A Faire : Exprimez les requêtes suivantes en SQL :

1. Ordre de Création des Tables du schéma ;

2. Donnez le numéro et le libellé des articles dont le stock est inférieur à 10 ?;

3. Donnez le nom et l’adresse des fournisseurs qui proposent des articles pour lesquels le délai d’approvisionnement est
supérieur à 20 jours ?;

4. Donnez le nombre d’articles total ?;

5. Donnez le numéro et le libellé des articles triés dans l’ordre décroissant des stocks ?;

3/1
6. Donnez, pour chaque article (numéro et libellé), les prix d’achat maximum, minimum et moyen ;

7. Donnez le délai moyen pour chaque fournisseur proposant au moins deux articles ?

1.1. Exercice 2  : Langage SQL :

Définir le sigle SQL. A quoi sert le SQL ? Citez Quatres de ses Utilités ?

Considérons le schéma relationnel suivant :

CLIENTS (NumCli, Nom, Prénom, Adresse, Ville, Téléphone)

ACHATS (#NumCli, #NumArt, Date, Quantité)

ARTICLES (NumArt, Désignation, Catégorie, Prix)

TAF :

 Créer en SQL la base de données VENTE et l’ensemble des tables de la base ;

 Quels sont les rôles des commandes GRANT et REVOLKE en SQL ;

 Donnez la commande SQL qui affiche les noms, prénoms et ville des clients de la basse de donnée VENTE.

1.2. Exercice 3  : Base de Données Livraison :

Soit le schéma relationnel de la base de données Livraison par des fournisseurs de produits à l’usine YVAN’S
INDUSTRY.

USINE (NumUs, NomUs, VilleUs)

PRODUIT (NumP, NomP, CouleurP, PoidsP)

FOURNISSEUR (NumF, NomF, StatutF, VilleF)

LIVRAISON (#NumP, #NumUs, #NumF, Quantité)

TAF : Exprimer en langage SQL les requêtes suivantes :

 Ajouter un nouveau fournisseur avec les valeurs d’attribut de votre choix ;

 Supprimer tous les produits de couleur noire et de numéros compris entre 100 et 1999 ;

 Changer la ville du fournisseur numéro 3 en ‘DOUALA’ ;

 Donnez le numéro, le nom, la ville de toutes les usines dont la ville comporte le mot « ba » ;

 Donnez les numéros des fournisseurs qui approvisionnent l’usine de numéro 2 en produit de numéro 100 ;

 Donnez les noms et les couleurs des produits livrés par le fournisseur de numéro 2.

4/1
1.3. Exercice 4  : Base de Données Entreprise LUCRESSE_SOFT :

Soient les relations suivantes de la base de données de l’entreprise LUCRESSE_SOFT :

EMPLOYE (NumE, Fonction, Date_Embauche, Salaire_Base, Commission, #NumD) ;

DEPARTEMENT (NumD, NomD, LieuD)

Sachant que :

 NumD, Salaire_Base, Commission : Entier de 20 Chiffres ;

 NomD, LieuD, NomE, Fonction : Chaine de 30 Caractères au maximum ;

 Date_Embauche : Date ;

TAF : exprimer en langage SQL les requêtes suivantes :

 Ecrire les requêtes de création des tables tout en respectant le type et la longueur des différents attributs ;

 Donnez la liste (nom et commission) des employés ayant une commission non NULL. La liste sera classée par
commission décroissante ;

 Donnez les noms, date d’embauche et numéro de département des personnes embauchées depuis le 1er Janvier 2019 ;

 Donnez la moyenne des salaires de base ;

 Donnez le nombre de commission non vides ;

 Donnez la liste (nom, fonction et salaire de base) des employés gagnant plus que la moyenne des salaires de base de
l’entreprise.

1.4. Exercice 5  : Gestion Centre de Formation :

Un centre de formation en informatique propose des formations de différents niveaux. Chaque formation est organisée
en plusieurs sessions afin de répondre à la forte demande dans le secteur. Le schéma conceptuel du système est le suivant :

5/1
Organiser Session
1,1
NumSession <pi> Entier
1,1
DateDebutSession Date Animer
...

1,n

1,n
Formation
NumFormation <pi> Entier
Professeur
IntituléFormation Caractère variable (50)
NiveauFormation Entier NumProfesseur <pi> Entier
DuréeFormation Entier NomProfesseur Caractère variable (50)
PrénomProfesseur Caractère variable (50)
...
1,n

Stagiaire

Concerner NumStagiaire <pi> Entier


NomStagiaire Caractère variable (50)
Nbre_Inscrits Entier 1,n
PrénomStagiaire Caractère variable (50)
VilleStagiaire Caractère variable (50)
...

TAF :

 Déduire le Schéma Relationnel correspondant ;

 Elaborez les requêtes suivant en langage SQL :

o Créer les tables du système ;

o Quels sont les stagiaires (numéro, nom, prénom) ayant suivi la session 1537 ;

o Quels sont les noms des formateurs triés par ordre croissant ayant animé les sessions relatives à la formation
« Initiation A SQL » ;

o Quel est le nombre des sessions animées en 2019 par chaque professeur trié par ordre décroissant sur le nom
du professeur (Nom, Nombre de Sessions) ;

o Quelle est la durée moyenne des formations dont les sessions ont débutées en 2015 ;

o Quelles sont les formations (numéro, intitulé) relatives au système d’exploitation Windows (intitulés des
formations dans lesquels le mot Windows est présent) ;

o Quelles sont les formations (numéro, intitulé) qui n’ont pas donné lieu à des sessions depuis 1er Janvier 2018.

1.5. Exercice 6  : Base de Données Système de Facturation :

Soit la base de données composée des tables suivantes :

FACTURE (NumFact, DateFact, #NumCli)

LIGNE_FACTURE (#NumFact, #NumArt, Quantié)

ARTICLE (NumArt ; Libellé, Unité, Prix)

CLIENT (NumCli, Nom, Ville, Pays)

6/1
TAF : Ecrire les requêtes suivantes en langage SQL :

 Afficher le nombre total de factures ;

 Afficher la liste des clients de douala ;

 Calculer les quantités facturées par article ;

 Calculer le chiffre d’affaire du mois de Janvier 2019 ;

 Etablir le cumul des factures par client ;

 Etablir la liste des factures de plus de 200 000 FCFA ;

Enoncé 1 : Soit une base de donnée touristique telle que :

STATION (Numstat, Nomstat, Altitude, Région)

HOTEL (Numhot, Nomhot, Numstat, Catégorie)

CHAMBRE (Numhot, Numch, Nblits)

RESERVATION (Numcli, Numhot, Numch, datedeb, Datefin, NbPers)

CLIENT (Numcli, Nomcli, Adrcli, Telcli).

1. Donner un schéma conceptuel correspondant au schéma relationnel ci-dessus ;

2. Répondre aux requêtes suivantes en SQL :

a. Donner les noms des clients et le nombre de personnes correspondant pour les réservations à l’hôtel
DJEUGA ;

b. Pour chaque station du Haut Nyon, donner le nombre de lits en catégorie trois étoiles ;

3. Pour chaque station de la haute Sanaga, donner le nombre de chambre réservé pour le 11/02/2008

Enoncé 2 : Considérons le schéma relationnel suivant :

PERSONNEL (NoPers, NomP, Poste, DateEmbauche, Salaire, NoUnité#)

UNITE_FONCT (NoUnité, NomU, Emplacement)

MALADE (NoMalade, NomMal, PrénomMal, VilleMal)

Proposer des requêtes SQL pour répondre à chacun des problèmes suivants :

1. En supposant que la table « UNITE_FONCT » existe, créer la table « PERSONNEL » ;

2. Enregistrer les informations suivantes dans la table « PERSONNEL » : « ‘P502’, ’KAMGA’,

’INFIRMIERE’, ’01/06/2000’, 150000, ‘UF001’ » ;

7/1
3. Augmenter de 10% le salaire des infirmières ;

4. Sans toutefois recréer la table « PERSONNEL », supprimer la contrainte d’intégrité référentielle imposée à cette
table ;

5. Afficher les numéros et noms des infirmières ayant effectué au moins un prélèvement sur le malade « ESSOMBA »
en 2002 ;

6. Afficher les numéros et noms du personnel ayant même poste que le personnel « MESSI » de l’unité fonctionnelle «
MATERNITE » ;

7. Lister les malades dont les noms ne contiennent pas la chaîne « aim ». En ordonnant le résultat par nom croissant ;

8. Afficher le nombre de prélèvement effectué par malade en 2000 ;

9. Créer une vue donnant accès aux informations sur les salaires annuels des sécrétaires, ensuite donner les droits de
mise à jour à l’utilisateur « BALLA » sur cette vue avec possibilité de transmettre ce droit.

Enoncé 3 : Considérons le schéma relationnel suivant :

EMPLOYE (NoEmp, Nom, Poste, DateEmbauche, Salaire)

MATERIEL (NoSérie, Marque, Type, DateAchat, PrixAchat,……..)

Proposer des requêtes SQL pour répondre à chacun des problèmes suivants :

1. Créer la table « EMPLOYE » ;

2. Enregistrer les informations suivantes dans la table « EMPLOYE » : « ‘E502’, ’ESSOMBA’, ‘INFORMATICIEN’,
‘20/06/2006’, 250000 » ;

3. Augmenter de 10% le salaire des informaticiens ;

4. Afficher les numéros et noms des employés ayant effectué au moins un prêt le 20/05/2003 ;

5. Afficher les numéros de série, marques et types de matériels affectés dans la même salle que le matériel
« 8965789D » ;

6. Lister les informaticiens dont les noms ne contiennent pas la chaîne « aim ». En ordonnant le résultat par nom
décroissant et salaire croissant ;

7. Afficher le nombre d’ordinateurs par salle ;

8. Afficher les numéros de série, marques et types de matériels de la salle le « Nyon » ayant fait l’objet d’au moins un
prêt en 1998 ;

9. Créer une vue donnant accès aux informations sur les salaires annuels des informaticiens, ensuite donner les droits de
mise à jour à l’utilisateur « MESSI » sur cette vue avec possibilité de transmettre ce droit

8/1
9/1

Vous aimerez peut-être aussi