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