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

MySQL Discussion :

Requêtes et vues


Sujet :

MySQL

  1. #1
    Membre à l'essai
    Femme Profil pro
    tunisie
    Inscrit en
    Novembre 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : tunisie
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2016
    Messages : 19
    Points : 18
    Points
    18
    Par défaut Requêtes et vues
    Bonjour;

    Mon travail est de créer toutes les vues concernant mes 22 requêtes benchmark ( ici une parmi les 22) , c'est à dire je divise les requêtes selon les opérations quelles contiennent tel que la projection,jointure , sélection ...., c'est pourquoi j'ai créer des vues qui fait seulement la projection puis les jointures etc.

    Mais V1 :Q2_Project1 ne donne aucun résultat.

    Un exemple :

    Requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select s_acctbal, s_name, n_name, p_partkey, p_mfgr, s_address, s_phone, s_comment
     from part, supplier, partsupp, nation, region where p_partkey = ps_partkey and s_suppkey = ps_suppkey and p_size = 1 and p_type like '%NICKEL' and s_nationkey = n_nationkey and n_regionkey = r_regionkey and r_name = 'AMERICA' and ps_supplycost = ( select min(ps_supplycost) from partsupp, supplier, nation, region where p_partkey = ps_partkey  and s_suppkey = ps_suppkey and s_nationkey = n_nationkey and n_regionkey = r_regionkey  and r_name = 'AMERICA' ) order by s_acctbal desc, n_name, s_name, p_partkey;

    Liste de vues :


    V1 :Q2_Project1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Create view Q2_Project1 As select s_acctbal, s_name, n_name, p_partkey, p_mfgr, s_address, s_phone, s_comment from part, supplier, partsupp, nation, region order by s_acctbal desc, n_name, s_name, p_partkey ;
     
     
     SELECT *  FROM Q2_Project1 ;
    V2 :Q2_Join_P_PS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Create view Q2_Join_P_PS As select p_partkey , ps_partkey from part, partsupp where  p_partkey = ps_partkey ;
     
    select * from Q2_Join_P_PS ;

    V3 :Q2_Join_S_PS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Create view Q2_Join_S_PS As select * from supplier, partsupp where  s_suppkey = ps_suppkey ; 
     
    select * from Q2_Join_S_PS ;

    V4 :Q2_Filter1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Create view Q2_Filter1 As select * from  part where  p_size = 1 ; 
     
    select * from Q2_Filter1 ;

    V5 :Q2_Filter2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Create view Q2_Filter2 As select * from  part where  p_type like '%NICKEL' ; 
     
    select * from Q2_Filter2 ;


    V6 :Q2_Join_S_N

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Create view Q2_Join_S_N As select * from supplier, nation where  s_nationkey = n_nationkey ; 
     
    select * from Q2_Join_S_N ;

    V7 :Q2_Join_N_R
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Create view Q2_Join_N_R As select * from nation, region where  n_regionkey = r_regionkey; 
     
    select * from Q2_Join_N_R ;

    V8 :Q2_Filter3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Create view Q2_Filter3 As select * from  region where  r_name = 'AMERICA' ; 
     
    select * from Q2_Filter3 ;
    V9 :Q2_Project2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
     
     
    Create view Q2_Project2 As select min(ps_supplycost) as min_ps_supplycost from partsupp, supplier, nation, region where p_partkey = ps_partkey  and s_suppkey = ps_suppkey and s_nationkey = n_nationkey and n_regionkey = r_regionkey and r_name = 'AMERICA';
     
    select min_ps_supplycost from Q2_Project2 ;
    Merci de m'aider.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Votre première vue n'ayant aucune joiture elle effectue un produit cartésien. Si une table est vide le produit cartésien de n ligne avec 0 ligne fait 0 ligne...

    Commencez par établir les jointures entre vos différentes tables !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Et depuis 25 ans, les jointures s'écrivent avec JOIN !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Requêtes vs Vues : avantages et inconvenients ?
    Par Creepy78 dans le forum Requêtes
    Réponses: 1
    Dernier message: 16/06/2015, 10h38
  2. Réponses: 1
    Dernier message: 29/09/2012, 11h13
  3. Transformer une requête en vue
    Par seabs dans le forum SQL
    Réponses: 6
    Dernier message: 27/02/2012, 14h07
  4. Requête sur Vue SQL Server 2000 PLANTE aléatoirement
    Par StarMusic dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/11/2006, 10h22
  5. Créer une vue avec des requêtes UNION ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/04/2005, 12h37

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