Exercices TP5 SQL_PLUS d’Oracle – Vues - Séquences

TP5 SQL_PLUS d’Oracle – Vues - Séquences.pdf

Télécharger PDF

Université de Provence Bases de données Licence d’Informatique TP No 5 Troisième année SQL_PLUS d’Oracle – Vues - Séquences

1) Base de données fournie

Le fichier vin.sql, que vous trouverez sur www.cmi.univ-mrs.fr/~contensi/BD05/vin.sql ou x.heurtebise.free.fr/, contient la définition des tables d’une base de données de vins, ainsi que quelques données. Le modèle conceptuel de données (MCD) correspondant à cette base de données est donné ci-contre. Charger cette base de données sous Oracle.

2) Requêtes SQL

1. Lister tous les vins de la région ‘Provence’, et pour chacun, le nombre d’articles correspondant. 2. Indiquer le prix maximum, minimum et moyen des vins en général, puis par région. 3. Lister, pour chaque client, le vin le moins cher en 75 cl disponible dans sa région. 4. Lister les vins disponibles en 150 cl, ainsi que leur prix et leur millésime. 5. Lister les appellations dont certains des vins disponibles sont antérieurs à 1950. Lister, avec chacune de ces appellations, le prix maximum des vins et l’année du vin en question. 6. Pour chaque appellation, lister le plus vieux des vins rouges.

3) Création de vues

Les syntaxes simplifiées de création/remplacement et suppression d’une vue sont les suivantes : CREATE [OR REPLACE] VIEW (,…) AS [WITH READ ONLY]; DROP VIEW ; 1. Créer une vue appelée Regionale qui affiche la jointure entre les régions et les clients. Diminuer l’âge de tous les clients de cette vue d’une année. Cette modification a-t-elle été répercutée dans la table Client ? Supprimer de la vue (mais pas de la base) toutes les lignes correspondant à un client de plus de 60 ans. 2. Créer une vue appelée Stock qui affiche la jointure entre les vins et les articles. A partir de cette vue, créer une autre vue appelée Affaire qui, pour chaque vin, donne le meilleur prix au litre possible. A partir de là, comment récupérer les articles qui sont cette meilleure affaire ?

4) Création de séquences

Une séquence génère des entiers uniques qui appartiennent à une suite arithmétique (utilisée pour remplir une clé primaire automatiquement) : CREATE SEQUENCE nom_sequence [INCREMENT BY i] [START WITH deb]; Pour accéder à la valeur suivante de la séquence, on utilise nom_sequence.next. Créer une séquence pour les clients et insérer un nouveau client.

5) Annexes – Aide sur la manipulation des dates

Les dates sont manipulables en tant qu’éléments d’un ordre total. Une date est la donnée du jour, mois, année, heures, minutes et secondes. L’affichage et la lecture des dates passent par deux fonctions de conversion incontournables, TO_CHAR et TO_DATE, pour lesquelles le format de dates doit être précisé sous forme d’une chaîne de caractères entre quotes. La fonction SYSDATE, sans argument, renvoie la date et l’heure courante. Cette fonction ne peut pas être utilisée dans une contrainte de type CHECK. Les formats de date (à utiliser dans les fonctions de conversion) : Le format de date par défaut est celui spécifié explicitement par le paramètre NLS_DATE_FORMAT, ou implicitement par le paramètre NLS_TERRITORY. Ces paramètres peuvent être modifiés en utilisant la commande ALTER SESSION. Un format de date est défini par la conjonction de plusieurs éléments au sein d’une chaîne de caractères. La longueur totale d’un format de date est de 22 caractères. Les éléments de format sont nombreux. En voici quelques uns.

FAQ

1. Comment créer une vue en SQL ?

Pour créer une vue en SQL, utilisez la syntaxe suivante : CREATE [OR REPLACE] VIEW (,…) AS [WITH READ ONLY];

2. Comment manipuler les dates en SQL ?

Les dates en SQL peuvent être manipulées en utilisant les fonctions TO_CHAR et TO_DATE. Par exemple, pour afficher la date courante avec un format spécifique, utilisez TO_CHAR(SYSDATE, ‘format’).

3. Comment créer une séquence en SQL ?

Pour créer une séquence en SQL, utilisez la syntaxe suivante : CREATE SEQUENCE nom_sequence [INCREMENT BY i] [START WITH deb];

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne