Exercice 3: SQL. En vous aidant du modèle relationnel ci-dessus, vous écrirez les requêtes suivantes:



Documents pareils
COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Langage SQL : créer et interroger une base

Le langage SQL Rappels

BTS/CGO P10 SYSTEME INFORMATION Année

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

SQL Historique

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

Cours: Les Jointures 1

Bases de données relationnelles

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

FileMaker 13. Guide de référence SQL

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

16H Cours / 18H TD / 20H TP

Auto-évaluation SQL. Document: f0453test.fm 19/04/2012. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium

Cours SQL. Base du langage SQL et des bases de données

Cours 4 : Agrégats et GROUP BY

TP 8: LES OPERATEURS ENSEMBLISTES

Systèmes de Gestion de Bases de Données

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Thème : Gestion commerciale

Introduction aux Bases de Données 2004/2005

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Le Langage SQL version Oracle

1 Introduction et installation

MODE OPERATOIRE OPENOFFICE BASE

Les bases de données

Devoir Data WareHouse

TD n 10 : Ma première Base de Données

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

TP Bases de données réparties

Comprendre et optimiser la base de données WordPress WP TECH 2014

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Corrigés des cas pratiques

Durée : 4 heures coefficient : 4 Le sujet se présente sous la forme de deux dossiers indépendants

ÉTUDE DE CAS. Durée : 5 heures Coefficient : 5 CAS FEFORT ÉLÉMENTS DE CORRECTION

SQL Serveur Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

Présentation Windows Azure Hadoop Big Data - BI

Bases de données. PTSI Lycée Eiffel. 28 février 2014

CREATION WEB DYNAMIQUE

Année Universitaire 2009/2010 Session 2 de Printemps

Optimisation SQL. Quelques règles de bases

Le Langage De Description De Données(LDD)

Base de données relationnelle et requêtes SQL

Manuel Viadeis CRM Connecteur intégration L100 étendue.

1 Modélisation d une base de données pour une société de bourse

Introduction au Système de Gestion de Base de Données et aux Base de Données

Bases de données Page 1 de 11. Bases de données. Prof. : Dzenan Ridjanovic

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Session S12 Les bases de l optimisation SQL avec DB2 for i

Bases de Données relationnelles et leurs systèmes de Gestion

INTRODUCTION : Données structurées et accès simplifié

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Mejdi BLAGHGI & Anis ASSÈS

Corrigés détaillés des exercices

Cours Bases de données 2ème année IUT

SQL Server et Active Directory

Les Utilisateurs dans SharePoint

Installation d'un serveur FTP géré par une base de données MySQL

Ecole Polytechnique de Louvain INGI Fichiers et bases de données

Baccalauréat Technologique. Épreuve de Spécialité Partie écrite

Support de Cours REQUÊTES TRANSACT-SQL DANS MICROSOFT SQL SERVER Stéphane N GUESSAN Groupe Pigier Abidjan Version 1.

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Vincent Augusto

La présente publication est protégée par les droits d auteur. Tous droits réservés.

BD51 BUSINESS INTELLIGENCE & DATA WAREHOUSE

UE8 Systèmes d information de gestion Corrigé indicatif

Chapitre 07 Le modèle relationnel des données

Olivier Mondet

Création de Sous-Formulaires

Les bases fondamentales du langage Transact SQL

MySQL / SQL EXEMPLES

IFT3030 Base de données. Chapitre 1 Introduction

Schéma relationnel et contraintes d intégrité : le cas ConduiteAuto

CATALOGUE FORMATIONS DOMAINE Bases de données

Performance web. Mesurer. Analyser. Optimiser. Benjamin Lampérier - Benoît Goyheneche. RMLL Beauvais. 8 Juillet 2015

PHP 4 PARTIE : BASE DE DONNEES

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

ÉLÉMENTS INDICATIFS DE CORRIGÉ. BARÈME GLOBAL sur 140 points

Bases de Données Relationnelles. Le Modèle Relationnel

Groupe 11 TABLE DES MATIERES

Historisation des données

1. SAS FEDERATION SERVER - POINT D'ACCES UNIQUE ET SECURISE AUX DONNEES DE L'ENTREPRISE

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

«Un tableau de bord médical en temps- réel à moindre coût»

SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : , ISBN 13 :

Avertissement : ceci est un corrigé indicatif qui n engage que son auteur

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Transcription:

Exercice 3: SQL CLASSE (num_classe, nom_classe) Clé primaire: num_classe ETUDIANT ( num_et, nom_et, prenom_et, date_naiss_et, id_classe) Clé primaire: num_et Clé étrangère: id_classe faisant références à CLASSE(num_classe) MATIERES ( num_mat, nom_mat) Clė primaire: num_mat OBTENIR ( num_et, num_mat, note, apreciation) Clé primaire: num_et, num_mat Clé étrangère: num_et faisant références à ETUDIANT(num_et) Clé etrangère: num_mat faisant références à MATIERES(num_mat) COMPRENDRE ( num_classe, num_mat) Clé primaire: num_classe, num_mat Clé étrangère: num_classe faisant références à CLASSE(num_classe) Clé etrangère: num_mat faisant références à MATIERES(num_mat) En vous aidant du modèle relationnel ci-dessus, vous écrirez les requêtes suivantes: 1. Afficher le nom et prénom des étudiants par ordre alphabétique. 2. Afficher le nombre de classes. 3. Afficher la liste des étudiants qui sont en BTS SIO A ou B. 4. Afficher les classes qui ont un effectifs supérieur à 24 étudiants. 5. Afficher les étudiants qui sont nés entre le 24/12/1987 et le 24/12/1990. 6. Afficher les notes de l'étudiant Basile TRADER. 7. Afficher pour la classe des BTS IG les matières pour lesquelles la moyenne est inférieure à 10/20. 8. Afficher la moyenne de la classe BTS SIO A. 9. Afficher la moyenne de chaque étudiant en BTS SIO B. 10. Afficher la liste des étudiants qui ont eu une moyenne inférieur à la moyenne de la classe en BTS IG. 11. Afficher la liste des étudiants qui ne sont pas références dans une classe. 12. Vérifier si toutes les classes sont remplies. 13. Nous devons supprimer la classe des BTS IG mais nous devons également supprimer tous les étudiants présents dans cette classe. 14. Afficher le nombre d'étudiants par classes. 15. Afficher la moyenne maximale générale pour la classe des BTS IG. 16. Afficher la liste des classes qui contiennent moins de 15 étudiants. 17. Afficher les notes de Mathématiques de l'étudiant Hassan Sehef. Vincent LALMI! Page 1 sur 6

18. Afficher toutes les appréciations de Bill Murray en Anglais. 19. Afficher la matière qui comporte le plus de notes. 20. Afficher le nom, prénom et moyenne du premier de la classe. Vincent LALMI! Page 2 sur 6

SQL: Exercice 3: correction /*01*/ SELECT nom_et, prenom_et FROM ETUDIANT ORDER BY nom_et, prenom_et; /*02*/ SELECT count(*) FROM CLASSE; /*03*/ SELECT nom_et, prenom_et FROM ETUDIANT e INNER JOIN CLASSE c WHERE nom_classe IN ('BTS SIO A','BTS SIO B'); /*04*/ SELECT nom_classe, count(num_et) FROM CLASSE c INNER JOIN ETUDIANT e GROUP BY num_classe HAVING count(num_et)>24; /*05*/ SELECT nom_et, prenom_et, date_naiss_et FROM ETUDIANT WHERE date_naiss_et BETWEEN '1987/12/24' AND '1990/12/24'; /*06*/ SELECT nom_mat,note FROM ETUDIANT NATURAL JOIN OBTENIR NATURAL JOIN MATIERES WHERE nom_et = "TRADER" AND prenom_et= "Basile"; /*07*/ SELECT nom_mat,avg(note) as moyenne FROM MATIERES NATURAL JOIN OBTENIR NATURAL JOIN ETUDIANT e INNER JOIN CLASSE c GROUP BY num_mat HAVING moyenne < 10; Vincent LALMI! Page 3 sur 6

/*08*/ SELECT nom_et,avg(note) GROUP BY num_et; /*09*/ SELECT nom_et,prenom_et,avg(note) as moyenne GROUP BY num_et; /*10*/ SELECT nom_et,prenom_et,avg(note) as moyenne WHERE nom_classe = "BTS IG" GROUP BY num_et HAVING moyenne < (SELECT AVG(note) WHERE nom_classe = "BTS IG"); /*11*/ SELECT nom_et, prenom_et, num_classe FROM ETUDIANT e LEFT OUTER JOIN CLASSE c WHERE id_classe IS NULL; /*12*/ SELECT nom_et, prenom_et, num_classe FROM ETUDIANT e LEFT OUTER JOIN CLASSE c WHERE id_classe IS NULL; /*13*/ DELETE FROM ETUDIANT WHERE id_classe = ( SELECT num_classe FROM CLASSE WHERE nom_classe = "BTS IG"); DELETE FROM ETUDIANT e INNER JOIN CLASSE c WHERE nom_classe = "BTS IG"; DELETE FROM CLASSE WHERE nom_classe="bts IG"; Vincent LALMI! Page 4 sur 6

/*14*/ SELECT nom_classe, count(num_et) FROM ETUDIANT e INNER JOIN CLASSE c GROUP BY num_classe; /*15*/ SELECT MAX(moyenne) FROM( SELECT AVG(note) as moyenne GROUP BY num_et) as Moyenne_Maximale; /*16*/ SELECT nom_classe, count(num_et) FROM ETUDIANT e INNER JOIN CLASSE c GROUP BY num_classe HAVING count(num_et) < 15; /*17*/ SELECT nom_et,nom_mat,note FROM ETUDIANT NATURAL JOIN OBTENIR NATURAL JOIN MATIERES WHERE nom_et = "Sehef" AND prenom_et = "Hassan" AND nom_mat = "Mathématiques"; /*18*/ SELECT nom_et,nom_mat,note, appreciation FROM ETUDIANT NATURAL JOIN OBTENIR NATURAL JOIN MATIERES WHERE nom_et = "Murray" AND prenom_et = "Bill" AND nom_mat = "Anglais"; /*19*/ SELECT MAX(nb_note),nom_mat FROM (SELECT count(o.num_mat) nb_note, nom_mat FROM OBTENIR o NATURAL JOIN MATIERES GROUP BY num_mat) as nb_note GROUP BY nom_mat; /*20*/ SELECT MAX(moyenne),nom_et, prenom_et FROM( SELECT AVG(note) as moyenne,nom_et, prenom_et Vincent LALMI! Page 5 sur 6

GROUP BY num_et) as Moyenne_Maximale; Vincent LALMI! Page 6 sur 6