Pat, Mat In 40 SQL-ov
description
Transcript of Pat, Mat In 40 SQL-ov
![Page 1: Pat, Mat In 40 SQL-ov](https://reader034.fdocument.pub/reader034/viewer/2022052308/56814ba0550346895db87ccf/html5/thumbnails/1.jpg)
PAT, MAT IN 40 SQL-OV
Marko Antloga
Boštjan Begelj
Ljubljana, 2.junij.2004
![Page 2: Pat, Mat In 40 SQL-ov](https://reader034.fdocument.pub/reader034/viewer/2022052308/56814ba0550346895db87ccf/html5/thumbnails/2.jpg)
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?
![Page 3: Pat, Mat In 40 SQL-ov](https://reader034.fdocument.pub/reader034/viewer/2022052308/56814ba0550346895db87ccf/html5/thumbnails/3.jpg)
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
![Page 4: Pat, Mat In 40 SQL-ov](https://reader034.fdocument.pub/reader034/viewer/2022052308/56814ba0550346895db87ccf/html5/thumbnails/4.jpg)
4
Polnjenje iz zunanjih datotek
![Page 5: Pat, Mat In 40 SQL-ov](https://reader034.fdocument.pub/reader034/viewer/2022052308/56814ba0550346895db87ccf/html5/thumbnails/5.jpg)
5
Polnjenje iz drugih urejenih virov podatkov (manjše baze, preglednice…)
![Page 6: Pat, Mat In 40 SQL-ov](https://reader034.fdocument.pub/reader034/viewer/2022052308/56814ba0550346895db87ccf/html5/thumbnails/6.jpg)
6
Polnjenje iz relacijske baze (transakcijskega sistema)
![Page 7: Pat, Mat In 40 SQL-ov](https://reader034.fdocument.pub/reader034/viewer/2022052308/56814ba0550346895db87ccf/html5/thumbnails/7.jpg)
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;
![Page 8: Pat, Mat In 40 SQL-ov](https://reader034.fdocument.pub/reader034/viewer/2022052308/56814ba0550346895db87ccf/html5/thumbnails/8.jpg)
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;
…
![Page 9: Pat, Mat In 40 SQL-ov](https://reader034.fdocument.pub/reader034/viewer/2022052308/56814ba0550346895db87ccf/html5/thumbnails/9.jpg)
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
![Page 10: Pat, Mat In 40 SQL-ov](https://reader034.fdocument.pub/reader034/viewer/2022052308/56814ba0550346895db87ccf/html5/thumbnails/10.jpg)
10
Vidne in skrite rezerve (časa in prostora)
• Paralelno izvajanje več SQL stavkov
• Polnjenje tabel
• Particioniranje tabel
• Pregled indeksov
• Uporaba agregatov
![Page 11: Pat, Mat In 40 SQL-ov](https://reader034.fdocument.pub/reader034/viewer/2022052308/56814ba0550346895db87ccf/html5/thumbnails/11.jpg)
11
ZAKLJUČEK