Praktyczna nauka SQL dla Oracle. Wykorzystaj ogromne możliwości bazy danych Oracle - ebook
Praktyczna nauka SQL dla Oracle. Wykorzystaj ogromne możliwości bazy danych Oracle - ebook
Mimo upływu lat SQL jest bezkonkurencyjnym narzędziem do przetwarzania danych. Bazy danych Oracle wciąż imponują możliwościami. W ciągu ostatnich dekad bowiem obie te technologie były konsekwentnie unowocześniane i usprawniane. W efekcie nawet za pomocą jednego, choć niekiedy dość złożonego zapytania SQL można przeprowadzić operacje, które w innym języku wymagałyby napisania długich bloków kodu. Uzyskanie spektakularnej wydajności i szybkości aplikacji wymaga jednak dużego doświadczenia w posługiwaniu się zaawansowanymi konstrukcjami SQL.
To książka przeznaczona dla osób, które dobrze poznały podstawy języka SQL i chcą nabrać biegłości w praktycznym zastosowaniu jego zaawansowanych funkcji. Poszczególne zagadnienia zostały zaprezentowane poprzez stopniową rozbudowę i zwiększanie złożoności prostych zapytań SQL. Omówiono takie techniki jak korelacja widoku osadzonego, operacje na zbiorach, analiza dzienników zdarzeń, a także sposoby używania klauzul, między innymi MODEL czy MATCH_RECOGNIZE. Znalazło się tu mnóstwo przykładów kodu SQL, skonstruowanego tak, aby maksymalnie ułatwić zrozumienie prezentowanych treści. To pomoże Ci zdobyć umiejętności, dzięki którym wydajność i wygoda użytkowania Twoich aplikacji istotnie się zwiększą!
W książce:
- stosowanie zaawansowanych funkcji języka SQL w bazie danych Oracle
- stopniowe usprawnianie zapytań SQL
- przetwarzanie większej ilości danych za pomocą mniejszej liczby zapytań
- korzystanie z funkcji analitycznych
- dopasowywanie wzorca rekordu
- rekurencyjna faktoryzacja podzapytania
SQL. Opanuj sztukę pisania naprawdę zaawansowanych zapytań!
Spis treści
O autorze
Podziękowania
Wprowadzenie
Część I. Podstawy języka SQL
Rozdział 1. Korelacja widoków osadzonych
- Produkty i ich sprzedaż w przykładowej firmie
- Podzapytania skalarne i wiele kolumn
- Skorelowany widok osadzony
- Skorelowany widok osadzony i złączenie typu OUTER
- Podsumowanie
Rozdział 2. Problemy związane z operacjami na zbiorach
- Zbiory przedstawiające rodzaje piwa
- Operatory zbioru
- Konkatenacja zbioru
- Trzy operatory zbioru
- Operatory wielozbioru
- Operator MULTISET UNION
- Operator MULTISET INTERSECT
- Operator MULTISET EXCEPT
- Operator MINUS kontra EXCEPT
- Podsumowanie
Rozdział 3. Dziel i rządź dzięki użyciu faktoringu podzapytania
- Dane dotyczące produktów i sprzedaży
- Najlepsze lata pod względem sprzedaży piwa o najmniejszej zawartości alkoholu
- Modularyzacja za pomocą klauzuli WITH
- Wielokrotne używanie tego samego podzapytania
- Wyświetlanie nazw kolumn
- Podsumowanie
Rozdział 4. Drzewo obliczeń i rekurencja
- Butelki w kartonach na palecie
- Mnożenie ilości hierarchicznych
- Rekurencyjna faktoryzacja podzapytania
- Dynamiczny SQL w funkcji PL/SQL
- Podsumowanie
Rozdział 5. Funkcje zdefiniowane w języku SQL
- Tabela z danymi zawartości alkoholu w piwie
- Stężenie alkoholu we krwi
- Zdefiniowanie funkcji za pomocą PRAGMA UDF
- Zdefiniowanie funkcji za pomocą klauzuli WITH
- Hermetyzacja kodu w widoku
- Podsumowanie
Rozdział 6. Obliczenia iteracyjne z użyciem danych wielowymiarowych
- "Gra w życie" Johna Conwaya
- Liczba żywych sąsiadów obliczona za pomocą klauzuli MODEL
- Iteracja przez generacje
- Podsumowanie
Rozdział 7. Anulowanie przestawienia kolumn na rekordy
- Dane otrzymane w kolumnach
- Anulowanie przestawienia kolumn
- Samodzielne anulowanie przestawienia kolumn
- Więcej niż tylko jeden wymiar i/lub miara
- Używanie tabel wymiarów
- Dynamiczne mapowanie tabeli wymiaru
- Podsumowanie
Rozdział 8. Przestawianie rekordów na kolumny
- Tabele używane podczas przestawiania kolumn
- Przestawianie kolumny pojedynczej miary i pojedynczego wymiaru
- Ręczne przeprowadzenie operacji przestawiania kolumn
- Wiele miar
- Wiele wymiarów
- Podsumowanie
Rozdział 9. Podział ograniczonego tekstu
- Ulubione piwa użytkowników i pisane przez nich recenzje
- Ograniczanie pojedynczych wartości
- Potokowana funkcja tabeli
- Funkcja tabeli wbudowanego schematu APEX
- Czysty kod SQL z generatorem rekordu
- Traktowanie ciągu tekstowego jako tablicy JSON
- Ograniczone wiele wartości
- Niestandardowa funkcja tabeli pochodząca z ODCI
- Połączenie funkcji apex_string.split() i substr()
- Generator rekordów i wywołanie regexp_substr()
- Konwersja na format JSON
- Podsumowanie
Rozdział 10. Tworzenie ograniczonego tekstu
- Lista produktów w postaci ograniczonego ciągu tekstowego
- Agregacja ciągu tekstowego
- Agregacja z użyciem funkcji listagg()
- Funkcja agregacji collect()
- Niestandardowa funkcja agregacji stragg()
- Funkcja agregacji xmlagg()
- Gdy wartość nie mieści się w typie varchar2
- Pobranie jedynie pierwszej części wyniku
- Próba zmieszczenia zmniejszonego zbioru danych
- Używanie typu clob zamiast varchar2
- Podsumowanie
Część II. Funkcje analityczne
Rozdział 11. Klauzule partycjonowania oraz definiowania kolejności i okien
- Suma ilości
- Składnia analityczna
- Partycje
- Kolejność i okna
- Elastyczność klauzuli okna
- Definiowanie okna na podstawie wartości zakresu
- Niebezpieczeństwo związane z oknem domyślnym
- Podsumowanie
Rozdział 12. Udzielanie odpowiedzi na pytania typu Najlepsze-N
- Najlepsze-N rekordów danych o sprzedaży
- Który rodzaj Najlepsze-3 masz na myśli?
- Dane dotyczące sprzedaży piwa
- Tradycyjna metoda rownum
- Funkcje analityczne dotyczące rankingu
- Pobieranie tylko pierwszych rekordów
- Obsługa remisu
- Na co nie pozwala klauzula ograniczająca?
- Najlepsze-N rekordów w wielu partycjach
- Sztuczka przeznaczona do zastosowania w klauzuli ograniczającej rekordy
- Podsumowanie
Rozdział 13. Zbiór uporządkowany za pomocą sumy kroczącej
- Dane używane podczas pobierania produktów
- Tworzenie zapytania SQL pobierającego dane
- Rozwiązanie pierwszego problemu za pomocą kolejności FIFO
- Łatwa zmiana reguł dotyczących pobierania produktów
- Rozwiązanie problemu optymalnej trasy pobierania produktów
- Rozwiązanie problemu pobierania produktów partiami
- Dokończenie pracy nad kodem SQL pomagającym w określeniu kolejności pobierania produktów
- Podsumowanie
Rozdział 14. Analizowanie dzienników zdarzeń za pomocą funkcji lead()
- Dziennik zdarzeń pobierania produktów
- Analiza przyjazdów i odjazdów
- Analizowanie czynności pobierania produktów
- Ukończenie analizy cykli pobierania produktów
- Zapowiedź - dopasowanie wzorca rekordu
- Podsumowanie
Rozdział 15. Prognozowanie z użyciem regresji liniowej
- Prognozowanie sprzedaży
- Szeregi czasowe
- Obliczanie punktu wyjścia dla regresji
- Regresja liniowa
- Ostateczna prognoza
- Podsumowanie
Rozdział 16. Suma krocząca podczas prognozowania osiągnięcia minimum
- Stany magazynowe, budżet i zamówienia
- Dane
- Akumulacja aż do osiągnięcia zera
- Uzupełnianie stanów po osiągnięciu minimum
- Podsumowanie
Część III. Dopasowanie wzorca rekordu
Rozdział 17. Wzorce w górę i w dół
- Przykład wykorzystujący dane giełdowe
- Klasyfikacja wzrostów i spadków
- Spadki i wzrosty prowadzą do wygenerowania kształtu V
- Sprawdzenie, czy klasyfikacja SAME wciąż jest potrzebna
- V + V = kształt W
- Nakładające się kształty W
- Podsumowanie
Rozdział 18. Grupowanie danych za pomocą wzorców
- Grupowanie dwóch zbiorów danych
- Trzy warunki grupowania
- Grupowanie kolejnych danych
- Grupowanie do chwili, gdy przerwa stanie się zbyt duża
- Grupowanie aż do osiągnięcia ustalonej granicy
- Podsumowanie
Rozdział 19. Łączenie zakresów dat
- Okresy zatrudnienia
- Ważność czasowa
- Złączanie nakładających się okresów
- Próba porównania z poprzednim rekordem
- Lepsze porównanie z maksymalną datą końcową
- Obsługa dat null
- Podsumowanie
Rozdział 20. Wyszukiwanie nagłych skoków
- Historia licznika odwiedzin strony internetowej
- Dane licznika
- Wzorce w niezmodyfikowanych danych licznika odwiedzin
- Dzienna liczba odwiedzin strony
- Wzorce w danych dotyczących dziennych odwiedzin strony
- Znacznie bardziej skomplikowane wzorce
- Podsumowanie
Rozdział 21. Optymalizacja pakowania
- Produkty, które mają być spakowane w kartony
- Optymalizacja pakowania za pomocą nieograniczonej liczby kartonów o ograniczonej pojemności
- Optymalizacja pakowania do mniejszych kartonów
- Optymalizacja pakowania za pomocą ograniczonej liczby kartonów o nieograniczonej pojemności
- Podsumowanie
Rozdział 22. Zliczanie elementów potomnych w strukturze drzewa
- Hierarchiczne drzewo pracowników
- Zliczanie podwładnych na wszystkich poziomach
- Zliczanie rekordów za pomocą dopasowania wzorca
- Szczegóły każdego dopasowania
- Eksperymentowanie z danymi wyjściowymi
- Podsumowanie
Skorowidz
Kategoria: | Bazy danych |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-8734-8 |
Rozmiar pliku: | 26 MB |