Corrigé du TP SQL 2 Énoncé -Rappel Requête 1 :

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Les requêtes Manière de dialoguer avec une base de donnée pour :
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
2 Ils associent les rangées de 2 requêtes UNION [ALL] INTERSECT MINUS.
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
SQL Partie 3 : (LID : Langage d'interrogation de données)
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Chapitre 5 : Le langage SQL
Access Les requêtes Table médias Table (*) Requêtes simples.
Cours 5: Sous requetes Exploitation des données Présentation  Supposez que vous voulez écrire une requête pour trouver qui a un salaire plus.
Réalisé par VISAGE JONATHAN (aidé par SLUYS DIDRIC) 2 NSSE.
 C'est une fenêtre par laquelle les informations d'une table peuvent être visualisées et changées.  C'est une table virtuelle: ◦ elle n'existe pas ◦
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Module 7 : Utilisation de requêtes élaborées
Sélection de colonnes (la projection)
SIO1 – SI3 Manipulation des données2015 Travailler avec plusieurs tables Repérer la colonne charnière : elle contient la même donnée dans les 2 tables.
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
Geedoc Extraction de données 20/01/2016 Comment interroger GEEDOC ? En utilisant les modules Listes et Inventaire proposés dans l’IHM Avantage : facile.
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
1- Compléments SELECT 2ème partie : Traitements des résultats Le langage SQL 2- Les clauses de présentation 3- Recap clauses 4- Les fonctions.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL partie 5 1 LMD create – update – primary key secondary key.
Le langage de définition de données B.T.S. S.I.O – SI3 –
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
1- phpMyAdmin 3ème partie : Manipulation des données Le langage SQL 2- Gérer les tables 3- Gérer les données.
Intégration du P7 dans l’épreuve E41
Modèle de présentation projets/thèses
Révision et modification de votre demande
Les Instructions Itératives (Les Boucles)
Construire des requêtes
Environnement du développement de BD ORACLE REPORTS 10g
Intégration du P7 dans l’épreuve E41
Initiation aux bases de données et à la programmation événementielle
Langage de manipulation de données (LMD)
INSIA SRT 3 PAM !.
Table passage en caisse
Structured Query Language
Collecte de données CAPI
LES FRACTIONS Dans ce diaporama, nous allons revoir comment:
Initiation aux bases de données et à la programmation événementielle
Algorithmiques Abdelbasset KABOU
Les bases de données et le modèle relationnel
Langage de Manipulation des Données LMD
Langage d’interrogation des Données LID
SQL LID – INTERROGATIN DES DONNEES
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Manipulation D’Une Base De Données
Langage d’interrogation des Données LID
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
4 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données agrégées à l'aide des fonctions de groupe.
5 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données de plusieurs tables.
7 Copyright © 2004, Oracle. Tous droits réservés. Utiliser les opérateurs ensemblistes.
C Copyright © 2004, Oracle. Tous droits réservés. Syntaxe des jointures Oracle.
Base de données relationnelle et requêtes SQL
Algèbre relationnelle
Gestion des photos Organisation du disque dur, Navigation
Le rapport de l'État partie
Présentation de la base Frantext
Les Requêtes S.Q.L « Structured Query Language). SQL Historique.
Opérateurs Ensemblistes
Transcription de la présentation:

Corrigé du TP SQL 2 Énoncé -Rappel Requête 1 : Lister les n° d'enclos, les noms des animaux, pour les animaux arrivés au zoo avant le 1er janvier 2005. Requête 2 : Lister les noms des animaux carnivores et leur espèce.

Corrigé du TP SQL 2 Requête 1 Lister les n° d'enclos, les noms des animaux, pour les animaux arrivés au zoo avant le 1er janvier 2005. Méthodologie : 1- repérer les champs et les tables concernées 3 champs sont demandés dans l'énoncé : les champs nom et date_arrivee de la table animal Le champ id de la table enclos 1ère déduction => Plusieurs tables Question induite : Ces tables ont-elles chacune un champ permettant de les relier entre elles ?

Corrigé du TP SQL 2 Requête 1 Lister les n° d'enclos, les noms des animaux, pour les animaux arrivés au zoo avant le 1er janvier 2005. Méthodologie : 2- Trouver le moyen de créer une jointure entre les tables Nous nous apercevons qu'aucun champ commun aux tables animal et enclos ne permet de réaliser une jointure directe entre ces deux tables, en revanche, la table occupe permet ce lien et fournit elle aussi le numéro d'enclos. En conséquence, nous remplaçons la table enclos par la table occupe, et nous pourrons faire la jointure sur les champs id/id_animal. Modification : Les champs nom et date_arrivee de la table animal Le champ id_enclos de la table occupe

Corrigé du TP SQL 2 Requête 1 Lister les n° d'enclos, les noms des animaux, pour les animaux arrivés au zoo avant le 1er janvier 2005. Méthodologie : 3- Écriture de la clause FROM et de la jointure (clause WHERE) SELECT FROM animal A, occupe O WHERE A.id = O.id_animal

Corrigé du TP SQL 2 Requête 1 Lister les n° d'enclos, les noms des animaux, pour les animaux arrivés au zoo avant le 1er janvier 2005. Méthodologie : 4- Une fois la clause FROM écrite et les tables renommées, nous pouvons écrire le SELECT SELECT O.id_enclos, A.nom FROM animal A, occupe O WHERE A.id = O.id_animal NB : le champ date_arrivee n'est pas demandé en affichage.

Corrigé du TP SQL 2 Requête 1 Lister les n° d'enclos, les noms des animaux, pour les animaux arrivés au zoo avant le 1er janvier 2005. Méthodologie : 5- Reste la condition de date d'arrivée => filtre à ajouter dans la clause WHERE Filtrer sur les dates d'arrivée strictement inférieures au 1er janvier 2005. En SQL : SELECT O.id_enclos, A.nom FROM animal A, occupe O WHERE A.id = O.id_animal AND A.date_arrivee < '2005-01-01' SELECT O.id_enclos, A.nom FROM animal A, occupe O WHERE A.id = O.id_animal AND A.date_arrivee < '2005-01-01'

Corrigé du TP SQL 2 Requête 1 Méthodologie : 6- Vérification utile Lister les n° d'enclos, les noms des animaux, pour les animaux arrivés au zoo avant le 1er janvier 2005. Méthodologie : 6- Vérification utile Ajouter le champ date_arrivée dans le SELECT afin de vérifier si les valeurs affichées sont cohérentes avec l'énoncé. Soumettre.

Corrigé du TP SQL 2 Requête 1 Méthodologie : 6- Vérification utile Lister les n° d'enclos, les noms des animaux, pour les animaux arrivés au zoo avant le 1er janvier 2005. Méthodologie : 6- Vérification utile Ajouter le champ date_arrivée dans le SELECT afin de vérifier si les valeurs affichées sont cohérentes avec l'énoncé. Soumettre. Nous nous apercevons que le champ date_arrivee contient des valeurs non renseignée (≈ NULL) que nous devons prendre en compte => des animaux « qui ne sont pas arrivés ».

Corrigé du TP SQL 2 Requête 1 Méthodologie : 7- Résultat final Lister les n° d'enclos, les noms des animaux, pour les animaux arrivés au zoo avant le 1er janvier 2005. Méthodologie : 7- Résultat final SELECT O.id_enclos, A.nom FROM animal A, occupe O WHERE A.id = O.id_animal AND A.date_arrivee < '2005-01-01' AND A.date_arrivee > '0000-00-00'

Corrigé du TP SQL 2 Requête 1 Lister les n° d'enclos, les noms des animaux, pour les animaux arrivés au zoo avant le 1er janvier 2005. Méthodologie : 7- Résultat final (variante) SELECT O.id_enclos, A.nom FROM animal A, occupe O WHERE A.id = O.id_animal AND A.date_arrivee BETWEEN '0000-00-01' AND '2004-12-31' NB : l'opérateur BETWEEN encadre de manière relative. Équivaut à : >= ET <=

Corrigé du TP SQL 2 Requête 1 Remarque : Il est bien entendu possible, pour gagner du temps, d'inclure les champs relatifs à la clause WHERE (filtres) aussi dans le SELECT dès le départ. Ne pas oublier de les enlever lors de la finalisation de la requête.

Corrigé du TP SQL 2 Requête 2 Résultat final Lister les noms des animaux carnivores et leur espèce. Résultat final SELECT DISTINCT A.nom, A.espece FROM animal A, mange M WHERE A.espece = M.espece AND (M.aliment = 'Viande' OR M.aliment = 'Poisson')

Corrigé du TP SQL 2 Requête 2 Remarque : Le filtre simple sur l'aliment 'Viande' est accepté. Notez la nécessité des parenthèses encadrant la condition OR. Le mot clef DISTINCT n'était pas demandé dans l'énoncé. Comment justifier ce choix ? À vous de jouer : reprenez la méthodologie exposée pour la requête 1 et appliquez-là à cette deuxième requête jusqu'à obtenir le bon résultat. N'hésitez pas à écrire votre cheminement.