Pat, Mat In 40 SQL-ov
description
Transcript of Pat, Mat In 40 SQL-ov
PAT, MAT IN 40 SQL-OV
Marko Antloga
Boštjan Begelj
Ljubljana, 2.junij.2004
2
Pat, Mat In 40 SQL-ov
• Kje so izvorni podatki, kako jih prenašamo v podatkovno skladišče?
• Kaj bi storili drugače, če bi vedeli to kar vemo danes?
• Vidne in skrite rezerve (časa in prostora).
• Kdo je ubil Lauro Palmer?
3
Nekaj statistike za uvod
113 Dimenzij in 15 Dejstev951 Polj 97 GB 44 PL/SQL programovOracle 8.1.7OpenVMS 7.3150.000 zapisov dnevno
4
Polnjenje iz zunanjih datotek
5
Polnjenje iz drugih urejenih virov podatkov (manjše baze, preglednice…)
6
Polnjenje iz relacijske baze (transakcijskega sistema)
7
Običajen PL/SQL stavek
DECLAREBEGINEND
DECLARE ime_proc VARCHAR2 (20) := '&1';
CURSOR c_cenik_2 (p_cenik_id NUMBER) IS SELECT fcenik0_cenik0_id,
apg_cenik_pd.artikel(fcenik0_cenik0_id) FROM kis_fcenik0_cenik0 WHERE fcenik0_cenik0_id = p_cenik_id FOR UPDATE;
PROCEDURE kis_fcenik0_cenik0_insert (ddatspr_danlet_ds_in IN kis_fcenik0_cenik0.ddatspr_danlet_ds%TYPE ... ) IS BEGIN INSERT INTO kis_fcenik0_cenik0 ... END kis_fcenik0_cenik0_insert;
8
BEGIN FOR i IN c_cenik_1 LOOP st_select := st_select + 1; FOR j IN c_cenik_2 (i.cenik_id) LOOP DELETE FROM kis_fcenik0_cenik0 WHERE CURRENT OF c_cenik_2; st_update := st_update + 1; END LOOP; st_insert := st_insert + 1; END LOOP;
cas_zacetka_prog := SYSDATE; ime_sistema := tpg_apl001_kas.gl_name; tpg_floging_loging.p001 (izvprg_o); -- INSERT /*+ APPEND + PARALLEL*/ INTO kas_dmkzkup_mkzkup (...) SELECT /*+ PARALLEL(kis_dmkzkup_mkzkup,120) */ ... FROM kis_dmkzkup_mkzkup; -- st_insert := SQL%ROWCOUNT; tpg_apl001_kas.trunc_table ('kis_dmkzkup_mkzkup'); -- dbms_izpis (ime_cilja); cas_konca_stavka := SYSDATE;
END;
…
9
Vmesno območje (ki ga varujejo modre čelade)
• Označevanje že prenesenih podatkov
• Ključi v transakcijski bazi in podatkovnem skladišču
• Nadzor prenosa
• Popravki zgodovine oz. dodajanje atributov
10
Vidne in skrite rezerve (časa in prostora)
• Paralelno izvajanje več SQL stavkov
• Polnjenje tabel
• Particioniranje tabel
• Pregled indeksov
• Uporaba agregatov
11
ZAKLJUČEK