Bazy danych Oracle i język SQL
- Wprowadzenie do baz danych:
- podstawowe pojęcia związane z bazami danych
- relacyjny model danych
- transakcyjne bazy danych.
- Kilka słów o Oracle:
- architektura DBMS,
- wersje i licencje,
- dostępne narzędzia,
- konfiguracja środowiska do pracy.
- Tworzenie prostych zapytań SQL:
- wyświetlanie danych pobranych z bazy,
- sortowanie i ograniczanie liczby zwróconych wierszy,
- używanie alternatywnych nazw kolumn – aliasy,
- podstawowe operacje matematyczne i łączenie ciągów znaków,
- Filtrowanie danych,
- substytucja zmiennych w czasie wykonania kwerendy,
- wartość NULL i jej obsługa w bazie,
- eliminacja powtarzających się wierszy – klauzula DISTINCT.
- Rozszerzona selekcja danych:
- operatory logiczne łączenia i negacji warunków,
- operatory porównań (>, >=, =, <, <=, <>, !=),
- operator zakresu (BETWEEN),
- operator przynależności (IN),
- operator wzorca (LIKE).
- Funkcje skalarne
- operacje związane z datami i czasem,
- operacje na typach znakowych,
- funkcje numeryczne,
- funkcje warunkowe, operatory logiczne (CASE, DECODE, COALESCE, NVL, NVL2),
- niejawna konwersja typów,
- funkcje związane z konwersją typów: TO_CHAR, TO_DATE, TO_NUMBER,
- użycie funkcji we wszystkich miejscach kwerendy
- Agregacja danych
- funkcje grupujące,
- filtrowanie wierszy po agregacji.
- Operacje na zbiorach
- operatory UNION, UNION ALL, MINUS, INTERSECT,
- kontrola kolejności wierszy zwróconych przez operacje na zbiorach.
- Łączenie zbiorów danych:
- dostępne kryteria złączeń, złączenia typu equijoin, theta-join, złączenia naturalne
- składnia Oracle i ANSI SQL
- złączenia krzyżowe,
- złączenia zewnętrzne,
- złączenia typu selfjoin,
- złączenia typu antijoin.
- Kwerendy zagnieżdżone (podzapytania)
- zakres stosowania podzapytań,
- podzapytania skalarne,
- podzapytania wielowierszowe,
- podzapytania skorelowane i nieskorelowane.
- Komendy DML (Data Manipulation Language) i transakcje
- wstawianie wierszy,
- usuwanie danych z bazy,
- zmiana danych w bazie,
- zakres działania ograniczeń podczas wykonywania operacji DML
- Zarządzanie transakcjami
- zatwierdzanie, wycofywanie transakcji, punkty zapisu,
- blokady przy współbieżnym wykonywaniu operacji,
- zakleszczenia,
- zasada działania przestrzeni UNDO i operacje FLASHBACK.
- Komendy DDL (Data Definition Language)
- tworzenie, usuwanie i modyfikacja tabel, typy kolumn,
- ograniczenia, klucze główne i obce,
- tworzenie widoków prostych i złożonych,
- schematy w bazie danych,
- inne obiekty bazodanowe: indeksy, synonimy (publiczne i prywatne), sekwencje.
- Projektowanie baz danych
- podstawowe informacje o normalizacji,
- normalizacja a efektywność,
- dobieranie odpowiednich typów danych
- dobre praktyki tworzenia i nazewnictwa obiektów
Programowanie w Oracle
- Wprowadzenie do programowania PL/SQL:
- jednostki leksykalne i konwencje,
- bloki anonimowe i programy,
- blok wykonywalny i blok deklaracji,
- uruchamianie bloków anonimowych i programów.
- Definiowanie i obsługa zmiennych:
- deklaracja i zmiana wartości zmiennych,
- wykorzystanie standardowych typów danych w zmiennych,
- atrybuty %TYPE i %ROWTYPE,
- praca z typami złożonymi, własne typy złożone,
- rekordy, tabele i tabele rekordów,
- stałe,
- Programowanie strukturalne:,
- instrukcje sterujące: warunki, pętle.
- Klauzula INTO
- użycie funkcji SQL,
- obsługa wyjątków, typowe wyjątki wbudowane,
- tworzenie własnych wyjątków,
- etykiety, zasięgi widoczności nazw, bloki zagnieżdżone.
- Kursory:
- kursory niejawne i jawne,
- kursory z parametrami,
- blokowanie wierszy (klauzula FOR UPDATE),
- klauzula WHERE CURRENT OF.
- Tworzenie programów:
- procedury składowane,
- tworzenie funkcji z użyciem ich w kodzie SQL,
- parametry w programach ,
- sposoby wywoływania programów.
- Pakiety:
- budowa pakietu i zależności
- uruchamianie pakietów,
- polimorfizm w pakietach (overloading),
- pakiety wbudowane.
- Wyzwalacze (triggers):
- wyzwalacze DML na poziomie polecenia i wiersza ,
- wyzwalacze DML działające na widokach,
- wyzwalacze na poleceniach DDL,
- wyzwalacze na wydarzeniach systemowych.
- Dynamiczny SQL:
- potrzeba użycia dynamicznego SQL-a, przeciwwskazania,
- natywny dynamiczny SQL,
- pakiet DBMS_SQL.
Administracja bazą Oracle:
- Wprowadzenie do baz danych:
- podstawowe pojęcia związane z bazami danych
- relacyjny model danych
- transakcyjne bazy danych
- baza danych a instancja danych
- Konfiguracja środowiska sieciowego:
- logika pracy silnika Oracle w środowisku sieciowym
- oracle Net Configuration Assistant
- Struktura fizyczna i logiczna bazy danych:
- logiczny podział i zależność z fizyczną strukturą danych
- zawartość bloku bazy danych
- systemowe przestrzenie tabel
- obiekty w bazie danych
- Kontenerowa Baza Danych
- architektura kontenerowej bazy danych
różnice i zależności pomiędzy CDB, PDB i PDB$SEED - łączenie się do baz kontenerowych i przełączanie się między nimi
- tworzenie nowej bazy kontenerowej
- architektura kontenerowej bazy danych
- Architektura i zarządzanie instancją bazy danych:
- parametry bazy danych
- struktury pamięci instancji
- procesy tła
- słowniki bazy danych i widoki systemowe
- Zarządzanie transakcjami:
- zatwierdzanie, wycofywanie transakcji, punkty zapisu
- blokady przy współbieżnym wykonywaniu operacji
- zakleszczenia
- zasada działania przestrzeni UNDO i operacje FLASHBACK
- Uruchamianie i zamykanie instancji:
- tryby uruchamiania
- tryby zamykania
- uruchamianie i zamykanie baz kontenerowych
- Zarządzanie użytkownikami i uprawnieniami:
- uprawnienia użytkownika
- tworzenie użytkownika
- konta administratorskie
- uprawnienia obiektowe i systemowe
- role wbudowane i tworzenie własnych ról