BASES DE DONNEES Formation initiale Première année Département INFORMATIQUE Année 2002/2003. Travail nécessaire après l interrogation numéro 3



Documents pareils
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

Le langage SQL Rappels

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

INTRODUCTION AU DATA MINING

1 Introduction et installation

TP Bases de données réparties

Deux exemples de paragraphes, donnés en contre-point l un de l autre :

Créer le schéma relationnel d une base de données ACCESS

Cours 4 : Agrégats et GROUP BY

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

Livret de l évaluateur : Calcul niveau 2

CUEEP Département Mathématiques E 821 : Problèmes du premier degré 1/27

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

Le modèle de données

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

GUIDE MEMBRE ESPACE COLLABORATIF. Février 2012

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

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

La recherche d'information sur Internet

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

Bases de données relationnelles

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

Méthodologie de conceptualisation BI

Soutien technique en informatique

BTS/CGO P10 SYSTEME INFORMATION Année

Langage SQL : créer et interroger une base

SOMMAIRE. Travailler avec les requêtes... 3

Circonscription de. Valence d Agen

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Base de données relationnelle et requêtes SQL

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

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

Première étape : créer le fichier de données - extraire les données de PMB et les transférer dans Excel

TP2 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Méthode du commentaire de document en Histoire

Séquence. «Eduquer aux réseaux sociaux : créer, publier, maîtriser»

GUIDE DE PRISE EN MAIN

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

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

Création de Sous-Formulaires

Introduction à la B.I. Avec SQL Server 2008

Explications des items d'obii pour la validation du B2I

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Devenez un véritable développeur web en 3 mois!

Objectifs du TP : Initiation à Access

Plus petit, plus grand, ranger et comparer

MODE OPERATOIRE OPENOFFICE BASE

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

demander pourquoi mon site n'apparaît pas sur google ou pourquoi mon site n'est pas référencé par les moteurs de recherche?

Katja Ingman. Être pro en anglais. Sous la direction de Marie Berchoud. Groupe Eyrolles, 2009 ISBN :

Entrepôt de données 1. Introduction

< Atelier 1 /> Démarrer une application web

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

Document d accompagnement pour l utilisation du Cartable en ligne Lycée des Métiers Fernand LÉGER 2013/2014

AdWords Guide de survie

COURS WINDEV NUMERO 3

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

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique :

Primaire. analyse a priori. Lucie Passaplan et Sébastien Toninato 1

Tutoriel - flux de facturation

Comment utiliser WordPress»

Utiliser le service de messagerie électronique de Google : gmail (1)

SQL Server et Active Directory

Enseigner les Lettres avec les TICE

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Simulation EIS. Changement et Innovation. Les Défis du Management

Complément d information concernant la fiche de concordance

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

BI2 : Un profil UML pour les Indicateurs Décisionnels

Formation PME Comptabilité analytique (ou comptabilité d exploitation)

LE GUIDE COMPLET PRETS A PARIER

LES TOUT PREMIERS PAS

Questionnaire de sondage: de la communication interne dans l organisation

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

Module Communication - Messagerie V6. Infostance. Messagerie

Gestion de projet- Indicateurs de performance

1. Base de données SQLite

25/01/05 TD Entrepôt de données IHS / Master ICA

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

S initier aux probabilités simples «Question de chance!»

Bases de données cours 1

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

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

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Table des matières. Réclamation Guide d apprentissage I. I. Configuration d un dossier de réclamation... 2 A. Assignation d un plan...

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

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

1 - Se connecter au Cartable en ligne

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

DE CENTRALISE FACTURE CRE ATION

I4 : Bases de Données

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

La base de données dans ArtemiS SUITE

Centre de formation digital et communication : www. Komelya.fr

Transcription:

Travail nécessaire après l interrogation numéro 3 Durée 3h Le but de ce document est de vous montrer quel est le travail nécessaire à faire après une interrogation afin de tirer profit d un bonne ou d une mauvaise note et de mettre toutes les chances de votre coté pour la prochaine interrogation. Ce document est plein de fautes d orthographe je m en excuse. J espère qu il vous servira tout de même de support de travail pour rattraper votre note lors de l interrogation de la prochaine séance. Sylvie Delaët 1 LECTURE DE L ENONCE La première étape d une interrogation est la lecture de l énoncé. Vous devez savoir rapidement le type de chose qu on vous demande et ce que vous saurez faire ou ne pas faire avec facilité. Faites la lecture et vérifiez que vous tirez de cette lecture au moins les information suivantes : Ici, le texte introductif parle de glaces. Le schéma relationnel est nouveau, je vais devoir l étudier. On fait une différence entre les cornets (respectivement parfums) disponibles (requête 1 : Disponibilité) et les cornets (respectivement parfums) utilisés (requête 2 : Réalité) dans la base de données. On ne me demande que des requêtes. On va me demander des prix minimum et maximum d attributs (requête 1 et 2), le prix de revient d une glace, ce qui est un calcul complexe à étudier lors de mon étude du schéma relationnel (requête 3 : Bénéfice), une énumération de tarifs (requête 4 : liste de tarifs) enfin un nombre de parfums et un nombre de boules (requête 5 : Etude de glace), il faudra compter. 2 COMMENTAIRE SUR LE SCHEMA RELATIONNEL : Un producteur de glace répertorie les glaces qu il produit dans une base de données. Pour lui une glace est toujours constituée d un cornet et de boules Les boules étant éventuellement de différents parfums. Voici un extrait du schéma relationnel de sa base de données. CORNET GLACE COMPOGLACE PARFUM NumCornet NomCornet PrixRevient NumGlace NomGlace NumCornet PrixVente NumParfum NumGlace NbBoule NumParfum NomParfum PrixRevientParBoule La seconde étape de lecture d un texte d interrogation est de comprendre le schéma relationnel pour le connecter à la réalité modélisée de manière visuelle par exemple. Ceci doit être fait en début d interrogation et très vite, il semble que cela n est pas été fait pour la majorité d entre vous. Page 1/5 commentaire interrogation écrite numéro 3 version du 03/12/02

En effet le sujet parle de glace mais des schémas qui modélisent des glaces il y en a beaucoup. Une glace peut avoir un seul parfum, une boule par parfums ou n boules par parfums. Le nom d une glace peut dépendre ou ne pas dépendre de son cornet etc C est le schéma relationnel (TD1, TP1) vous indique qu elle est la réalité du modèle étudié. Ici le schéma relationnel est constitué de 4 tables. La table CORNET représente un cornet et son prix de revient. Visuellement le contenu de la table CORNET est par exemple une affiche où sont inscrits des prix de revient : Cône 1 MégaCube 2 Pot 2 Le contenu ci dessus se modélise par exemple : NumCornet NomCornet PrixRevient 5 13 27 Pot Cône MégaCube La table PARFUM représente par exemple des bacs à glace avec dessus une inscription qui indique le prix de revient de chaque boule. 2 1 2 Vanille 1 Fraise 1 Pistache 2 Mangue 3 A ce stade (de même c est fait ci avant que pour la table CORNET) un exemple de contenu de la table PARFUM peut être intéressant à écrire sur un brouillon. (à vous de faire) La table GLACE possède une clef primaire simple NUmGLACE. Une glace est donc entièrement déterminée par son numéro. C est NUmGLACE qui indique quels sont son nom, son prix de vente et le numéro de son cornet. La table COMPOGLACE associe de manière unique (clef primaire double) un numéro de parfum et un numéro de glace. Cette association est renforcée par l information du nombre de boules. Comme pour la table COMPOBOITE où chaque ligne indique le nombre d exemplaires d un chocolat dans une boite, chaque ligne de la table COMPOGLACE indique le nombre de boules d un des parfums contenu dans une glace. Une glace peut alors contenir plusieurs boules d un même parfum. Une glace peut contenir plusieurs parfums. Un parfum peut être contenu dans plusieurs glaces. Exemples possibles de glaces : Page 2/5 commentaire interrogation écrite numéro 3 version du 03/12/02

Le prix de revient d une glace est tout naturellement le prix de revient de son cornet plus le prix de revient de chacun de ses parfums. Le prix de revient d un parfum pour une glace étant le nombre de boules de parfum dans cette glace multiplié par le prix de revient de la boule. Pour la glace ci contre le prix de revient est alors de (2+ 3*1+1*2+2*1)= 9 car elle contient un cornet Megacube à 2, trois boules vanilles à 1 une boule pistache à 2 et deux boules fraises à 1. Pour chacune des phrases ci-dessus vous avez du faire pendant la lecture une référence au schéma relationnel. Si ce n est pas le cas refaites la lecture en étudiant le schéma relationnel. De même vous avez du écrire pour ce travail post-interrogation le contenu de la table COMPOGLACE pour l exemple des glaces au dessus. Ceci vous permet de trouver rapidement des exemples pertinents lors des interrogations futures. 3 DISPONIBILITE Indiquer le nombre de cornets disponibles dans la base de donnée, ainsi que le prix minimum et le prix maximum de revient d un cornet. Qu est ce qu un cornet disponible dans la base de données? La lecture du texte révèle qu il y a des cornets disponibles et des cornets utilisés dans la base de données. Les cornets disponibles sont donc ceux de la table CORNET, les utilisés sont ceux qui figurent dans la table GLACE. Si la compréhension n est pas directe, vous pouvez étudier votre jeu d essai personnel et vous rendre compte que le cornet «pot» (respectivement le parfum «mangue») est disponible mais n est pas utilisé dans ce jeu d essai de la base de données. On veut donc compter le nombre de cornets de la table CORNET (une ligne par cornet) connaître le minimum et le maximum des prix de revient de ses cornets. La requête est : SELECT COUNT(*) As «Nb de cornets dans la base de données», MIN(PrixRevient) «Prix de revient minimal par cornet», MAX(PrixRevient) As «Prix de revient maximal par cornet» FROM CORNET ; 4 REALITE Indiquer le nombre de cornets utilisés pour une glace de la base de données, ainsi que le prix minimum et le prix maximum de revient des cornets utilisés. Ici on s intéresse aux cornets utilisés c'est-à-dire aux cornets qui figurent dans la table GLACE. Certains apparaîtront sur plusieurs lignes car ils sont utilisés par plusieurs glaces. Il ne suffit pas de compter les lignes de GLACE mais de compter les lignes différentes de la table Glace pour l attribut NumCornet( c'est-à-dire Count(DISTINCT NumCornet)). Par ailleurs, On veut le prix de revient minimum et maximum d un de ces cornets. Une jointure avec la table cornet est alors nécessaire. La jointure vue en cours ne conserve que les cornets de la table GLACE. Ce qui donne la requête suivante : SELECT Count(Distinct NumCornet) As «Nb de cornets utilisés pour une glace», MIN(PrixRevient) «Prix de revient minimal par cornet utilisé», MAx(PrixRevient) As «Prix de revient maximal par cornet utilisé» FROM CORNET C, Glace G Where G.NumCornet=C.NumCornet; Page 3/5 commentaire interrogation écrite numéro 3 version du 03/12/02

5 BENEFICE Pour la glace numéro 5, quelle est la différence entre son prix de vente et le prix de revient de ces ingrédients (on indiquera également le nom de la glace)? Le nom de la glace 5 comme son prix de vente figure dans la table GLACE. Il faut faire une sélection sur le numéro 5. Pour le prix de revient d une glace, l étude préalable du problème a révélé qu il faut disposer à la fois du prix de revient de son cornet, du nombre de boules de chacun de ses parfums et du prix de revient par boule de chacun de ses parfums. Le prix de revient du cornet figure dans la table CORNET. Le nombre de boules figure dans la table COMPOGLACE, Le prix de revient par boule figure dans la table PARFUM. Il faut donc une jointure sur les quatre tables et une sélection des lignes de cette table résultante où NumGlace = 5. Voici la table résultante, il faut ensuite étudié si on peut calculer le prix de revient sur cette table. SELECT * FROM CORNET C, GLACE G, COMPOGLACE CG, PARFUM P WHERE G.NumCornet=C.NumCornet AND C.NumGlace=CG.NumGlace AND CG.NumParfum=P.NumParfum AND NumGlace =5 Supposons que la glace 5 est celle dessinée çi dessus. Le résultat de cette jointure est alors : 27 MegaCube 2 5 Cube Sénégalais 27 19 100 5 3 100 Vanille 1 27 MegaCube 2 5 Cube Sénégalais 27 19 101 5 1 101 Pistache 2 27 MegaCube 2 5 Cube Sénégalais 27 19 102 5 2 100 Fraise 1 Le numéro de la glace (5), le nom de la glace (Cube Sénégalais), Le prix de vente (19 ) et le prix de revient de son cornet sont disponibles sur chaque ligne. Mais pour calculer le prix de revient de la glace, il faut faire : prix de revient du cornet plus (somme des prix de revient par boule de parfum multiplier par le nombre de boules du parfum dans la glace). Ce qui se traduit littéralement par PrixRevient+SUM(PrixRevientParBoule*NbBoule) sur cette table. Il y a donc des attributs et des agrégats au même niveau dans cette expression. Or la seule façon de faire apparaître des attributs et un agrégat au même niveau est que les attributs soient des attributs d un GROUP By. Ce qui donne la requête suivante : SELECT NomGlace, PrixVente-(PrixRevient+SUM(PrixRevientParBoule*NbBoule)As «différence entre prix de vente et prix de revient des ingrédients» FROM CORNET C, Glace G,Compoglace CG, Parfum P WHERE G.NumCornet=C.NumCornet AND C.NumGlace=CG.NumGlace AND CG.NumParfum=P.NumParfum AND NumGlace =5 GROUP BY NomGlace, PrixVente, PrixRevient; (le GROUP BY ne sert pas à grouper mais à afficher les attributs utiles au calcul de la différence et à l affichage su nom de la glace). 6 LISTE DE TARIFS Pour chaque glace, énumérer les prix de revient des parfums qui la composent. Page 4/5 commentaire interrogation écrite numéro 3 version du 03/12/02

C est une requête très simple, la seule difficulté réside dans le fait d afficher les bons attributs et la bonne expression : SELECT NumGlace, NomGlace, NumParfum, NomParfum, PrixRevientParBoule*NbBoule As «prix de revient du parfum» FROM Compoglace CG, Parfum P, Glace Where CG.NumParfum=P.NumParfum And C.NumGlace=CG.NumGlace; 7 ETUDES DE GLACE Pour chaque glace, référencée uniquement par son numéro, indiquer le nombre de parfums qui la composent ainsi que le nombre de boules qu elle contient. SELECT NumGlace, Count(*) As NbParfums, Sum(NbBoule)As NbBoules FROM Compoglace CG Group By NumGlace ; 8 TRAVAIL SUPPLEMENTAIRE NECEAASIRE POUR LES PERSONNES N AYANT PAS LA MOYENNE À L INTERROGATION CONSEILLE AUX AUTRES. Après la correction d une interrogation comme celle ci la première étape est de s assurer que vous avez compris la correction çi dessus et que vous sauriez refaire sans le corrigé. La seule manière de s en assurer est de refaire l interrogation dans les mêmes conditions. Ensuite il serait bon de refaire l autre version de l interrogation (une version parle beaucoup de parfums l autre parle beaucoup de cornets. Consultez vos collègues). Enfin vous pouvez vous posez des questions du type : Ai-je fini de passer sur machine toutes les requêtes des TP 4 et 5? Ai-je fini de passer sur machine toutes les requêtes des TD sans avoir le corrigé sous les yeux? Ai-je repris toutes les requêtes du cours? Enfin vous pouvez essayer de nouvelles requêtes de votre cru sur cette base, attention toutefois, vous ne pouvez pas faire en SQL pour le moment tout ce qui est humainement possible comme interrogation sur cette base. Exemple de requêtes possibles pour aller plus loin. 1. Lister les glaces à la vanille. 2. Combien il y a-t-il de glace à la vanille? 3. Quelles sont les glaces qui contiennent de la vanille et du chocolat? 4. Quelles sont les glaces qui contiennent de la vanille ou du chocolat? 5. Quelles sont les glaces qui contiennent au moins 3 parfums? 6. Quelles sont les glaces qui contiennent au moins 3 boules? 7. Lister toutes les recettes de glace à quatre boules qu on pourrait créer avec 1 cornet disponible et au plus deux parfums existants dans la base de données. 8. Lister les prix de revient de chaque glace de la base de donnée. 9. Quel est le plus petit prix de revient pour une glace. (difficile) 10. Quelles sont les glaces qui sont vendus les moins cher? 11. Quelles sont les glaces qui reviennent le plus cher à fabriquer? (tres difficile) 12. Combien de boules au maximum sont supportées à la fois par un cornet «MegaCube»? A vous d en imaginer d autres et de voir si elle sont simples ou pas! Je peux répondre à vos questions si vous avez fait un travail écrit et lisible préalable. Page 5/5 commentaire interrogation écrite numéro 3 version du 03/12/02