1. Omówienie fundamentalnych zasad, na których opierają się relacyjne bazy danych
Relacyjne bazy danych opierają się na precyzyjnie zdefiniowanych elementach modelu i relacjach między nimi. W sekcji wyjaśniono pojęcia relacji, tabeli, wiersza, kolumny i krotki, a następnie powiązano je z kluczami głównymi, obcymi oraz zależnościami między tabelami.
- relacje,
- tabela,
- wiersz,
- kolumna,
- krotka,
- klucz główny i obcy oraz powiązania pomiędzy tabelami.
2. Zrozumienie kluczowej roli języka SQL
Instrukcje SELECT stanowią podstawę praktycznego wykorzystania SQL w pracy z danymi. Zakres obejmuje filtrowanie przez WHERE, sortowanie przez ORDER BY, wybór TOP, grupowanie z HAVING, a także funkcje, operatory, złączenia, podzapytania i operacje teorii mnogości.
- instrukcje wybierające z wykorzystaniem słowa kluczowego SELECT,
- wybieranie określonych wierszy przy pomocy klauzuli WHERE,
- sortowanie danych – ORDER BY,
- wybieranie n początkowych wierszy (TOP),
- funkcje i operatory,
- grupowanie danych przy pomocy instrukcji HAVING,
- łączenie tabel,
- podzapytania,
- łączenie danych z wykorzystaniem aparatu teorii mnogości.
3. Przegląd celów tworzenia widoków w relacyjnych bazach danych
Widoki odpowiadają na potrzebę udostępniania danych w uporządkowanej postaci bez powielania tabel źródłowych. Sekcja wyjaśnia cele ich tworzenia w relacyjnych bazach danych oraz sposób, w jaki pomagają porządkować dostęp do wybranych danych i logiki zapytań.
4. Omówienie procesu projektowania relacyjnych baz danych
Zanim powstanie implementacja, konieczne jest uporządkowane zaprojektowanie struktury bazy. W tej części omówiony zostanie proces projektowania, notacje schematów oraz wzorce, które pomagają przełożyć wymagania biznesowe na model relacyjny.
- proces projektowania baz danych,
- notacje schematów,
- wzorce.
5. Przedstawienie najważniejszych koncepcji relacyjnych baz danych
Na poziomie koncepcyjnym budowa bazy danych zaczyna się od właściwego modelu relacyjnego. Sekcja przedstawia proces tworzenia bazy oraz porównuje normalizację i denormalizację, zwracając uwagę na ich zalety, ograniczenia i wpływ na strukturę danych.
- proces tworzenia bazy danych,
- normalizacja – zalety i wady,
- denormalizacja – zalety i wady.
6. Szczegółowy opis procesu tworzenia tabel w bazach danych
Tworzenie tabel wymaga powiązania struktury technicznej z zasadami integralności danych. Omówione zostaną operacje CREATE i DROP, autonumerowanie wierszy, dobór typów danych, łączenie tabel oraz więzy spójności definiujące reguły dla przechowywanych informacji.
- tworzenie (CREATE) oraz kasowanie (DROP) tabel,
- autonumerowanie wierszy,
- rodzaje typów danych,
- łączenie tabel,
- ograniczenia (więzy spójności).
7. Praktyczne podejście do operacji na danych
Codzienna praca z bazą obejmuje przede wszystkim modyfikowanie zawartości tabel. Ta część skupia się na instrukcjach INSERT, UPDATE i DELETE, wyjaśniając sposób dodawania, zmiany i usuwania rekordów oraz wpływ tych operacji na stan danych.
- wstawianie danych – INSERT,
- aktualizacja danych – UPDATE,
- kasowanie danych – DELETE.
8. Omówienie sposobów tworzenia zapytań SQL
Tworzenie zapytań często wymaga łączenia kilku technik zamiast pojedynczej instrukcji SELECT. W tym zakresie pojawiają się podzapytania, dynamiczny SQL i kursory, a także sposoby ograniczania ryzyka SQL Injection przy bardziej elastycznej konstrukcji zapytań.
- podzapytania,
- dynamiczny SQL oraz zapobieganie SQL Injection,
- kursory.
9. Wprowadzenie do pracy ze zmiennymi w języku SQL
Praca ze zmiennymi umożliwia przechowywanie wartości pośrednich i lepsze sterowanie przebiegiem operacji. Sekcja obejmuje zmienne skalarne oraz tabelaryczne, pokazując ich zastosowanie w obliczeniach, tymczasowym składowaniu danych i organizacji logiki skryptu.
10. Szczegółowy przegląd różnych typów danych dostępnych w relacyjnych bazach danych
Dobór typu danych ma bezpośredni wpływ na sposób zapisu, walidacji i dalszego przetwarzania informacji. Omówione zostaną typy liczbowe, tekstowe, daty i czasu, XML oraz wybrane typy specjalne, takie jak hierarchyid czy cursor.
- liczbowe,
- tekstowe,
- daty i czasu,
- XML,
- pozostałe (np. hierarchyid, cursor).
11. Omówienie instrukcji sterujących w SQL
Instrukcje sterujące pozwalają nadawać kodowi SQL przebieg zależny od warunków i powtórzeń. Ujęto tu instrukcję IF oraz pętle, aby pokazać, jak budować rozgałęzienia logiki, wielokrotnie wykonywać operacje i kontrolować przebieg skryptów.
- instrukcja warunkowa IF,
- pętle.
12. Przegląd zasad tworzenia i zarządzania tabelami w relacyjnych bazach danych
Sposób zarządzania zakresem tabel wpływa na to, jak długo są dostępne i komu mogą służyć. Ta sekcja koncentruje się na tabelach tymczasowych i globalnych, wskazując różnice w ich użyciu, widoczności oraz cyklu życia w relacyjnej bazie danych.
13. Opis procedur składowanych w SQL
Procedury składowane porządkują operacje wykonywane po stronie bazy danych i pozwalają zamknąć logikę w wielokrotnie używanych jednostkach. Sekcja wyjaśnia ich rolę w organizacji kodu SQL oraz w oddzielaniu wykonania operacji od treści pojedynczych zapytań.
14. Omówienie funkcji w SQL
Funkcje SQL zostaną ujęte jako narzędzie do przetwarzania danych i porządkowania logiki zapytań. Zakres obejmuje funkcje skalarne dla dat, tekstu, logiki i konwersji, a także funkcje tabelaryczne, grupujące, szeregujące oraz definiowane przez użytkownika.
- skalarne:
- daty i czasu,
- logiczne,
- tekstowe,
- konwersji,
- tabelaryczne,
- grupujące dane,
- szeregujące dane,
- użytkownika.
15. Przedstawienie transakcji jako mechanizmu zapewniającego spójność danych w bazach
Zachowanie spójności danych wymaga zrozumienia sposobu działania transakcji. W tej części omówione zostaną podstawy teoretyczne, przykłady implementacji oraz obsługa błędów, która decyduje o zatwierdzaniu zmian albo ich wycofaniu.
- podstawy teoretyczne,
- przykłady realizacji,
- obsługa błędów.
16. Opis wyzwalaczy w SQL
Wyzwalacze w SQL są przedstawione jako mechanizm automatycznej reakcji na zdarzenia zachodzące w bazie. Sekcja rozróżnia wyzwalacze DML i DDL, pokazując moment ich uruchamiania oraz zastosowanie w kontroli zmian danych i obiektów bazy.