Piotr Muryjas, Grzegorz Kozieł
Projektowanie i eksploatacja danych i data mart
Podręcznik “Projektowanie i eksploatacja hurtowni danych i data mart” jest skierowany do osób, które chcą zdobyć kompetencje związane z projektowaniem hurtowni danych i data mart oraz ich eksploracji przy użyciu języka SQL, tzn. polecenia SELECT, w którym zastosowano funkcje i opcje umożliwiające analityczne przetwarzanie danych.
Poniżej zamieszczono linki do kodów źródłowych zaprezentowanych w rozdziale 8 niniejszego opracowania. Przykładowe kody źródłowe w języku SQL zostały utworzone przy wykorzystaniu narzędzia Oracle SQL Developer Version 24.3.1.347.1826. Wszystkie instrukcje w języku SQL były uruchamiane w środowisku bazy danych Oracle Database 23ai.
Rozdział 8.1 – Tworzenie kostek analitycznych – ROLLUP i CUBE
Rys. 8.3. Przykład użycia klauzuli ROLLUP w zapytaniu
Rys. 8.5. Zapytanie ze zmniejszoną liczbą poziomów obliczeń dla klauzuli ROLLUP
Rys. 8.8. Przykład użycia klauzuli CUBE w zapytaniu
Rys. 8.10. Alternatywne użycie klauzuli ROLLUP zamiast CUBE
Rys. 8.11. Zastosowanie klauzuli CUBE do wybranych kryteriów grupowania
Rys. 8.13. Zastosowanie funkcji GROUPING w zapytaniu analitycznym
Rys. 8.16. Zastosowanie klauzuli GROUPING SETS w zapytaniu
Rozdział 8.2 – Partycjonowanie danych – OVER i PARTITION BY
Rys. 8.19. Przykład definiowania okna danych przy użyciu klauzuli OVER
Rys. 8.21. Zastosowanie wielu funkcji agregacji w oknie danych
Rys. 8.23. Definiowanie wielu partycji i rodzajów kalkulacji w obrębie okna
Rys. 8.26. Sortowanie wierszy w oknie danych z użyciem jednej kolumny
Rys. 8.28. Sortowanie wierszy w oknie danych z użyciem wielu kolumn
Rys. 8.30. Zastosowanie funkcji FIRST_VALUE w oknie danych
Rys. 8.32. Zapytanie zawierające definicję średniej kroczącej
Rys. 8.34. Definicja zapytania wyznaczającego 3-miesięczną średnią kroczącą
Rys. 8.37. Przykład zapytania z sortowaniem danych w partycji okna danych
Rys. 8.39. Złożone zapytanie operujące na wierszach z różnych zakresów danych
Rozdział 8.3 – Generowanie rankingów – RANK i DENSE_RANK
Rys. 8.41. Tworzenie rankingu w oknie danych
Rys. 8.43. Tworzenie rankingu w partycjach okna danych
Rys. 8.45. Kod tworzenia rankingu miesięcy w roku według liczby klientów
Rys. 8.47. Ranking miesięcy w roku według liczby klientów (funkcja DENSE_RANK)
Rys. 8.48. Zapytanie wykonujące filtrowanie pozycji w rankingu
Rozdział 8.4 – Zaawansowane funkcje okna – LAG i LEAD
Rys. 8.51. Przykład użycia funkcji LAG w oknie danych
Rys. 8.53. Przykład użycia funkcji LAG w partycji danych
Rys. 8.55. Przykład użycia funkcji LAG w partycji danych z opcją offsetu
Rys. 8.57. Przykład użycia funkcji LEAD w oknie danych
Rys. 8.59. Przykład użycia funkcji LEAD w partycji danych z opcją offsetu
Rozdział 8.5 – Tworzenie tabel przestawnych – PIVOT
Rys. 8.62. Przykład tworzenia prostej tabeli przestawnej
Rys. 8.64. Przykład tworzenia tabeli przestawnej z aliasami kolumn
Rys. 8.66. Przykład wielokrotnego użycia tej samej funkcji agregacji w tabeli przestawnej
Rys. 8.68. Przykład użycia różnych funkcji agregacji w tabeli przestawnej
Rys. 8.70. Przykład użycia wielu wymiarów do opisu kolumny tabeli przestawnej
Rys. 8.72. Przykład #1 kodu SQL do modyfikacji
Rys. 8.73. Przykład #2 kodu SQL do modyfikacji