1. Wprowadzenie do relacyjnych baz danych
Relacyjne bazy danych zostały ujęte na przykładzie PostgreSQL i podstawowych pojęć stosowanych w systemach SQL. Sekcja porządkuje podział języka na DQL, DML, DDL i DCL, a także omawia połączenie z serwerem i istniejącą bazą danych.
- pojęcia związane bazami danych SQL na przykładzie PostgreSQL,
- podział języka SQL na DQL, DML, DDL, DCL,
- łączenie z serwerem SQL i istniejącą bazą danych.
2. Szczegółowy przegląd dostępnego oprogramowania do zarządzania relacyjnymi bazami danych
PG Admin wyznacza środowisko pracy do pisania kodu SQL i poruszania się po zasobach serwera PostgreSQL. Ta część przedstawia edytor używany do tworzenia kwerend oraz porządkuje rolę podstawowych obiektów serwera: tabel, widoków i procedur składowych.
- edytor kodu SQL – PG Admin w tworzeniu kwerend,
- obiekty serwera: tabele, widoki i procedury składowe.
3. Wprowadzenie do języka DQL (Data Query Language) oraz jego kluczowych funkcji
Na początku pracy z zapytaniami istotne jest zarówno pobieranie danych, jak i narzędzia wspierające ten proces. Sekcja wprowadza język DQL, wykorzystanie query designera w aplikacjach oraz podstawowe typy danych SQL potrzebne do budowy poprawnych kwerend.
- Query designer w zastosowaniach i tworzenie zapytania do bazy danych,
- podstawowe typy danych w SQL i ich zastosowanie.
4. Omówienie różnych operatorów stosowanych w zapytaniach SQL
Skuteczne filtrowanie danych w SQL zależy od właściwego doboru operatorów i logiki warunków. Sekcja obejmuje operatory porównań i wzorców, łączenie kryteriów przez AND, OR i NOT, a także praktyczne znaczenie wartości NULL oraz NOT NULL.
- operatory w SQL =, <>, >=, <=, IN, BETWEEN AND, LIKE,
- kryteria w zapytaniach i łączenie wielu kryteriów z użyciem AND, OR, NOT,
- pojęcie i zastosowanie NULL i NOT NULL.
5. Szczegółowe omówienie operacji łączenia tabel w SQL za pomocą różnych typów złączeń
Relacje między tabelami decydują o tym, jak dane z różnych źródeł połączyć w jeden wynik. W tej części wyjaśniany jest element wiążący tabele oraz różnice między INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN i CROSS JOIN.
- pojęcie relacji między tabelami bazy danych i element łączący tabele,
- złączenie wewnętrzne INNER JOIN, RIGHT OUTER JOIN i LEFT OUTER JOIN,
- złączenie pełne FULL OUTER JOIN i złączenie krzyżowe CROSS JOIN.
6. Przegląd funkcji wbudowanych w SQL, które pozwalają na wykonywanie zaawansowanych operacji na danych
Funkcje wbudowane SQL pozwalają przetwarzać wartości bezpośrednio w treści zapytania. Omawiane są operacje tekstowe, takie jak LEFT, RIGHT, TRIM, SUBSTRING, UPPER, LOWER i CONCAT, a także ROUND, funkcje daty i czasu oraz konwersja typów przez CAST() i CONVERT().
- operacje na łańcuchach znaków LEN, LEFT, RIGHT, MID, REPLACE, TRIM, SUBSTRING, UPPER, LOWER i łączenie i ciągów tekstowych CONCAT,
- funkcje matematyczne ROUND, czasu i daty DATE, DATEADD DATEDIFF,
- konwersja i rzutowanie typów: CAST(), CONVERT().
7. Dogłębne omówienie polecenia SELECT, które jest podstawą języka SQL
Polecenie SELECT stanowi podstawowy mechanizm pobierania i kształtowania wyników w SQL. Zakres obejmuje aliasy kolumn z AS, operacje na kolumnach, sortowanie przez ORDER BY, ograniczanie liczby rekordów za pomocą LIMIT oraz usuwanie duplikatów przez DISTINCT.
- alias kolumny AS, operacje na kolumnie i sortowanie wyniku ORDER BY,
- ograniczenie ilości rekordów LIMIT i usuwanie duplikatów DISTINCT.
8. Wprowadzenie do kwerend agregujących
W analizie i raportowaniu pojedyncze wiersze często trzeba sprowadzić do zbiorczych wyników. Sekcja wyjaśnia działanie GROUP BY, użycie funkcji COUNT, MIN, MAX, SUM i AVG oraz sposób stosowania kryteriów przy pracy z danymi zagregowanymi.
- agregacja wyników w kwerendach z użyciem GROUP BY,
- funkcje COUNT, MIN, MAX, SUM, AVG i kryteria w wynikach zagregowanych.
9. Przegląd metod łączenia wyników różnych zapytań SQL
Łączenie rezultatów niezależnych zapytań odbywa się tu za pomocą operacji zbiorowych, a nie złączeń tabel. Uczestnicy pracują z UNION, UNION ALL, INTERSECT i MINUS, aby scalać wyniki, zachowywać duplikaty lub wyodrębniać część wspólną.
- łączenie tabel z użyciem: UNION, UNION ALL,
- części wspólne i INTERSECT, MINUS.
10. Omówienie zagnieżdżonych zapytań
Gdy warunek filtrowania albo logika zapytania zależy od wyniku innej kwerendy, potrzebne są zapytania zagnieżdżone. Sekcja pokazuje użycie wyniku jako warunku WHERE, budowanie kwerendy na podstawie innej oraz znaczenie optymalizacji.
- wynik zapytania jako warunek WHERE w kwerendzie,
- kwerenda oparta o inną kwerendę i optymalizacja zapytań.
11. Wprowadzenie do języka modyfikacji danych (DML) (Data Modification Language)
Praca na zawartości tabel wymaga precyzyjnego sterowania dodawaniem, zmianą i usuwaniem danych. W tej części omawiane są polecenia INSERT, UPDATE i DELETE, a także SELECT INTO, które pozwala zapisać wynik zapytania do nowej tabeli.
- aktualizacja danych z zastosowaniem UPDATE,
- dodawanie rekordów do tabeli z użyciem polecenia INSERT,
- usuwanie danych z przy zastosowaniu polecenia DELETE,
- wyprowadzanie wyniku zapytania do tabeli: SELECT INTO.
12. Omówienie języka definicji danych (DDL) (Data Definition Language)
Struktura bazy powstaje tutaj poprzez definicje TABLE i VIEW przygotowywane zarówno w PG Admin, jak i bezpośrednio w SQL. Sekcja koncentruje się na tym, jak polecenia DDL przekładają się na konkretne obiekty bazy i sposób ich tworzenia.
- budowa obiektów bazy TABLE, VIEW z użyciem PG Admin i kodu SQL.
13. Przegląd zaawansowanych funkcji dostępnych w PostgreSQL
Funkcje okna w PostgreSQL rozszerzają klasyczne zapytania o obliczenia wykonywane na powiązanych wierszach. Ta część wyjaśnia działanie OVER(), ROW_NUMBER() oraz użycie PARTITION BY do numerowania rekordów w obrębie wyodrębnionych grup bez utraty szczegółów wyniku.
- funkcje okna OVER() i numerowanie rekordów z użyciem ROW_NUMBER(),
- numerowanie i partycjonowanie rekordów z zastosowaniem PARTITION BY.