Séance de révision et manipulation de l utilitaire SQLLOADER



Documents pareils
Devoir Data WareHouse

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

Le langage SQL Rappels

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

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

A QUOI SERVENT LES BASES DE DONNÉES?

CREATION WEB DYNAMIQUE

Cours Base de données relationnelles. M. Boughanem, IUP STRI

TP Contraintes - Triggers

Auto-évaluation Oracle: cours de base

Encryptions, compression et partitionnement des données

Bases de données relationnelles

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

I4 : Bases de Données

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

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

Le Langage SQL version Oracle

Langage SQL : créer et interroger une base

Bases de Données. Plan

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

Rappel sur les bases de données

Génération de code SQL avec le SQL

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

TP3 : Creation de tables 1 seance

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

Dossier I Découverte de Base d Open Office

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

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

Les bases de données

Le Langage De Description De Données(LDD)

Conception des bases de données : Modèle Entité-Association

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

Master Exploration Informatique des données DataWareHouse

Bases de données cours 1

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

Objectifs du TP : Initiation à Access

II. Modèle conceptuel le modèle entité-association

Département Génie Informatique

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

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

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

Modèle conceptuel : diagramme entité-association

UML et les Bases de Données

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

Pour les débutants. langage de définition des 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

La recherche avec l interface COLLEGE

1 Introduction et installation

Bases de données avancées Introduction

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Nom de l application

A QUOI SERVENT LES BASES DE DONNÉES?

.../5. Gestion de Bases de Données (J. Wijsen) 27 janvier 2011 NOM + PRENOM : Orientation + Année : Cet examen contient 8 questions. Durée : 2 heures.

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

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

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

Création et Gestion des tables

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

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

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

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

TP Administration Oracle

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

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

Olivier Mondet

Compétences Business Objects

Bases de données élémentaires Maude Manouvrier

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Bases de données relationnelles & SQL

Conception d une base de données

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

Bases de Données Avancées

Historisation des données

Application web de gestion de comptes en banques

Rémi GILANTE Certifié d Informatique et Gestion. Jean-Claude NOUSSIGUE Agrégé d Économie et Gestion, option B

SQL Historique

Séance 1 Introduction aux bases de données

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

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

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

Bases de Données. Avancées

PG208, Projet n 3 : Serveur HTTP évolué

Information utiles. webpage : Google+ : digiusto/

16H Cours / 18H TD / 20H TP

Solution de gestion de newsletter 12all Version 1.0 p.montier

Pratique et administration des systèmes

2011 Hakim Benameurlaine 1

et les Systèmes Multidimensionnels

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

1 Position du problème

Concevoir une base de données

Merise. Introduction

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Transcription:

Séance de révision et manipulation de l utilitaire SQLLOADER 1. Enoncé La base de données considérée représente les informations relatives à une bibliothèque qui gère le stockage, l indexation et l emprunt d un ensemble de livres. Chaque livre est un exemplaire d ouvrage, et il peut exister plusieurs exemplaires d un même ouvrage. Les ouvrages sont identifiés par leur Numéro ISBN, ont un titre, un éditeur, une année de parution et sont caractérisés par une catégorie (roman, nouvelle, poésie,...). Les livres sont caractérisés par un numéro d exemplaire, un prix, une date d achat et une durée d emprunt. Les lecteurs sont identifiés par un numéro et ont un nom, un prénom, un âge et une adresse. Ils sont de plus caractérisés par un type de lecteur (homme, femme, enfant) et une catégorie de lecteur (occasionnel,regulier,excluspret). La base de données est décrite par le schéma relationnel suivant : Lecteur(NumL,NomL,PrenomL,AdresseL,Age,TypeL,CatL) Ouvrage(NumISBN,Titre,Editeur,Annee,prixAchat,Categorie) Livre(NumE,valeurEstimee,DateAchat,Etat,DureeEmprunt, NumISBN) AEmprunte(NumL,NumE,DateDebutEmprunt,DateFinEmprunt,NbreRelance) Les attributs en gras représentent les clés primaires et les attributs en italique portent des contraintes de clé étrangère. Vous devez, en guise d exercice de rétroconception, en définir le modèle conceptuel de données (modèle E-A ou diagramme de classes UML) 2. Création, alimentation et modification de la structure de la base de données Pour vous aider lors de la création et de l alimentation de la base de données, un script de création de tables (les évolutions de schéma exceptées) et des fichiers de données au format CVS (Comma Separated Value) vous sont fournis sur le site habituel. Vous allez utiliser le module SQL*Loader (un des modules fonctionnels d Oracle au même titre que SQL*Plus ou que SQL*Dba) pour charger des données dans les tables d une base de données via des fichiers de données. Une figure vous montre les principes de base. Le format des entrées comme des sorties est précisé dans un fichier de paramétrage, appelé fichier de contrôle (.ctl). En sortie, Un fichier log donnant les résultats du chargement est généré. En cas d erreur, les enregistrement rejetés sont stockés dans un fichier portant l extension bad, pour être éventuellement retraités. Enfin un fichier discard (dsc) peut 1

M2 GMIN308 2013-2014 2 être généré et contenir ls données non chargées car ne respectant pas la clause WHEN du fichier de contrôle. Parfois, le fichier de contrôle contient non seulement les instructions de paramétrage mais aussi les données. Il vous faut définir les fichiers de contrôle appropriés pour alimenter les tables Fichiers données (.dat) Fichiers Entrée Fichier Controle (.ctl) Chargement SQL*Loader Fichier Erreur (.log) Fichier Rejets (.bad) Fichier Discard (.dsc) Fichiers Sortie BD La commande minimale est de la forme Figure 1 Stockage via des fichiers sqlldr nom_user/mot_de_passe@base control=nom_fic.ctl Vous avez des comptes Oracle qui sont définis soit en externe (prise en charge de l identification par le système d exploitation), soit en interne (identification au niveau du serveur de données). Dans le contexte d un compte externe, vous pouvez vous éviter de passer votre nom utilisateur et votre mot de passe en clair. D autres options sont toutefois permises comme par exemple : data nom du fichier de données d entrée log nom du fichier de trace bad nom du fichier des enregistrements rejetés Il vous faut créer les fichiers de contrôle pertinents par rapport à la fois aux fichiers de données et aux tables de la base de données.

M2 GMIN308 2013-2014 3 Paramètres et données dans le fichier de contrôle Créer au préalable avec sqlplus la table joueur Create table joueur (nom varchar(15), sport varchar(15), constraint joueur_pk primary key (nom,sport)); puis dans une session terminal, exécuter sql*loader par sqlldr /@master control=joueur.ctl (compte externe) sqlldr identuser/passwduser@master control=joueur.ctl (compte interne) joueur.ctl est donné ci-dessous Load data infile * replace Into table joueur Fields terminated by "," optionally enclosed by " Trailing nullcols ( nom, sport ) begindata Pierce, Federer, Mauresmo, Nalbandian, Michalak, Rugby Betsen, Rugby Maier, Ski Rajout de tuples avec une syntaxe appropriée Pour rajouter des tuples dans joueur à l aide d un fichier de données (AjoutJoueur.dat), il suffit de définir un nouveau fichier de contrôle joueur2.ctl donné ci-dessous (les données sont chargées depuis AjoutJoueur.dat et ajoutées aux données existantes (append). Dans cet exemple, il faut gérer les blancs. load data infile AjoutJoueur.dat append into table Joueur Fields terminated by "," optionally enclosed by " Trailing nullcols (nom position(1:15) nullif nom=blanks, sport position(16:30) nullif sport=blanks) AjoutJoueur.dat

M2 GMIN308 2013-2014 4 Montillet Clément Dechy Gaudio Ski Un autre exemple nommé joueur3.ctl moins contraignant, truncate vide au préalable la table. Load data infile AjoutSuite.dat truncate Into table joueur Fields terminated by ; ( nom, sport ) AjoutSuite.dat Llodra; Santoro; Grosjean; 3. Evolution de schéma Vous utiliserez la syntaxe ALTER TABLE pour répondre aux questions suivantes Rien n est mentionné à propos des auteurs des livres. Sachant qu un ouvrage peut être une oeuvre collective et qu un auteur écrit de manière générale plusieurs ouvrages au cours de sa vie, ajouter la ou les tables nécessaires pour prendre en compte toutes ces nouvelles considérations. Aidez vous en représentant l ensemble de l application sous le modèle E-A. Ajout de l attribut CodePret dans la relation Livre, les valeurs de CodePret seront à prendre parmi Exclus, Emprunt Longue Durée et Emprunt Courte Durée. Les mots clés sont rentrés dans la table MotClef indépendamment les uns des autres. Dans la réalité, ces mots clés peuvent être représentés sous forme d arborescence (thesaurus) avec une racine (index) et des mots clés dit pères (par exemple littérature, science,...) qui peuvent être spécialisés par des mots clés plus précis nommés fils (par exemple pour sciences : informatique, biologie, géographie, physique, chimie... et ensuite pour informatique programmation, bases de données, multimedia...). Modifier la structure de la base de manière prendre en compte cette spécialisation/généralisation des mots-clés. Nous voudrions maintenant lier des auteurs à des maisons d édition via des contrats de travail. Une maison d édition a un nom, une adresse, un chiffres d affaire et un directeur. Un auteur est lié à une maison d édition par un contrat caractérisé par une date de début, une date de fin, un montant global et une clause d exclusivité ou de non exclusivité. Comme pour Auteur, aidez vous du modèle E-A ou UML et ajoutez les tables nécessaires pour prendre en compte ces nouvelles considérations. 4. Requêtes SQL Les tables Auteur, AEcrit, Indexe et MotClef n ont pas été créées, créez les et alimentez les au travers de fichiers de données (à créer au préalable) et de l utilitaire SQL*Loader. Pour finir, une série de requêtes SQL vous sont proposées en guise de révision.

M2 GMIN308 2013-2014 5 4.1 Selections et projections 1. Donner les noms et prénoms des lecteurs de plus de 25 ans. 2. Donner la liste des lecteurs dont le nom commence par D, triés par ordre décroissant de numéro de lecteur. 3. Donner par ordre alphabétique la liste des ouvrages (numéro ISBN, titre et catégorie) de toutes les catégories sauf Médecine, Sciences et Loisirs. 4. Donner les informations sur les emprunts en cours (date de retour non renseignée) 4.2 Expression des jointures 1. Donnez pour le lecteur Pierre Dubois, la liste des livres empruntés (numéro, et date d emprunt) par ordre croissant de date d emprunt. 2. Donner la liste des livres (numéro, code prêt et titre) des ouvrages caractérisés par le mot clef bases de donnees 3. Quels sont les livres du même ouvrage que le livre numéro 4 et dont l état est bon? 4. Quels sont les lecteurs ayant emprunté un livre de l ouvrage Programmer object avec Oracle? 5. Existe t il une catégorie pour laquelle aucun livre n a été emprunté? 4.3 Formulation de calculs 1. Combien y a t il d auteurs saisis dans la base de données? 2. Donner le prix d achat moyen des exemplaires de bases de donnees 3. Quel est le tarif d abonnement le plus faible? 4. Quelle est la catégorie de livre pour laquelle l exemplaire le plus cher a été acheté 4.4 Partitionnements 1. Donner pour la catégorie bases de donnees le nombre de livres par ouvrage? 2. Donner le nombre d emprunts effectués par chacun des lecteurs (numéro, nom) pour chacune des catégories de livres proposés? 3. Quel est l abonné ayant effectué le plus d emprunts? 4.5 Requêtes complexes 1. Quels sont les ouvrages dont tous les livres valent plus de 20 Euros? 2. Quels sont les abonnés qui ont emprunté toutes les catégories de livres?