TP BDD. A la découverte du dictionnaire d Oracle



Documents pareils
TP Contraintes - Triggers

INSIA Bases de données ORACLE Installation SQL*Plus SQL-Developer

Devoir Data WareHouse

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

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

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

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

Corrigés détaillés des exercices

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

Compétences Business Objects

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

Bases de données relationnelles

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

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

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

A QUOI SERVENT LES BASES DE DONNÉES?

Objectifs du TP : Initiation à Access

I/ Présentation. On considère une BD CIRQUE dont le schema conceptuel : PERSONNEL _CIRQUE (NOM, ROLE) ;

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

SQL Historique

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

Le Langage SQL version Oracle

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

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

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

Optimisation SQL. Quelques règles de bases

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

Le Langage De Description De Données(LDD)

Historisation des données

Auto-évaluation Oracle: cours de base

A QUOI SERVENT LES BASES DE DONNÉES?

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

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

Master Exploration Informatique des données DataWareHouse

Oracle. SQL 2 & SQL*Plus. Auteur : Clotilde Attouche. Version 1.1. Du 6 Mars 2010

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Université de Nice Sophia-Antipolis. Langage SQL. version 5.7 du polycopié. Richard Grin

Langage SQL : créer et interroger une base

Administration des bases de données. Jean-Yves Antoine

Olivier Mondet

Hala Skaf-Molli. Nancy-Université 14 mai 2007

INSIA SIGL Bases de données ARCHITECTURE ORACLE

Gestion de base de données

Chapitre III Architecture de Base de Données Oracle

Intégrité des données

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

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

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

1. Base de données SQLite

Introduction à la modélisation dimensionnelle

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

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

TP11 - Administration/Tuning

TP3 : Creation de tables 1 seance

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.

INTRODUCTION AU DATA MINING

TP Bases de données réparties

Présentation Windows Azure Hadoop Big Data - BI

COURS SQL. SQL*Plus PL/SQL

FileMaker 13. Guide de référence SQL

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

1 Position du problème

I. MySQL : Serveur et SGBD

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

Pratique et administration des systèmes

Bases de Données Avancées

Bases de données avancées

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

Introduction aux Bases de Données 2004/2005

Bases de Données Avancées

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Bases de Données Réparties

Structure fonctionnelle d un SGBD

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

NF26 Data warehouse et Outils Décisionnels Printemps 2010

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

OpenPaaS Le réseau social d'entreprise

CREATION WEB DYNAMIQUE

Génération de code SQL avec le SQL

Bases de données. Mihaela Mathieu

TP Administration Oracle

Newsletter 1/ APEX et 12c multi tenant Audit Vault and DB Firewall Move Partition Online with 12c Oracle WebCenter Sites

Vues: définition. Vues: avantages. Vues: inconvénients. Vues: exemple. Vues: syntaxe 08/12/2009

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

Bases de données Outils de gestion

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN

Introduction à l'etl et application avec Oracle

Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK

16H Cours / 18H TD / 20H TP

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

Oracle Le langage procédural PL/SQL

Sybase Adaptive Server Enterprise 15

I4 : Bases de Données

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

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

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

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

Transcription:

ESIEA 2011/2012 TP BDD PARTIE I A la découverte du dictionnaire d Oracle 2.3. Testez les commandes ci-dessous : show user ; select * from all_users; desc user_tables ; select table_name from user_tables; column table_name heading Nom_de_l_utilisateur select table_name from user_tables; column object_name format a30 set pages 30 select object_name, object_type from user_objects order by object_type; desc user_constraints; column constraint_name format a30 select constraint_name from user_constraints where table_name='&matable'; Quelques fonctions SQL/Oracle SELECT RPAD('Soleil',17,'bla') "RPAD exemple" FROM DUAL; SELECT LPAD('DESS EID',15,'*.') "LPAD exemple" FROM DUAL; SELECT SUBSTR('DESS EID',6,3) "SUBSTR exemple" FROM DUAL; SELECT SUBSTR('ABCDEFGHIJ',-5,4) "SUBSTR exemple" FROM DUAL; SELECT TO_CHAR (SYSDATE, 'MM-DD-YYYY HH24:MI:SS') "Now" FROM DUAL; SELECT LENGTH('WEB WAREHOUSE') "Longueur en caractères" FROM DUAL; SELECT DECODE(ANNEE, 1, 'Première', 2, 'Seconde', 'Valeur différente de 1 et de 2!!') AS ANETUDE FROM ELEVES; SELECT NVL(SPECIALITE, 'Valeur NON renseignée') FROM PROFESSEURS; SELECT NVL(SPECIALITE, 'Valeur NON renseignée') AS SPEC_PROF FROM PROFESSEURS; SELECT ROUND(17.0958,1) "ROUND exemple" FROM DUAL; SELECT ROUND(17.58,2) "ROUND exemple" FROM DUAL; SELECT TRUNC(1958.0917,1) "TRUNC exemple" FROM DUAL; SELECT TRUNC(1958.0917,2) "TRUNC exemple" FROM DUAL; SELECT ROUND(TO_DATE('17-SEP-2002'), 'YEAR') "New Year" FROM DUAL; SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; SELECT ADD_MONTHS(SYSDATE,7) FROM DUAL; SELECT TRUNC(MONTHS_BETWEEN(SYSDATE, TO_DATE('19-JUN-2001'))) AS AGEB FROM DUAL; SELECT TO_NUMBER(TO_CHAR(SYSDATE, 'YYYY'))FROM DUAL; TP BDD Oracle SQL PL/SQL 1

PARTIE II Creation des tables Création de la table département : CREATE TABLE departement (num_dept number(4) PRIMARY KEY, nom_dept VARCHAR(50), localite char(10)); Création de la table employés : CREATE TABLE employes (num_emp NUMBER(4) PRIMARY KEY, nom CHAR(10) NOT NULL CHECK(NOM=UPPER(NOM)), fonction CHAR(9), superieur NUMBER(4) REFERENCES employes(num_emp), date_embauche DATE, salaire NUMBER(7,2) CHECK(salaire>1000), commission NUMBER(7,2), num_dept number(4) NOT NULL REFERENCES departement(num_dept)); Contenu de la Table DEPARTEMENT NUM_DEPT NOM_DEPT LOCALITE 110 FINANCE NANTES 120 RECHERCHE DIJON 130 VENTES CAEN 140 RESSOURCE BLOIS TP BDD Oracle SQL PL/SQL 2

Contenu de la Table EMPLOYES NUM_EMP NOM FONCTION SUPERIEUR DATE_EMB SALAIRE COMM NUM_DEPT 369 SERGE COMPTA 902 17/12/2002 1800.00 120 499 ALBERT COMMER 698 20/02/2002 2600 800.00 130 521 WILLY COMMER 698 27/08/2003 2250.00 1000.00 130 566 JONAS GESTION 839 02/04/2003 3975.00 120 698 BLANC GESTION 839 01/05/2002 3850 130 782 KENT GESTION 839 06/06/2002 3450.00 110 788 SYLVIE INFORMA 566 09/09/1997 4000.00 1100.00 120 839 QUEEN PDG 17/11/1999 6000.00 5500.00 110 844 TINA COMMER 698 08/09/2001 2500.00 130 876 ADAMO COMPTA 788 23/09/2001 2100.00 120 900 JUAN COMPTA 698 03/12/2002 5000.00 130 902 FAURE INFORMA 566 23/01/2002 2300.00 120 934 MILLER COMPTA 782 03/12/2001 1950.00 110 654 MARTIN COMMER 698 28/09/2002 2250.00 2400.00 130 EX00 Testez les instructions suivantes : SQL> DESC employes SQL> DESC departement -- ligne 1 SQL> select * from departement; -- ligne 2 SQL> select * from employes; -- ligne 3 SQL> select sysdate from DUAL; -- ligne 4 SQL> select * from cat; -- ligne 5 SQL> select * from tab; -- ligne 6 Créez un fichier F1.sql dans lequel vous écrivez les 6 lignes précédentes et lancez SQL> start F1 ou SQL> @F1 TP BDD Oracle SQL PL/SQL 3

Requêtes SQL EXO1 : Liste des employés dont la fonction est GESTIONNAIRE dans les départements 120 et 130 : EXO2 : Liste des employés qui n ont pas la fonction GESTIONNAIRE et qui ont été embauchés en 1991 : EXO3 : Liste des noms des employés qui ont R et T dans leur nom : EXO4 : Liste des noms des employés qui ont deux A dans leur nom : EXO5 : Liste des noms des employés qui n ont pas de supérieur : EXO6 : Liste des noms des employés, numéros de département, fonctions et date d embauche triés par : - N de département croissant, - Ordre alphabétique des fonctions, - Ancienneté croissante (les derniers embauchés d abord). EXO7 : Liste des noms des employés et leur salaire tronqué au millier : EXO8 : Liste des noms des employés en remplaçant les noms par ##### dans le département 110 : EXO9 : Liste des noms des employés avec la date de début du mois d embauche : EXO10 : Liste des noms et le nombre de mois d ancienneté au 1 er janvier 2000 : EXO11 : Liste des noms, emplois, date d embauche, numéro et nom du département des employés travaillant à DIJON : EXO12 : Liste des noms et date d embauche des employés embauchés avant leur supérieur : EXO13 : Liste des noms et date d embauche des employés embauchés avant BLANC : EXO14 : Liste des employés embauchés le même jour que FAURE : EXO15 : Liste des employés embauchés avant tous les employés du département 110 : EXO16 : Liste des employés qui ont la même fonction et le même supérieur que TINA : TP BDD Oracle SQL PL/SQL 4

EXO17 : Liste des noms, emplois, salaires des employés ayant la même fonction que JONAS ou un salaire supérieur à celui de FAURE triés par emploi et par salaire : EXO18 : Liste des noms et numéro des employés qui n ont pas de subordonnés : EXO19 : Liste des noms et départements des employés qui ne travaillent pas dans le même département que leur supérieur: EXO20 : Donner le salaire moyen (en tenant compte des commissions) : EXO21 : Liste des nombres d employés dans chaque tranche de salaire (en milliers) : EXO22 : Liste des employés qui ont le salaire le plus élevé dans chaque département : EXO23: Liste des emplois ayant le salaire moyen le plus bas. EXO24: Construire l arbre hiérarchique de la société : EXO25 : Créer une vue qui permet d afficher le salaire moyen par département : EXO26 : Créer une vue qui permet d afficher le salaire moyen par fonction : EXO27 : Créer une vue qui permet d afficher le salaire moyen : EXO28 : Liste des noms, emplois, salaires et le pourcentage que représente le salaire de chaque employé par rapport : - au salaire moyen par fonction, - au salaire moyen par département, - au salaire moyen en général. TP BDD Oracle SQL PL/SQL 5