Exercices complémentaires langage de requête SQL



Documents pareils
Partie 0 : Gestion des tablespace et des utilisateurs... 3

OFPPT ISTA BM. Base de données. Filière : TSTDI

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

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Le langage SQL Rappels

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

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

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

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

FORD C-MAX + FORD GRAND C-MAX CMAX_Main_Cover_2013_V3.indd /08/ :12

MODE OPERATOIRE OPENOFFICE BASE

SQL Historique

TP 8: LES OPERATEURS ENSEMBLISTES

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

Rapport formation Systèmes de Gestion de Bases de données relationnelles. Centre Royal de Télédétection Spatiale Rabat (Maroc)

Cours: Les Jointures 1

Bases de données relationnelles

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

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

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

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

Cours 4 : Agrégats et GROUP BY

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

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

BTS/CGO P10 SYSTEME INFORMATION Année

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

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

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

UE8 Systèmes d information de gestion Corrigé indicatif

Langage SQL : créer et interroger une base

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

2 Serveurs OLAP et introduction au Data Mining

TP Bases de données réparties

Les bases de données

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

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

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

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

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

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

Systèmes de Gestion de Bases de Données

Base de données relationnelle et requêtes SQL

Soutien technique en informatique

16H Cours / 18H TD / 20H TP

CREATION WEB DYNAMIQUE

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

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

COMPTABILITÉ ET FINANCE D ENTREPRISE

Création de Sous-Formulaires

1 Introduction et installation

Chapitre 11 Bases de données

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

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Devoir Data WareHouse

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

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

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

MySQL / SQL EXEMPLES

Exemples de reque tes dans data.bnf.fr

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

Le Langage De Description De Données(LDD)

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

TERMES DE RÉFÉRENCE RELATIFS A LA «FORMATION PROFESSIONNELLE EN ORACLE»

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

SQL Server et Active Directory

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

LE MODELE CONCEPTUEL DE DONNEES

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

Les Entrepôts de Données

INTRODUCTION AU DATA MINING

Chapitre 07 Le modèle relationnel des données

Durée de l'épreuve : 4 heures Coefficient : 7

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Le Langage SQL version Oracle

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Vincent Augusto

Objectifs du TP : Initiation à Access

Thème : Gestion commerciale

Mysql avec EasyPhp. 1 er mars 2006

Introduction aux SGBDR

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

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

CATALOGUE FORMATIONS DOMAINE Bases de données

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Corrigés des cas pratiques

Connexion à une base de données. Connexion à une base de données. Connexion à une base de données Développement d'une application

Compétences Business Objects

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop

Bases de données élémentaires Maude Manouvrier

Bases de données Outils de gestion

Bases de Données. Plan

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

A QUOI SERVENT LES BASES DE DONNÉES?

Transcription:

Session de Formation Systèmes de Gestion de Bases de données Relationnelles Utilisation de MS ACCESS 2000 I.N.A.T. (Tunisie) 25 septembre 2 octobre 2001 organisée par l Institut National des Sciences et Technologies de la Mer avec la collaboration du projet FAO COPEMED Formateur : Alexis Bensch* * Expert Systèmes d Information Projet FAO COPEMED GCP/REM/057/SPA - Alicante (Espagne) Exercices complémentaires langage de requête SQL

Exercice n 1 Soit le modèle relationnel suivant relatif à une base de données sur des représentations musicales : REPRESENTATION (n représentation, titre_représentation, lieu) MUSICIEN (nom, n représentation*) PROGRAMMER (date, n représentation*, tarif) Remarque : les clés primaires sont soulignées et les clés étrangères sont marquées par * Questions : 1 - Donner la liste des titres des représentations. 2 - Donner la liste des titres des représentations ayant lieu à l'opéra Bastille. 3 - Donner la liste des noms des musiciens et des titres des représentations auxquelles ils participent. 4 - Donner la liste des titres des représentations, les lieux et les tarifs pour la journée du 14/09/96. 1

Correction de l'exercice n 1 1 - Donner la liste des titres des représentations. SELECT titre_représentation FROM REPRESENTATION ; 2 - Donner la liste des titres des représentations ayant lieu à l'opéra Bastille. SELECT titre_représentation FROM REPRESENTATION WHERE lieu="opéra Bastille" ; 3 - Donner la liste des noms des musiciens et des titres des représentations auxquelles ils participent. SELECT nom, titre_représentation FROM MUSICIEN, REPRESENTATION WHERE MUSICIEN.n représentation = REPRESENTATION.n représentation ; 4 - Donner la liste des titres des représentations, les lieux et les tarifs pour la journée du 14/09/96. SELECT titre_représentation, lieu, tarif FROM REPRESENTATION, PROGRAMMER WHERE PROGRAMMER.n représentation = REPRESENTATION.n représentation AND date='14/06/96' ; 2

Exercice n 2 Soit le modèle relationnel suivant relatif à la gestion des notes annuelles d'une promotion d'étudiants : ETUDIANT(N Etudiant, Nom, Prénom) MATIERE(CodeMat, LibelléMat, CoeffMat) EVALUER(N Etudiant*, CodeMat*, Date, Note) Remarque : les clés primaires sont soulignées et les clés étrangères sont marquées par * Questions : 1 - Quel est le nombre total d'étudiants? 2 - Quelles sont, parmi l'ensemble des notes, la note la plus haute et la note la plus basse? 3 - Quelles sont les moyennes de chaque étudiant dans chacune des matières? 4 - Quelles sont les moyennes par matière? On utilisera la requête de la question 3 comme table source 5 - Quelle est la moyenne générale de chaque étudiant? On utilisera la requête de la question 3 comme table source 6 - Quelle est la moyenne générale de la promotion? On utilisera la requête de la question 5 comme table source 7 - Quels sont les étudiants qui ont une moyenne générale supérieure ou égale à la moyenne générale de la promotion? On utilisera la requête de la question 5 comme table source 3

Correction de l'exercice n 2 1 - Quel est le nombre total d'étudiants? SELECT COUNT(*) FROM ETUDIANT ; 2 - Quelles sont, parmi l'ensemble des notes, la note la plus haute et la note la plus basse? SELECT MIN(Note), MAX(Note) FROM EVALUER ; 3 - Quelles sont les moyennes de chaque étudiant dans chacune des matières? SELECT ETUDIANT.N Etudiant, Nom, Prénom, LibelléMat, CoeffMat, AVG(Note) AS MoyEtuMat FROM EVALUER, MATIERE, ETUDIANT WHERE EVALUER.CodeMat = MATIERE.CodeMat AND EVALUER.N Etudiant = ETUDIANT.N Etudiant GROUP BY ETUDIANT.N Etudiant, Nom, Prénom, LibelléMat, CoeffMat; 4 - Quelles sont les moyennes par matière? SELECT LibelléMat, AVG(MoyEtuMat) FROM MOYETUMAT GROUP BY LibelléMat ; 5 - Quelle est la moyenne générale de chaque étudiant? SELECT N Etudiant, Nom, Prénom, SUM(MoyEtuMat*CoeffMat)/SUM(CoeffMat) AS MgEtu FROM MOYETUMAT GROUP BY N Etudiant, Nom, Prénom ; 6 - Quelle est la moyenne générale de la promotion? Avec la vue MGETU de la question 5 : SELECT AVG(MgEtu) FROM MGETU ; 7 - Quels sont les étudiants qui ont une moyenne générale supérieure ou égale à la moyenne générale de la promotion? Avec la vue MGETU de la question 5 : SELECT N Etudiant, Nom, Prénom, MgEtu FROM MGETU WHERE MgEtu >= (SELECT AVG(MgEtu) FROM MGETU) ; 4

Exercice n 3 Soit le modèle relationnel suivant relatif à la gestion simplifiée des étapes du Tour de France 97, dont une des étapes de type "contre la montre individuel" se déroula à Saint-Etienne : EQUIPE(CodeEquipe, NomEquipe, DirecteurSportif) COUREUR(NuméroCoureur, NomCoureur, CodeEquipe*, CodePays*) PAYS(CodePays, NomPays) TYPE_ETAPE(CodeType, LibelléType) ETAPE(NuméroEtape, DateEtape, VilleDép, VilleArr, NbKm, CodeType*) PARTICIPER(NuméroCoureur*, NuméroEtape*, TempsRéalisé) ATTRIBUER_BONIFICATION(NuméroEtape*, km, Rang, NbSecondes, NuméroCoureur*) Remarque : les clés primaires sont soulignées et les clés étrangères sont marquées par * Questions : 1 - Quelle est la composition de l'équipe Festina (Numéro, nom et pays des coureurs)? 2 - Quel est le nombre de kilomètres total du Tour de France 97? 3 - Quel est le nombre de kilomètres total des étapes de type "Haute Montagne"? 4 - Quels sont les noms des coureurs qui n'ont pas obtenu de bonifications? 5 - Quels sont les noms des coureurs qui ont participé à toutes les étapes? 6 - Quel est le classement général des coureurs (nom, code équipe, code pays et temps des coureurs) à l'issue des 13 premières étapes sachant que les bonifications ont été intégrées dans les temps réalisés à chaque étape? 7 - Quel est le classement par équipe à l'issue des 13 premières étapes (nom et temps des équipes)? 5

Correction de l'exercice n 3 1 - Quelle est la composition de l'équipe FESTINA (Numéro, nom et pays des coureurs)? SELECT NuméroCoureur, NomCoureur, NomPays FROM EQUIPE A, COUREUR B, PAYS C WHERE A.CodeEquipe=B.CodeEquipe And B.CodePays=C.CodePays And NomEquipe="FESTINA" ; 2 - Quel est le nombre de kilomètres total du Tour de France 97? SELECT SUM(Nbkm) FROM ETAPE ; 3 - Quel est le nombre de kilomètres total des étapes de type HAUTE MONTAGNE? SELECT SUM(Nbkm) FROM ETAPE A, TYPE_ETAPE B WHERE A.CodeType=B.CodeType And LibelléType="HAUTE MONTAGNE" ; 4 - Quels sont les noms des coureurs qui n'ont pas obtenu de bonifications? SELECT NomCoureur FROM COUREUR WHERE NuméroCoureur NOT IN (SELECT NuméroCoureur FROM ATTRIBUER_BONIFICATION) ; 5 - Quels sont les noms des coureurs qui ont participé à toutes les étapes? SELECT NomCoureur FROM PARTICIPER A, COUREUR B WHERE A.NuméroCoureur=B.NuméroCoureur GROUP BY NuméroCoureur, NomCoureur HAVING COUNT(*)=(SELECT COUNT(*) FROM ETAPE) ; 6 - Quel est le classement général des coureurs (nom, code équipe, code pays et temps des coureurs) à l'issue des 13 premières étapes sachant que les bonifications ont été intégrées dans les temps réalisés à chaque étape? SELECT NomCoureur, CodeEquipe, CodePays, SUM(TempsRéalisé) AS Total FROM PARTICIPER A, COUREUR B WHERE A.NuméroCoureur=B.NuméroCoureur and NuméroEtape<=13 GROUP BY A.NuméroCoureur, NomCoureur, CodeEquipe, CodePays ORDER BY Total; 7 - Quel est le classement par équipe à l'issue des 13 premières étapes (nom et temps des équipes)? SELECT NomEquipe, SUM(TempsRéalisé) AS Total FROM PARTICIPER A, COUREUR B, EQUIPE C WHERE A.NuméroCoureur=B.NuméroCoureur And B.CodeEquipe=C.CodeEquipe And NuméroEtape<=13 GROUP BY B.CodeEquipe, NomEquipe ORDER BY Total; 6