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
V2 :Q2_Join_P_PS
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 ;
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
V9 :Q2_Project2
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 ;
Merci de m'aider.
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 ;
Partager