IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Aide exercices langage sql


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 44
    Points : 25
    Points
    25
    Par défaut Aide exercices langage sql
    Bonjour, donc je prépare un module de base de données relationnelles et je fais quelques annales pour mieux apprendre le sql.

    Je suis tombé sur une question dont le corrigé me pause un problème car je ne comprends pas le raisonnement du résultat ( et ce n'est pas la seule question d'ailleurs ).

    Donc je vais faire court : Soit le modèle physique suivant :
    - Enseignant (IDE, NomPrenom, Email, Tél)
    - Enseignement (IDC, Designation, DTC, DTTD, DTTP, #IDE )
    - Formation ( IDF, Designation, #IDE )
    - Dispenser (#IDC, #IDE, type, durée )

    La question : Donner le nom des enseignants dispensant au moins les meme enseignements que l'enseignant d'id "E01".

    J'aimerais avoir des réponses à cette question afin de le comparé à la réponse du corrigé que j'ai et qu'après vous m'expliquiez les démarches.

    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Si je comprends bien le schéma, je partirai de la table Enseignement, et je ferai:
    1. Une première jointure avec la table Dispenser, sur la colonne IDC.
    2. Une seconde jointure avec la table Enseignant avec la table précédente, sur la colonne IDE, avec IDE = 'E01'
    3. Une troisième avec la table Dispenser, sur la colonne IDC
    4. Une quatrième avec la table Enseignant sur la table précédente, sur la colonne IDE, avec IDE <> 'E01'

    Il faut bien sûr utiliser des alias sur les tables utilisées.

    On peut aussi changer l'ordre des tables, en partant de Enseignant => Dispenser => Enseignement => Dispenser => Enseignant. C'est peut-être plus logique, mais ça ne change pas le résultat final, et suivant le SGBD le plan d'exécution sera le même.

    Je te laisse écrire la requête avec tout ça.

    Tatayo.

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Postez la réponse du corrigé, et indiquez nous ce que vous ne comprenez pas afin que nous puissions vous expliquer

    Car en plus des deux propositions de tatayo, qui sont déjà déclinables chacune en plusieurs requêtes différentes, il existe aussi d'autres solutions, avec d'autres logiques...

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 44
    Points : 25
    Points
    25
    Par défaut
    Merci pour vos réponses, je n'ai pas encore eu le temps de retraiter ce thème étant donné mon retard sur d'autres UE au CNAM et examens approchant. Dès que je m'y replonge je repost.

    Thanks

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 44
    Points : 25
    Points
    25
    Par défaut
    Re bonjour ! alors j'ai laissé cette question là.... ceci dit j'ai une autre question qui me trotine pas mal et j'aurais aimé qu'on m'explique comment la solution a été trouvée et quels principes ont été appliqués...

    Donc considérons le schéma relationnelle :

    SYNDICAT ( CodeSyndicat, NomSyndicat, Adresse Syndicat, TéléphoneSyndicat )
    CAMION (N°immatri, Nom proprio )
    TYPE_DECHET (Codetype, LibelléType )
    PESEE ( CodeBordereaupeséé, Date pesée ... , #CodeType, #N°Immatri, #CodeSyndicat)
    LIMITATION ( #N°Imma, #CodeType, capacitémaxi )

    La question est la suivante : Ecrire la requête SQL permettant de déterminer les différents syndicats ( nom et adresse ) qui ont déposé du verre. La liste sera triée par ordre alphabétique sur le nom du syndicat.

    la réponse du corrigé est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT DISTINCT NomSyndicat, AdresseSyndicat
     
    FROM SYNDICAT, PESEE, TYPE_DECHET
     
    WHERE PESEE.CodeSyndicat = SYNDICAT.CodeSyndicat 
     
    AND PESEE.CodeType = TYPE_DECHET.CodeType 
     
    AND TYPE_DECHET.LibelléType = ‘Verre’
     
    ORDER BY NomSyndicat.
    Déjà pour le from, comment peut on prendre les classes PESEE, TYPE DECHET alors que NomSyndicat, AdresseSyndicat n'y font pas partis. Quel est le concept employé ici et comment l'utiliser. Ensuite je ne comprends pas la ligne WHERE et les lignes AND.


    Merci de m'éclairer svp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2008] [Aide] Exercice SQL
    Par karimot dans le forum Développement
    Réponses: 17
    Dernier message: 04/01/2018, 17h53
  2. Exercice langage Sql
    Par carolina88 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/10/2012, 15h28
  3. besoin d'aide pour un exercice (requêtes sql)
    Par stabii dans le forum Langage SQL
    Réponses: 15
    Dernier message: 30/01/2011, 00h00
  4. Aide pour un exercice sur sql
    Par stèfv96 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 10/01/2008, 17h14
  5. Besoin d'aide sur langage SQL. Extraire des données
    Par FaTaL25 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/12/2007, 13h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo