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.