Travaux Pratiques et Dirigés de Bases de Données n 8

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

Langage SQL : créer et interroger une base

TP Contraintes - Triggers

Création et Gestion des tables

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

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

Le Langage De Description De Données(LDD)

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

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

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

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

1 Position du problème

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

A QUOI SERVENT LES BASES DE DONNÉES?

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

NOTICE TELESERVICES : Demander un état hypothécaire

Bases de données relationnelles

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

Objectifs du TP : Initiation à Access

Compétences Business Objects

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

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

SQL Historique

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

BIRT (Business Intelligence and Reporting Tools)

Olivier Mondet

Pratique et administration des systèmes

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

Encryptions, compression et partitionnement des données

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

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

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

1 Introduction et installation

REPUBLIQUE FRANÇAISE 2015/... DCM N

Le Langage SQL version Oracle

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

MODE OPERATOIRE CORIM PROGRESS / SECTION MEI. Exploitation Informatique

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)

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

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

Le langage SQL Rappels

TD d économétrie appliquée : Introduction à STATA

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

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

1/ Présentation de SQL Server :

2011 Hakim Benameurlaine 1

Thème : Gestion commerciale

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

TP Administration Oracle

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

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

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

Programme cours ProConcept ERP

Symphony. Procédures d installation : Mise à jour vers une version plus récente

Le langage C. Séance n 4

Master Exploration Informatique des données DataWareHouse

Historisation des données

I. MySQL : Serveur et SGBD

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Gestion de base de données

NF26 Data warehouse et Outils Décisionnels Printemps 2010

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

Les nouveautés de FME 2014

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

Intégrité des données

Développement de base de données Microsoft SQL Server Durée : 5 jours Référence : DPSQL12. Contenu

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

Auto-évaluation Oracle: cours de base

TP3 : Creation de tables 1 seance

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

Guide de saisie initiale Système Secureholiday.net V5

UML et les Bases de Données

SUGARCRM MODULE RAPPORTS

Introduction aux outils BI de SQL Server Tutoriel sur SQL Server Integration Services (SSIS)

A QUOI SERVENT LES BASES DE DONNÉES?

MANUEL OPEN PRO CHAMBRES D HOTES

Utilisation d Hyperplanning 2011

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

La traduction des sites internet touristiques en langues étrangères comme outil de valorisation et de promotion des territoires aquitains

Créer un fichier PDF/A DÉPÔT ÉLECTRONIQUE

TP Bases de données réparties

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

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

Prix de vente : Euros

CREATION WEB DYNAMIQUE

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

BASES DE DONNEES TP POSTGRESQL

CLOTURE ET ARCHIVAGE D UN EXERCICE COMPTABLE

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Sauvegarde et Restauration d un environnement SAS

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Corrigés détaillés des exercices

Communiqué de Lancement. Sage Intégrale V4.50

1. Base de données SQLite

Les bases de données

Documentation Liste des changements apportés

Transcription:

Travaux Pratiques et Dirigés de Bases de Données n 8 Scripts de création et de manipulation de données Dans ce TD on vous demande de créer des tables sous votre compte Oracle avec un script de création. Les exercices font référence à la base de données «Camping» dont le schéma relationnel et un jeu d essai sont annexés. Création et exécution d un script Dans un fichier (nommé par exemple monscript.sql), écrivez le script de création pour les nouvelles tables. Le script doit d abord supprimer les tables existantes, puis les créer. Dans SQL Developer o Ouvrez votre script avec File puis Open puis indiquer le chemin complet, par exemple H:/BD/TP/monscript.sql, o Exécutez le script (Run Script) pour créer les nouvelles tables sous votre compte. Supprimez toutes les tables de votre compte à la fin du TP. Vous aurez la possibilité de les recréer avec le script. Conservez soigneusement les divers scripts que vous aurez créés : vous aurez besoin de les utiliser, parfois aussi de les compléter lors de diverses séances. N hésitez pas à mettre des commentaires dans votre script (sous SQL Developer on utilise -- pour un commentaire sur une ligne ou /*... */ pour les commentaires sur plus d une ligne). Si vous voulez sauvegarder la sortie (par exemple vers un ficher nommé monficher.sql), utilisez la touche Save File dans la fenêtre Script Output au dessous de la feuille de travail. Présentation de la base de données «Camping» Une société de villages vacances répertorie dans une base de données la liste des campings où elle loue des chalets. Chaque camping peut être rattaché (ou pas) à une ville touristique. La liste des villes touristiques connues est établie dans la table ville tandis que le fait qu un camping soit rattaché à une ville est renseigné par la valeur du champ ville de la table camping. En plus de son nom, chaque camping est décrit par des informations allant de son adresse (champ adrcamping de la table camping) jusqu à sa composition (contenu de la table inventaire). En effet, chaque camping peut être composé d un ou plusieurs chalets (chaque chalet est présent en nbunite unités). Les chalets sont inventoriés par type (table typechalet). Le tarif de location (table tarif) est donné à la semaine pour un chalet dans un camping et selon la période (libellée «Hors saison» (HS) et «Pleine saison» (PS) dans la table periode). Page 1 Bases de données TD 8

1. Script de destruction En vous aidant du schéma relationnel, indiquer l ordre nécessaire pour détruire les tables de cette base de données. Donner deux scripts de destruction différents compatibles avec cet ordre. 2. Création des tables On veut recréer cette base de données mais suite à une corruption de fichier on ne retrouve qu une partie du script : CREATE TABLE periode ( codeperiode CHAR(2) CONSTRAINT PK_periode PRIMARY KEY, nomperiode VARCHAR2(30) NOT NULL); CREATE TABLE camping ( numcamping NUMBER(8) CONSTRAINT PK_camping PRIMARY KEY, nomcamping VARCHAR2(30) NOT NULL, adrcamping VARCHAR2(120), telcamping CHAR(14), ville NUMBER(8) CONSTRAINT CIR_ville REFERENCES ville, dateouv DATE, dateferm DATE, nbetoiles NUMBER(1) CONSTRAINT CHK_nbEtoiles CHECK(nbEtoiles BETWEEN 1 AND 4), qualitefrance CHAR(3) DEFAULT 'Non' NOT NULL CONSTRAINT CHK_QF CHECK(qualiteFrance IN ('Oui', 'Non')), CONSTRAINT CHK_DATE CHECK(dateOuv < dateferm)); CREATE TABLE typechalet ( numtypechalet NUMBER(8) CONSTRAINT nomcontrainte PRIMARY KEY, nomtypechalet VARCHAR2(30) NOT NULL, capacite NUMBER(8) CHECK(capacite > 0), descr VARCHAR2(120)); a. Quelles sont les tables qui pourraient être crée grâce à cette portion de script de création? b. Pour que les requêtes de création de ces tables fonctionnent quelles tables doivent préalablement exister (justifier la réponse)? c. Lister les noms des contraintes d attribut, sont-ils assez parlants pour les comprendre en cas de violation de contrainte? d. Lister les noms des contraintes de tables, sont-ils assez parlants pour les comprendre en cas de violation de contrainte? e. Existe-t-il des contraintes d attributs non nommées? Si oui, corriger le script pour les nommer de manière utile et parlante. f. Existe-t-il des contraintes de tables non nommées? Si oui, corriger le script pour les nommer de manière parlante. 3. Script de création Réinventer les parties manquantes du script de création pour qu il implante totalement le schéma relationnel. 4. Manipulation de données a. Une version de la base de données est accessible sur machine sous le nom d utilisateur «francesca_fiorenzi». Quelle requête faut-t-il faire pour copier tout le contenu de Page 2 Bases de données TD 8

l ancienne table typechalet dans la nouvelle table typechalet? Cette volonté de récupérer d anciennes données impose-t-elle des contraintes sur les attributs de la nouvelle table typechalet? Si oui, lesquelles? Sinon, pourquoi? b. Écrire les deux requêtes qui permettent d ajouter, avec pour numéro 20, un nouveau camping trois étoiles ayant le label qualitefrance, nommé «Les Flots Bleus», non rattaché à une ville touristique, ouvert toute l année 2015 et qui contient en un seul exemplaire tous les types de chalets possibles. c. Écrire les deux requêtes qui permettent d ajouter avec un numéro calculé en incrémentant de un le plus grand numéro enregistré dans la base de données, un nouveau camping quatre étoiles ayant le label qualitefrance, nommé «Les Dents de la Mer» non rattaché à une ville touristique, ouvert du 5 juillet au 31 août 2015 et qui contient en un seul exemplaire tous les types de chalets possibles. d. Écrire les requêtes qui permettent d ajouter un chalet numéro 6 à tous les campings rattachés à la ville de Vers (deux requêtes, certains campings contenant déjà ce type de chalet). e. Ecrire les trois requêtes qui permettent de supprimer les campings non rattaché à une ville touristique. f. Remplacer, dans tous les campings, tous les chalets «Palace» par autant de chalets «Détente». (Quatre requêtes, certains campings contenant déjà un chalet «Détente». Pour les campings n ayant pas de chalets «Détente», on ne cherchera pas à renseigner les prix de location de ce nouveau type de chalet). Annexes tarif periode codeperiode nomperiode numcamping numchalet codeperiode prixsemaine ville numville nomville nomdept camping numcamping nomcamping adrcamping telcamping ville dateouv dateferm nbetoiles qualitefrance inventaire numcamping numchalet nbunite typechalet numtypechalet nomtypechalet capacite descr Schéma relationnel de la base de données «Camping» Page 3 Bases de données TD 8

Ville Jeu d essai de la base de données «Camping» sous ffioren NUMVILLE NOMVILLE NOMDEPT ---------- -------------------- -------------------- 1 Pyla/Mer Gironde 2 Le Château d'oléron Charente Maritime 3 Sarlat Dordogne 4 Vers Lot Periode CODEPERIODE NOMPERIODE ----------- --------------- HS Hors saison PS Pleine saison Camping NUMCAMPING NOMCAMPING ADRC TELCAMPING VILLE DATEOUV DATEFERM NBETOILES QUALITEFRANCE ---------- ---------------- ---- -------------- ----- --------- --------- --------- ------------- 2 La Forêt 05 56 22 73 28 1 15-04-15 01-10-15 3 Non 3 Panorama 05 56 22 10 44 1 01-05-15 30-09-15 3 Non 4 La Brande 05 46 47 62 37 2 15-03-15 15-11-15 4 Oui 5 Les Gros-Joncs 05 46 76 52 29 2 01-01-15 31-01-15 4 Non 6 Fief-Melin 05 46 47 62 37 2 01-06-15 15-09-15 3 Oui 7 Les Granges 05 53 28 11 15 3 02-05-15 16-09-15 4 Non 8 Aqua Viva 05 53 31 46 00 3 15-05-15 30-09-15 4 Non 9 Soleil Plage 05 53 28 33 33 3 01-04-15 30-09-15 4 Oui 10 Le Mont Libre 04 70 90 12 16 01-04-15 15-10-15 2 Non 11 La Rivière 02 51 40 24 07 01-06-15 30-09-15 2 Non 12 Le Mas de Saboth 05 65 31 41 74 4 01-01-15 31-12-15 3 Oui 13 La Chêneraie 05 65 31 40 29 4 01-05-15 30-09-15 3 Non TypeChalet NUMTYPECHALET NOMTYPECHALET CAPACITE DESCR ------------- ------------- -------- ----- 1 Evasion 2 2 Eden 4 3 Azur 4 4 Rêve 4 5 Palace 6 6 Détente 6 Page 4 Bases de données TD 8

Inventaire NUMCAMPING NUMCHALET NBUNITE ---------- ---------- ---------- 2 4 20 3 6 5 4 1 5 4 4 20 4 6 10 5 5 15 5 6 20 6 2 10 6 6 10 7 2 5 7 3 5 7 5 10 8 1 5 8 4 10 8 5 10 8 6 10 9 4 10 9 5 10 9 6 10 10 4 5 11 5 2 11 6 3 12 2 5 12 4 5 12 5 5 12 6 5 13 4 15 Page 5 Bases de données TD 8

Tarif NUMCAMPING NUMCHALET CODEPERIODE PRIXSEMAINE ---------- ---------- ----------- ----------- 2 4 HS 350 2 4 PS 550 3 6 HS 500 3 6 PS 680 4 1 HS 200 4 1 PS 370 4 4 HS 280 4 4 PS 620 4 6 HS 280 4 6 PS 620 5 5 HS 280 5 5 PS 700 5 6 HS 280 5 6 PS 700 6 2 HS 180 6 2 PS 460 6 6 HS 220 6 6 PS 550 7 2 HS 200 7 2 PS 460 7 3 HS 220 7 3 PS 520 7 5 HS 250 7 5 PS 620 8 1 HS 190 8 1 PS 460 8 4 HS 250 8 4 PS 590 8 5 HS 300 8 5 PS 670 8 6 HS 280 8 6 PS 640 9 4 HS 250 9 4 PS 550 9 5 HS 290 9 5 PS 610 9 6 HS 290 9 6 PS 610 10 4 HS 200 10 4 PS 350 11 5 HS 230 11 5 PS 450 11 6 HS 220 11 6 PS 430 12 2 HS 230 12 2 PS 460 12 4 HS 270 12 4 PS 550 12 5 HS 310 12 5 PS 620 12 6 HS 310 12 6 PS 620 13 4 HS 230 13 4 PS 500 Page 6 Bases de données TD 8