Vous êtes sur la page 1sur 1

(Durée 1h30mn)

Soit la base de données suivante :

Machines(Code_Machine, Type_Machine,Date_Achat,Prix_Achat, Code_Produit)


Ouvriers(Code_Ouvrier,Nom_Ouvrier,Date_Enbouche,Specialite_Ouvrier, Salaire_Ouvrier)
Productions(Num_Production, Date_Production , Qte_Produite, Code_Machine , Code_Ouvrier)

On suppose les règles de gestions suivantes :


- Un ouvrier peut travailler sur plusieurs machines mais à des dates différentes.
- Une machine ne peut produire qu’un seul produit mais un produit peut être produit par plusieurs machines.
- Pour chaque production la quantité est indispensable.

Questions :

1. (2 pts) On suppose que les tables Machines et Ouvriers Existent, Ecrire une requête SQL qui permet la création de
la table Productions (Spécifier toutes les contraintes d’intégrité possibles).

2. (2 pts) On suppose que l’utilisateur KHALID existe déjà, Ecrire une requête qui permet de lui donner
l’autorisation de la suppression dans la table Ouvriers.

3. (2 pts) Ecrire une requête SQL qui permet d’ajouter une colonne (Salaire) dans la table Ouvriers.

4. (3 pts) Ecrire une requête SQL qui permet de lister tous les ouvriers qui ont travaillé sur au moins une machine
durant la période du 01/01/2010 au 30/12/2012. (Utiliser 3 méthodes différentes : In, Exists et Jointure).

5. (2 pts) Ecrire une requête SQL qui permet de calculer la quantité totale produite par chaque machine (utiliser group
by avec la fonction SUM)

6. (2 pts) Ecrire une requête SQL qui permet de lister toutes les machines qui ont produit plus de 10 000 produits.

7. (2 pts) Ecrire une requête SQL qui permet de calculer la quantité totale produite par chaque ouvrier pour chaque
machine dans l’ordre décroissant selon quantité totale produite.

8. (1.5 pts) Ecrire une requête SQL qui permet de lister toutes les machines qui ont la plus grande quantité de
production.

9. (1.5 pts) Ecrire une requête SQL qui permet d’augmenter le salaire de 5% pour tous les ouvriers qui ont un salaire
moins de 5000 DH.

10. (2 pts) Ecrire une requête SQL qui permet de lister tous les ouvriers qui ont travaillé sur toutes les machines.

Vous aimerez peut-être aussi