Corrigé Contrôle de connaissance



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

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

Langage SQL : créer et interroger une base

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

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

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

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

I4 : Bases de Données

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

SQL Historique

Bases de données relationnelles

TP Contraintes - Triggers

1 Position du problème

1. Base de données SQLite

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

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

A QUOI SERVENT LES BASES DE DONNÉES?

Compétences Business Objects

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

Le Langage De Description De Données(LDD)

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

CREATION WEB DYNAMIQUE

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

BTS/CGO P10 SYSTEME INFORMATION Année

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

Les bases de données

Le langage SQL (première partie) c Olivier Caron

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

TP3 : Creation de tables 1 seance

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

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

Création et Gestion des tables

OpenPaaS Le réseau social d'entreprise

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

Le Langage SQL version Oracle

Olivier Mondet

Le langage SQL Rappels

Corrigés détaillés des exercices

PHP 5. La base de données MySql. A. Belaïd 1

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Groupe 11 TABLE DES MATIERES

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

TP Bases de données réparties

I. MySQL : Serveur et SGBD

IFT3030 Base de données. Chapitre 1 Introduction

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

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Intégrité sémantique dans les bases de données relationnelles

Systèmes de Gestion de Bases de Données

1 Introduction et installation

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

A QUOI SERVENT LES BASES DE DONNÉES?

Devoir Data WareHouse

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

NF26 Data warehouse et Outils Décisionnels Printemps 2010

Objectifs du TP : Initiation à Access

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

Auto-évaluation Oracle: cours de base

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Historisation des données

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

Bases de Données Avancées

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Bases de données Cours 4 : Le langage SQL pour ORACLE

Notes de cours : bases de données distribuées et repliquées

MySQL / SQL EXEMPLES

Pour les débutants. langage de définition des données

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Gestion de base de données

Présentation Windows Azure Hadoop Big Data - BI

Cours 4 : Agrégats et GROUP BY

Master Exploration Informatique des données DataWareHouse

Intégrité des données

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

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

LE LANGAGE SQL2 1. INTRODUCTION

Encryptions, compression et partitionnement des données

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

Introduction aux Bases de Données 2004/2005

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

BASES DE DONNEES TP POSTGRESQL

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

1 Introduction. 2 Le modèle relationnel. 3 Algèbre relationnelle 4 SQL. 5 Organisation physique des données 1/228

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel Toulouse Cedex 7

Bases de Données Avancées

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

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Les BASES de DONNEES dans WampServer

FileMaker 13. Guide de référence SQL

Application web de gestion de comptes en banques

MODE OPERATOIRE OPENOFFICE BASE

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

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

UE8 Systèmes d information de gestion Corrigé indicatif

Vincent Augusto

Transcription:

Ecole Supérieure de la Statistique et de l Analyse de l Information المدرسة العلیا للا حصاء وتحلیل المعلومات بتونس Corrigé Contrôle de connaissance Bases de données (2011/2012) 2 ème année ESSAI Proposé par Fatma CHAKER Soit le schéma relationnel suivant : Salle (NomS, Horaire, capacité, Titre*) Film (Titre, réalisateur, durée, acteur) Producteur (Producteur, Titre*) Vu (Spectateur, Titre*) Aime (Amateur, Titre*) Sachant que : Un film peut être produit par plusieurs producteurs La relation Vu décrit les titres des films vus par les spectateurs. Evidemment un spectateur peut voir plusieurs films La relation Aime décrit les films appréciés par les spectateurs (amateurs). Evidemment, un spectateur peut aimer plusieurs films. 1- Exprimez en Algèbre relationnelle ET en SQL les requêtes suivantes : a)- Où et à quel horaire peut on voir le film «Ma belle Tunisie»?

R1= Selection(Salle, Titre= Ma belle Tunisie R2= Projection (R1, Horaire, NomS) SELECT NomS, Horaire FROM Salle WHERE Titre= Ma belle Tunisie ; b)- Quels sont les acteurs qui jouent dans tous les films? R1= Projection(Film, Titre) R2= Projection(Film, Titre, acteur) R3= Division(R2,R1) SELECT acteur FROM Film GROUP BY acteur HAVING COUNT(Titre)=(SELECT COUNT(*) FROM Film); c)- Quels sont les spectateurs qui aiment tous les films qu ils voient? R1= Regrouper_et_calculer(Vu, Spectateur, N1=comptage(Titre)) R2= Regrouper_et_calculer(Aime, Amateur, N2=comptage(Titre)) R3= jointure(r1,r2, Spectateur=Amateur) R4= selection (R3, N1=N2) R5= projection(r4, Spectateur)

SQL: SELECT spectateur FROM Vu GROUP BY spectateur HAVING COUNT(Titre)=(SELECT COUNT(Titre) FROM Aime GROUP BY Amateur)

Ecole Supérieure de la Statistique et de l Analyse de l Information المدرسة العلیا للا حصاء وتحلیل المعلومات بتونس Corrigé Contrôle de connaissance Bases de données (2011/2012) 2 ème année ESSAI Proposé par Fatma CHAKER Soit le modèle relationnel suivant : Usine (N usine, NomU, Ville) Produit (N Prod, NomP, couleur, Poids) Fournisseur (NumF, NomF, statut, villef) Livrer (N usine*, N Prod*, NumF*, Quantité) 1)- Proposez une définition des tables Produit et Livrer en prenant en compte les contraintes suivantes : * La quantité doit être non nulle * Si un produit est supprimé, l ensemble de l information qui en dépend doit être remise à zéro de la base * la couleur d un produit est soit rouge, noir ou blanc NB : on suppose que les tables Usine et Fournisseur sont déjà créées CREATE TABLE Produit ( N Prod INTEGER, NomP CHAR(20), Couleur CHAR(15), Poids NUMBER(6,2), PRIMARY KEY N Prod, CHECK couleur IN( rouge, noir, blanc )); CREATE TABLE livrer ( N usine INTEGER, N Prod INTEGER, NumF INTEGER, Quantité NUMBER(6,2),

PRIMARY KEY (N usine, N Prod, NumF ), FOREIGN KEY N usine REFERENCES Usine, FOREIGN KEY N Prod REFERENCES Produit ON DELETE SET NULL, FOREIGN KEY NumF REFERENCES Fournisseur, CHECK (Quantité >0)); 2) Insérez les données suivantes dans la table Produit : N Prod = 15, NomP= table,poids=2 INSERT INTO Produit (N Prod, NomP, Poids) VALUES (15, table,2) ; 3)- Exprimez les requêtes suivantes en a)- Donner pour chaque fournisseur (numéro et nom) le nombre de produits qu il propose? SELECT NumF, NomF, COUNT(N Prod) AS NBR FROM Fournisseur A, Livrer B WHERE A.NumF=B.NumF GROUP BY NumF, NomF; b)- Quels sont les fournisseurs (numéro et noms) qui proposent au moins 5 produits? SELECT NumF, NomF, COUNT(N Prod) AS NBR FROM Fournisseur A, Livrer B WHERE A.NumF=B.NumF GROUP BY NumF, NomF HAVING COUNT(N Prod)>=5; c)- Quelle est la quantité moyenne livrée de chaque produit par chaque fournisseur? SELECT NumF, N Prod, AVG(Quantité) AS moy FROM Livrer GROUP BY NumF, N Prod; d) Donner les numéros des produits qui sont livrés à toutes les usines de Tunis? SELECT N Prod FROM Produit A WHERE NOT EXISTS (SELECT * FROM Usine B WHERE ville= Tunis AND NOT EXISTS (SELECT * FROM Livrer C WHERE A.N Prod=C.N Prod AND B.N Usine=C.N Usine)); Question BONUS : Quel est le rôle de cette requête? SELECT N Prod, NomP FROM Produit A, Livrer B

WHERE A. N Prod=B. N Prod AND Quantité > ALL (SELECT Quantité FROM Livrer C, Produit D WHERE A.couleur=D.couleur) ; Quels sont les produits (N Prod, NomP ) dont la quantité livrée est supérieure à chacune des quantités livrées des produits de même couleur ;

Ecole Supérieure de la Statistique et de l Analyse de l Information المدرسة العلیا للا حصاء وتحلیل المعلومات بتونس Corrigé Contrôle de connaissance Bases de données (2011/2012) 2 ème année ESSAI Proposé par Fatma CHAKER Soit le modèle relationnel suivant : FILMS (Titre, Pays, Année, Réalisateur, Durée) Acteurs (Titre*,Acteur*) 1)- Exprimez les requêtes suivantes en Algèbre relationnelle et en SQL a)- Trouvez les acteurs qui ont tourné avec TRUFFAUT comme réalisateur? R1= selection (FILMS, réalisateur= TRUFFAUT ) R2= Jointure (R1, Acteurs, R1.Titre=Acteurs.Titre) R3= Projection(R2, acteur) SQL SELECT Acteur FROM FILMS A, Acteurs B WHERE A.Titre=B.Titre AND réalisateur = TRUFFAUT ; b)- Titre des films où le réalisateur est aussi acteur?

R1= Jointure(FILMS, Acteurs, FILMS.Titre=Acteurs.Titre) R2= selection(r1, acteur=réalisateur) R3= projection (R2, Titre) SELECT Titre FROM FILMS A, Acteurs B WHERE A.Titre=B.Titre AND Acteur=réalisateur; c)- Quels sont les acteurs qui jouent dans tous les films de TRUFFAUT R1 = selection (FILMS, réalisateur= TRUFFAUT ) R2= projection (R1,Titre) /* tous les films de TRUFFAUT R3= division(acteurs, R2) SELECT Acteur FROM Acteurs A WHERE NOT EXISTS ( SELECT * FROM FILMS B WHERE réalisateur = TRUFFAUT AND A.Titre=B.Titre)) ; d)- quels sont les réalisateurs qui ont réalisé plus que 10 films? R1= regrouper_et_calculer(films, réalisateur, N : comptage(titre)) R2= selection(r1, N>10) R3= projection (R2, réalisateur) SELECT réalisateur, COUNT(Titre) AS Nombre de films FROM FILMS GROUP BY réalisateur HAVING COUNT(Titre)>10 ; e)- Quels sont les réalisateurs dont le nombre de films réalisé dépasse celui du réalisateur TRUFFAUT?

R1= regrouper_et_calculer(films, réalisateur, N1: comptage(titre)) /* le nombre de films réalisé pour chaque réalisateur */ R2= selection (FILMS, réalisateur= TRUFFAUT ) N2 = Calculer (R2, comptage(titre)) R3 = selection (R1, N1>N2) R4 = projection (R3, réalisateur) SELECT réalisateur FROM FILMS GROUP BY réalisateur HAVING COUNT(Titre) > (SELECT COUNT(Titre) FROM FILMS WHERE réalisateur = TRUFFAUT ));