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 :

Projet SQL


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Projet SQL
    Bonjour je suis actuelement étudiant en dut d'info a paris 5 et je viens d'avoir un projet SQL à rendre en ACSI, malheuresement je n'y arrive pas

    voila le MLD qu'ils nous on donné:

    DEPARTEMENT(NoDept, NomDept)
    PARENT(NoParent, PrenomParent, Sexe, DateNaissance, #NoParentPilote, #NoDept, Adresse, CP, Ville)
    ENFANT(NoEnfant, PrenomEnfant, Saxe, Age, #NoParent)
    JOUET(NoJouet, NomJouet,DescriptionJouet, AgeMinimum, AgeMaximum, PrixBase, #NoCateg)
    CATEGORIE(NoCateg, NomCateg, DescriptionCateg)
    SUBSITUER(#NoJouet, #NoJouetSub)
    DISTRIBUER(#NoEnfant, #NoJouet, DateDistribution)
    EVALUER(#NoEnfant, #NoJouet, DateEvaluation, NoteEval, Remarque)

    et voila les requêtes que je doit réalisé à partir de ce MLD

    1/ Pour le parent pilote Sophie Retaldi on souhaite connaitre par ville le nombre de garçon et de filles correspondant à son groupe.

    voila ce que j'ai fait (il ya pas grand chose car a chaque fois je modifie).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT count(NoEnfant)
    FROM Enfant AS E
    WHERE EXISTS (
     
    SELECT P.NoParent
    FROM Parent AS P
    WHERE P.NoParentPilote = ( SELECT NoParent
                                                   FROM Parent
                                                   WHERE NomParent = "RETALDI" OR PrenomParent = "Sophie")
    AND Enfant.NoParent = P.NoParent
    GROUP BY P.Ville);
    2/Donner pour chaque parent pilote, le nombre de parents pilotés.
    voila ce que j'ai fait (il ya pas grand chose car a chaque fois je modifie).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT P.NomParent
    FROM Parent AS P
    WHERE P.NoParent = (SELECT P1.NoParent
                                         FROM Parent P1
                                         WHERE P1.NoParent = P.NoParent
                                         );
    3/On cherche à connaitre les jouets mal évalués. Ce sont les jouets(informations jouets et catégorie) ayant reçu lors d'une évaluation une note <5 ou bien >=5 avec une remarque négative contenant des termes comme "inadapté", "dangereux", "difficile" ou encore "nul".
    4/Donner pour chaque catégorie les jouets les plus mal notés ainsi que leur note.
    5/On désire faire tester aux enfant de la Manche les jouets de substitution des jouets de la catégorie peluche qu'ils ont déjà évalués. Prévoir la liste es informations nécessaires à l'organisation de cette distribution: coordonnées parents, enfant et description des jouets à distribuer.

    J'ai déjà passé plus de 4h et même la première ne fonctionne pas.
    Pourriez vous m'aider à faire mon projet svp

    Merci beaucoup d'avance, je vous en serai res reconnaissant.
    Bonne soirée


    J'ai déja fait du sql mais sur des requetes plus simple et je suis perdu au niveau des sous requetes et de leur ordre. (il me faudrai quelques explication si possible)

  2. #2
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    montre nous plutôt ce que tu as déjà fait, quels sont les messages d'erreurs, etc.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 849
    Points : 52 975
    Points
    52 975
    Billets dans le blog
    6
    Par défaut
    En régle générale nous refusons de faire les devoirs à la place des étudiants...
    Généralement ce genre de sujets est supprimé, ce que je devrais faire en tant que modérateur... Mais comme je suis un modérateur modéré, je t'invite à poster ce que tu as déjà fait dans tes 4 heures afin que nous te montrions les corrections et te fassions comprendre ce qui ne vas pas !

    A +

  4. #4
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Bravo SQLPRO.

    A+

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    A quoi reconnaît-on un parent pilote d'un parent piloté ?

    La syntaxe que j'emploie ci-dessous est celle qui a cours sur le SGBD DB2 UDB. Si tu utilises un autre SGBD, il te faudra trouver la syntaxe qui lui est propre, notamment le signe % dans le LIKE, la fonction LOWER, etc.

    Je n'ai testé aucune des instructions SQL ci-dessous et il y a certainement des erreurs.

    Par ville le nombre de garçon et de filles correspondant au groupe du parent pilote Sophie Retaldi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT P.NomParent, P.PrenomParent, P.Ville, E.Sexe, 
    Count( E.Sexe )
    FROM Parent  P
    JOIN Enfant  E
    ON P.#NoParentPilote = E.#NoParent
    WHERE UPPER( P.NomParent ) = "RETALDI" 
    AND   LOWER( P.PrenomParent ) = "sophie" 
    GROUP BY P.NomParent, P.PrenomParent, P.Ville, E.Sexe
    Les jouets mal évalués

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT J.NoJouet, J.NomJouet, Ev.Remarque 
    FROM Jouet J
    JOIN Evaluer Ev
    ON J.NoJouet = Ev.#NoJouet
    WHERE Ev.NoteEval < 5
    OR   LOWER(Ev.Remarque) LIKE "%inadapté%"    -- LOWER convertit en minuscules la colonne concernée
    OR   LOWER(Ev.Remarque) LIKE "%dangereux%"  -- pas besoin de () car que OR's
    OR   LOWER(Ev.Remarque) LIKE "%difficile%" 
    OR   LOWER(Ev.Remarque) LIKE "%nul%"
    Pour chaque catégorie les jouets les plus mal notés et leur note

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT C.NoCateg, C.NomCateg, J.NoJouet, J.NomJouet, Min( Ev.NoteEval )
    FROM   Categorie C
    JOIN   Jouet J
    ON     C.NoCateg = J.#NoCateg
    JOIN   Evaluer Ev
    ON     Ev.#NoJouet = J.NoJouet
    GROUP BY C.NoCateg, C.NomCateg, J.NoJouet, J.NomJouet
    On désire faire tester aux enfant de la Manche les jouets de substitution des jouets de la catégorie peluche qu'ils ont déjà évalués. Prévoir la liste des informations nécessaires à l'organisation de cette distribution: coordonnées parents, enfant et description des jouets à distribuer.

    1/ Rechercher la catégorie de substitution de la catégorie "peluche" et du jouet correspondant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT C.NoCateg, C.NomCateg, S.#NoJouetSub, J1.NomJouet, J1.DescriptionJouet, ... 
    FROM   Categorie C
    JOIN   Jouet J
    ON     C.NoCateg = J.#NoCateg
    JOIN   Substituer S
    ON     S.#NoJouet = J.NoJouet
    JOIN   Jouet J1                  -- on peut joindre plusieurs fois la même table
    AND    S.#NoJouetSub = J1.NoJouet
    WHERE  LOWER( C.NomCateg ) LIKE "%peluche%"
    Je ne vais quand même pas tout faire à ta place.
    Creuse-toi un peu la tête pour compléter le dernier SELECT avec les coordonnées des parents et les infos sur les enfants.


  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    je viens de rectifier les requêtes pour les adapter à access et malheureusement aucune ne fonctionne, merci quand même pour ton aide Mercure mais je n'ai pas encore trouvé solution à mon problème

    quelqu'un pourrait il m'aider en rectifiant ce que j'ai pu faire ou ce que Mercure a fait, ou bien seulement en m'expliquant comment faire.

    merci encore d'avance

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Quels problèmes ? Des erreurs de syntaxe ?

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    non les requêtes ne mon pas l'aire bonne car il me donne pas les bons résultats, alors qu'il me les accepte au niveau de la syntaxe.

    Pour la première requête il ne trouve personne alors que dans ma BD il y a bien des personnes qui correspondent à cette requête.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/11/2008, 20h01
  2. est-il possible de faire du .NET Remoting depuis un projet SQL Server ?
    Par Mathusalem dans le forum Accès aux données
    Réponses: 0
    Dernier message: 26/11/2008, 14h40
  3. [VS 2005] Projet SQL SERVER 2008 sous VS 2005 PRO
    Par FRED.G dans le forum Visual Studio
    Réponses: 0
    Dernier message: 24/08/2008, 16h54
  4. Projet SQL server ou MySQL
    Par Raideman dans le forum Administration
    Réponses: 6
    Dernier message: 12/10/2006, 23h06
  5. pb projet sql
    Par issamaziz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/05/2006, 13h16

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