14 – Podstawy SQL

Agenda

•      Relacyjne bazy danych
•      Wstęp do SQL
•      Składnia SQL
•      DOMO + Warsztaty

Relacyjne bazy danych

•      Relacyjna baza danych jest to jeden z rodzajów baz danych
•      Umożliwia przechowywanie powiązanych ze sobą danych i pozwala na łatwy dostęp
•      Dane w tym rodzaju bazy przedstawiane są jako tabele
•      Tabele te zawierają kolumny i wiersze
•      Kolumny mają przypisaną określoną nazwę oraz typ danych jakie można przechowywać w danej kolumnie (bit, nvarchar(max))
•      Tabele mogą przechowywać bardzo dużo danych i mieć między sobą rózne powiązania (1:1, 1:N, N:M)
•      Tabele mogą mieć przypisane różne rodzaje kluczów (klucz główny, klucz obcy)
•      Na postawie istniejących tabel w celu przedstawienia określonego zestawu danych można użyć wirtualnych tabel – widoków, które wywołają dane z różnych tabel

Relacyjne bazy danych – przykład tabeli

•      Tabela składa się z 3 kolumn (Imię, Nazwisko, Data Urodzin) i 3 wierszy (rekordy dla osób)
•      Każda kolumna na określony typ danych i nie może być NULL
•      Imię i nazwisko przyjmują wartości tekstowe nvarchar(max), natomiast Data urodzin daty o typie date
•      Kolumny i typy danych w nich zamieszczonych składają się na schemat tabeli

Wstęp do SQL

•      SQL (ang. Structured Query Language) jest językiem deklaratywnym
•      Język zapytań o charakterze strukturalnym służący do kreacji, modyfikacji, wprowadzania i pobierania danych z baz danych
•      Za rozwiązania technologiczne z zakresu sposobu przechowywania i pobierania danych odpowiada system bazy danych (DBMS)
•       Używany w relacyjnych bazach danych
•      Istnieje wiele implementacji baz danych używających SQL
•      SQL jest jednym ze standardów ISO
•      Służy do komunikacji z bazą danych
•      Można podzielić go na cztery podzbiory zapytań

Składnia SQL

SQL DML – Data Manipulation Language – służy do manipulacji danych. Główne polecenia z tego zbioru:
•      INSERT – dodawanie danych do tabeli
•      UPDATE – wykonywanie zmian na istniejących danych
•      DELETE – usunięcie wierszy z tabeli

SQL DDL – Data Definition Language – służy do wykonywania zmian na strukturach takich jak tabele czy całe bazy. Główne polecenia to:
•      CREATE – tworzenie nowej struktury
•      DROP – usunięcie struktury
•      ALTER – Zmiana Struktury
•      TRUNCATE – usuwa wszystie dane

SQL DCL – Data Control Language – polecenia z tej grupy mają na celu zarządzanie uprawnieniami w obiektach bazodanowych, należą do nich:
•      GRANT – nadanie uprawnień do poszczególnych obiektów lub całej bazy danych
•      REVOKE – odebranie uprawnień użytkownikowi
•      DENY – odmowa wykonywania operacji dla użytkownika

SQL DQL – Data Query Language – służy do tworzenia zapytań do danych. Główne polecenie z tego zbioru:
•      SELECT – odczytywanie danych na podstawie określonych warunków

Składnia SQL – SELECT

SELECT * FROM Tabela

•      Służy do pobierania danych z tabeli
•      Select określa kolumny, które mają zostać zwrócone
•      W przypadku użycia * po SELECT zapytanie zwraca wszystkie kolumny istniejące w tabeli
•      FROM określa nazwę tabeli, z którego zapytanie wróci dane
•      Przedstawiony przykład pobiera wszystkie dane(*) z Tabeli

SELECT Imię FROM Uczestnicy_Kursu

•      Powyższe zapytanie zwróci nam wszystkie 3 wiersze z kolumny Imię z Tabeli uczestnicy kursu z naszego przykładu

Składnia SQL – WHERE

SELECT * FROM Tabela WHERE Warunek

•      Służy do pobierania danych z tabeli
•      Select określa kolumny, które mają zostać zwrócone
•      W przypadku użycia * po SELECT zapytanie zwraca wszystkie kolumny istniejące w tabeli spełniające Warunek określony w WHERE
•      FROM określa nazwę tabeli, z którego zapytanie zwróci dane
•      Przedstawiony przykład pobiera wszystkie dane(*) z Tabeli, które spełniają warunek określony w WHERE

SELECT Imię FROM Uczestnicy_Kursu WHERE Imię = ‚Julian’

•      Powyższe zapytanie zwróci nam 1 wiersz z kolumny Imię z Tabeli uczestnicy kursu z naszego przykładu, uczestnika o imieniu Julian

Składnia SQL – Kolejność składni

Kolejność składni dodatkowych poleceń języka SQL:

1. SELECT…
•      …DISTINCT – Zwraca unikalne wiersze
•      …COUNT – Służy zliczaniu wierszy
2. AS … – alias – używany w przypadku gdy chcemy zmienić nazwę kolumny w zwróconym wyniku zapytania
3. FROM…
4. WHERE…
5. GROUP BY… – grupowanie warunków w ramach określonej kolumny/kolumn
6. HAVING… – zwraca wiersze spełniajacy określony warunek np liczby większe niż 100
6. ORDER BY… – sortowanie wyników w ramach określonej kolumny/kolumn (ASC/DESC – określenie kierunku sortowania)
7. LIMIT… – limitowanie wyników zapytania

Składnia SQL – JOIN

Funkcja Join służy łączeniu danych z tej samej tabeli lub różnych tabel:
•       Iloczyn Kartezjański (CROSS JOIN) – złączenie każdego wiersza tabeli 1 z tabelą 2
•      Samozłączenie (SELF JOIN) – jedna tabela po obu stonach złączenia
•      INNER JOIN – umożliwia łączeniu wyniku zapytań, które posiadają swoje odpowiedniki w obu tabelach. Ten typ złączenia nie pokazuje danych, które nie posiadają relacji.
•      LEFT OUTER JOIN – umożliwia łączenie wyniku zapytań, które niekoniecznie posiadają swoje odpowiedniki w łączonych tabelach. Gdy w pierwszej tabeli pojawią się rekordy, które nie posiadają odpowiedników w tabeli drugiej – nie zostaną uwzględnione podczas łączenia a puste rekordy wypełnią się wartościami NULL
•      RIGHT OUTER JOIN – działa analogicznie do LEFT OUTER JOIN, różnica wynika z tego, że w tabeli z wynikami zapytania uwzględni wszystkie wiersze z tabeli drugiej, które nie mają odpowiedników w tabeli pierwszej
•      FULL OUTER JOIN – połczenie zlączeń LEFT I RIGHT – zawiera wszystkie wiersze bez odpowiedników z obu tabel.

SELECT a.imię, a. Nazwisko, p.Ocena
FROM uczestnicy_kursu a FULL JOIN oceny_kursantów p
On a.id = p.id_kursanta