Département Génie Informatique BD50. TP3 : Interrogation d une base de données Oracle 10G avec SQL*Plus Windows

Documents pareils
Thème : Gestion commerciale

Langage SQL : créer et interroger une base

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

Cours: Les Jointures 1

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

Le Langage SQL version Oracle

Le langage SQL Rappels

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1 Introduction et installation

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

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

TP Bases de données réparties

Département Génie Informatique

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

SQL Historique

INTRODUCTION AU DATA MINING

TP Contraintes - Triggers

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

Les bases de données

Bases de données relationnelles

Bases de données avancées Introduction

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

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

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

Encryptions, compression et partitionnement des données

MODE OPERATOIRE OPENOFFICE BASE

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

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

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

Création de Sous-Formulaires

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

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

Le Langage De Description De Données(LDD)

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

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

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

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

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

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

TP 8: LES OPERATEURS ENSEMBLISTES

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

Présentation du PL/SQL

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

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Bases de données cours 1

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

BIRT (Business Intelligence and Reporting Tools)

Introduction aux Bases de Données 2004/2005

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

2 Serveurs OLAP et introduction au Data Mining

Utilisation d Hyperplanning 2011

Mysql avec EasyPhp. 1 er mars 2006

BTS/CGO P10 SYSTEME INFORMATION Année

Bible MySQL! La première version de MySQL est apparue en Cette première version est créée pour un usage personnel à partir de msql.

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

TP2 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Les Utilisateurs dans SharePoint

FileMaker 13. Guide de référence SQL

16H Cours / 18H TD / 20H TP

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

Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]

Du 10 Fév. au 14 Mars 2014

Introduction aux Bases de Données

Les bases fondamentales du langage Transact SQL

Dossier I Découverte de Base d Open Office

CREATION WEB DYNAMIQUE

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

Base de données relationnelle et requêtes SQL

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Modifications des modèles de factures

Présentation du module Base de données spatio-temporelles

Optimisation SQL. Quelques règles de bases

Business Intelligence avec SQL Server 2012

Bases de données Outils de gestion

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

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

Vincent Augusto

Bases de données élémentaires Maude Manouvrier

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

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

WebSMS. Avril WebSMS Orange Mali - Guide utilisateur

et Groupe Eyrolles, 2006, ISBN :

A QUOI SERVENT LES BASES DE DONNÉES?

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

TP Administration Oracle

Introduction à Business Objects. J. Akoka I. Wattiau

Compétences Business Objects

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

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Raja Bases de données distribuées A Lire - Tutoriel

Comment Créer une Base de Données Ab Initio

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Bases de Données. Plan

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

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

Transcription:

Département Génie Informatique BD50 TP3 : Interrogation d une base de données Oracle 10G avec SQL*Plus Windows Françoise HOUBERDON & Christian FISCHER Copyright Mars 2007

Contexte de travail : Après avoir modélisé la gestion d un café-restaurant, vous avez implanté le modèle relationnel présenté ci-dessous : vous êtes chargé de rédiger différentes requêtes SQL: La base de données est implantée sur un serveur Oracle 10G. Le compte de connexion est : CAFE Le mot de passe est : CAFE La chaîne de connexion est : GI_PROD10G.UTBM.FR

Méthode de travail : Utiliser un éditeur de texte (Bloc Notes ou Editeur de votre choix) pour saisir et sauvegarder les différentes requêtes SQL. Pour exécuter la requête, utiliser le copier-coller du bloc notes vers SQL*Plus. Pour la modification de la requête, en cas d'erreur, utilisez la commande EDIT. Pour le formatage de la page, utilisez la commande SQL*PLUS : SQL> set pagesize 60 Formalisation des requêtes Ecriture des requêtes en multi-lignes en respectant la présentation suivante : Select Nomcolonne1,Nomcolonne2,Nomcolonne3 From Table1,Table2 Where condition1 And condition2 Order by,nomcolonne2,nomcolonne3 Dans le cas de jointure ANSI : Select Nomcolonne1,Nomcolonne2,Nomcolonne3 From Table1 [natural inner left right] join Table2 [using (nomcolonne5) ou on table1.colonne1=table2.colonne1 ] Where condition1 And condition2 Order by,nomcolonne2,nomcolonne3 Ecriture des sous-requêtes select Nomcolonne1,Nomcolonne2,Nomcolonne3 From Table1 Where Nomcolonne4 operateur ( Select From Where )

1. Requêtes LMD à rédiger et à tester avec SQL*Plus Remarque : Pour toutes les requêtes utilisant un distinct et/ou un regroupement ajouter un tri sur la colonne (ou les colonnes) (le tri n étant plus effectué automatiquement avec Oracle 10G). Requêtes de Projection et de Sélection 1 Liste du contenu de chaque table de la base 2 Liste des serveurs (Nomserveur, villeserveur) 3 Liste des villes des serveurs (Villeserveur) 4 Liste des serveurs classée par ville. (Nomserveur, villeserveur) 5 Nombre de place de la table n 4 (Nbplace) 6 Liste des consommations dont le prix unitaire est > 1,5 (Numcons, Libcons, Prixcons) 7 Liste des serveurs de Belfort et de Delle (Numserveur, Nomserveur, Villeserveur) 8 Liste des factures du 22/02/06 9 Liste des serveurs dont le nom contient un i en deuxième position. (Nomserveur) 10 Liste des serveurs dont le nom commence par un P. (Nomserveur) 11 Liste des consommations classées par ordre alphabétique sur le libéllé. (Libcons, Numcons, Prixcons) 12 Liste des serveurs qui sont nés en 1976 (Nomserveur, Datenserveur) 13 Liste des consommations de type bière (Numcons, Libcons, Prixcons)

Requêtes de jointures et sous-requêtes 14 Liste des factures du 22/02/06 servies par Martin Cathy (Numfact, Numtable, Nomtable ) Rédiger cette requête de 5 manières différentes 1. Formulation prédicative 2. Formulation algébrique (afficher uniquement Numtable, Nomtable) 3. Formulation ANSI avec la clause Natural Join 4. Formulation ANSI avec la clause Using 5. Formulation ANSI avec la clause On Pour les requêtes de jointures ci-dessous, utilisez systématiquement deux formulations : prédicative et ANSI adaptée en fonction de la requête 15 Liste des consommations de la facture 1203 (Numcons, Libcons, Prixcons, Qte, Prixcons*Qte, Nomserveur) -- Utiliser des alias de tables 16 Liste des consommations plus chères que l Orangina (Numcons, Libcons) -- Utiliser une sous-requête puis une inéquijointure et aujointure ANSI 17 Noms des serveurs qui n ont pas encore servi (Numserveur, Nomserveur) -- 3 solutions : Not Exits, Not In et Minus 18 Liste des serveurs qui n ont pas servi la table n 1 (Numserveur, Nomserveur) -- 3 solutions : Not Exits, Not In et Minus 19 Liste des consommations des factures 1200 et 1201 ( sans lignes en double) (Numcons, Libcons) -- jointure prédicative et Jointure Naturelle ANSI 20 Liste des serveurs qui ont servi la table fenetre3 le 21/02/06 (Numserveur, Nomserveur, Numfacture) 21 Liste des serveurs qui habitent dans la même ville que Durant Pierre (Numserveur, Nomserveur, Villeserveur) 22 Liste des tables servies après le 21/02/06 (Nomtable, Numserveur, Nomserveur, Numfacture) 23 Liste des consommations qui n ont encore jamais été commandées (Numcons, Libcons) -- Not Exists 24 Liste des consommations et pour celles qui ont été consommées, liste des factures dans lesquelles elles sont intervenues. (Numcons, Libcons, Numfacture) -- jointure externe 8i et ANSI

Requêtes avec des fonctions d'agrégation et des regroupements 25 Nombre de tables dans le café. (nb tables) 26 Nombre de serveurs habitant Belfort. (Nbserveur) 27 Nombre de factures effectués par le serveur n 53 depuis le début de l'année 2006. (Nombrefacture) 28 Nombre de clients servi par Martin depuis son embauche. (Nombrefacture) 29 Nombre de factures établies dans les journées du 21/02/06 et 22/02/06. (Nbfactures) 30 Montant de la facture N 1204. (Numfacture, Montant) -- Afficher seulement le montant, puis le numéro de facture et le montant 31 Chiffre d affaires du mois de février 2006 (Montanttotalfacture) 32 Nombre de consommations par facture. (Numfacture, nbconso) -- nbconso = somme des quantités 33 Consommation la moins chère. (Numcons, Libcons, Prixcons) 34 Consommation la plus chère servie par Pillot. (Numcons, Libcons, Prixcons) 35 Nombre de factures établies chaque jour. (Datefacture, Nbfactures) 36 Nombre de factures établies par chaque serveur. (Numserveur, Nbfacture) -- Tous les serveurs doivent être dans le résultat 37 Nombre de factures établies par chaque serveur. (Numserveur, Nomserveur, Nbfacture) 38 Liste des serveurs qui ont établi plus de 3 factures. (Numserveur, Nomserveur, Nbfacture) 39 Chiffre d affaire de chaque serveur (Numserveur, montanttotalfacture)

40 Prix moyen des consommations. (prixmoyen) 41 Prix moyen du café. (prixmoyen) 42 Quantité moyenne consommée pour chaque consommation. (Numcons, Qtémoyenne) 43 Quantité moyenne consommée pour chaque consommation. (Numcons, Libcons, Qtémoyenne) 44 Nombre de serveurs par ville (Villeserveur, nbserveur) 45 Factures établies avant le 22/02/06 et qui comportent plus de 3 consommations différentes. (Numfacture, DateFacture, Nbconso) 46 Liste des villes dans lesquelles habitent plus d un serveur. (villeserveur, nbserveur) 47 Consommations qui interviennent dans plus de deux factures. (Numcons, Libcons, Nbfactures) 48 Tables pour lesquelles le chiffre d affaires réalisé est le plus élevé. (Numtable, montanttotalfacture) R1. -- Calculer d'abord uniquement le montanttotalfacture par tables le plus élevé -- Max du montant 122,4 R2. -- Afficher le numéro de table et le montant de chaque table -- Tables 1,3,4,5, 7 et montant associé -- La table 5 possède le montant Max R3. Intégrer les deux requêtes pour obtenir le résultat demandé

Requêtes avec des fonctions d'agrégation de type ROLLUP et CUBE 49 Calculer le chiffre d'affaires par Année et Mois (Année, Mois, MontantTotalFactures) 50 Calculer le chiffre d'affaires par Année et Mois (inclure le total par année et général) (Année, Mois, MontantTotalFactures) -- utilisation de rollup Afficher uniquement le total par année -- Utilisation de grouping_id 51 Calculer le chiffre d'affaires par Ville et Année (inclure le total par ville, année et général) (Villeserveur, Année, MontantTotalFactures) -- utilisation de cube -- Afficher le niveau de regroupement et filtrer le groupe selon différents niveaux Requête de Division 52 Liste des consommations qui apparaissent dans toutes les factures du mois de février 2006. (Numcons, Libcons) Résultat NUMCONS LIBCONS ---------- --------------- 101 Café double Expressions régulières 53 A l'aide de l'opérarteur REGEXP_LIKE afficher tous les serveurs sont l'adresse EMAIL est conforme au modèle p.nom @.fr 54 Affichez les adresses contenant un L ou R en lettre majuscule 55 Extraire le prénom du serveur. 56 A l'aide de l'opérateur REGEXP_REPLACE afficher la modification de l'adresse en nom.p@lecafe.fr

2. Génération du script SQL du modèle physique. 2.1. Créer le modèle entité-association avec WinDesign

Dictionnaire de données partiel : Code Type & longueur Remarque Windesign NUMTABLE N2 Identifiant NOMTABLE VA15 NBPLACE N2 Entre 1 et 8 NUMFACTURE N4 Identifiant DATEFACTURE D NUMCONS N3 Identifiant LIBCONS VA20 PRIXCONS N8 Dont 2 déc NUMSERVEUR N2 Identifiant NOMSERVEUR VA20 RUESERVEUR VA20 CPSERVEUR N5 VILLESERVEUR VA20 DATENSERVEUR D date EMAIL VA30 QTE N2 Obligatoire 2.2. Générer le modèle logique relationnel pour Oracle 9i ou 10G 2.3. Générer le script SQL du modèle physique 2.4 Consulter le script SQL généré. 2.5. Modifier la base de données cible du modèle logique, sélectionner MySQL 2.6. Générer le script SQL du modèle physique 2.7 Consulter le script SQL généré. 2.8. Comparer les deux scripts.