Podstawy
4 godz. 8 min · Bazy Danych · Full-stack i Programowanie
Pierwszy rozdział wprowadza w historię powstania języka. Wspomnimy o standardach, wykorzystywanych wersjach i podzbiorach SQL’a. Zaraz potem wskoczymy w pierwsze poważne operacje, które pozwolą na pełny cykl tworzenia, zasilania bazy danych i wyciągnięcia z niej wybranych informacji. Rozwikłamy też tajemniczy akronim - CRUD.
Skoro potrafimy już tworzyć bazę i tabele, w które możemy wstawić nowe wiersze, dowiemy się więcej o bardzo ważnej funkcji bazy danych: weryfikacji danych. Zostaną zaprezentowane mechanizmy i techniki, które pomogą utrzymać spójność danych.
W kolejnych lekcjach znajduje się opis serca SQL’a, czyli polecenia wybierającego dane i możliwości i opcji z nim związanych. Od przekształcenia bazy danych w prosty kalkulator, aż do warunków filtrowania wybieranych danych (klauzulą WHERE), sortowania ich (klauzulą ORDER BY), czy ograniczania dużych zestawów wynikowych - w tym wsparcia do paginacji.
SQL jest językiem obsługi relacyjnych baz danych. Dlatego najwyższy czas, aby wspomnieć o relacjach i tym w jaki sposób rozszerzają one możliwości wyszukiwania danych oraz pozwalają zobrazować powiązania między danymi w bazie. Dowiesz się o różnych rodzajach połączeń między tabelami i jak te połączenia (zwane JOIN’ami) pozwalają wybrać to, czego potrzebujesz.
Kolejny rozdział dotyczy grupowania danych (wykorzystując klauzulę GROUP BY) i związanych z tym nowymi możliwościami. Dowiesz się tutaj też w jaki sposób agregować pogrupowane dane i jak takie zagregowane dane filtrować.
Przekonasz się, w jaki sposób można zapamiętywać trudne lub często wykonywane zapytania, wykorzystując do tego widoki (VIEWS) i jak można poprawić wydajność pobierania z nich danych. Przykładowo zastosujemy widoki zmaterializowane (MATERIALISED VIEWS). W tym rozdziale przećwiczysz też możliwość zapisywania danych przez widoki.
Z baz danych korzysta zwykle wielu użytkowników. Aby operacje, które wykonują na wspólnej bazie nie spowodowały nieoczekiwanych konsekwencji, wykorzystuje się mechanizm transakcji. W tym rozdziale wytłumaczymy Ci w jaki sposób użytkownicy mogą modyfikować równolegle te same dane. Tutaj też dowiesz się o poziomach izolacji transakcji i jak używać ich w różnych sytuacjach bazodanowych.
Przy pracy z większą ilością danych, bardzo szybko doświadczysz spowolnienia wykonywania zapytań. O tym jak je przyspieszyć dowiesz się właśnie w tym rozdziale. Zwiększanie wydajności zapytań jest tematem rozległym i zaawansowanym. Tutaj będziesz miał szansę poznać podstawy, w tym - po co są i jak używać indeksów, w jaki sposób analizować jak zapytania są wykonywane i jakie jeszcze są metody wydajniejszego odczytywania danych.
Kurs jest dla osób początkujących, rozpoczynających przygodę z bazami danych. Nie wymaga się znajomości SQL'a ani zaawansowanej wiedzy dotyczącej baz danych. Warto wiedzieć co to są relacyjne bazy danych. Dobrze mieć dostęp do ulubionego silnika bazy danych, ale nie jest to wymagane.
Witaj jedną z podstawowych cech baz danych jest
możliwość definiowania pewnych ograniczeń po angielsku constraints
a także weryfikacja wprowadzanych danych zgodnie ze zdefiniowanymi
ograniczeniami jest to jedna z cech która przyczyniła się do sukcesu baz
danych jednolitość i spójność danych zagwarantowana przez bazę
jest szczególnie ważna tam gdzie te dane są automatycznie przetwarzane
mamy wtedy gwarancję że nie pojawią się nam błędy związane ze
złymi danymi przechowywanie danych bardzo
często zaczyna się od arkusza kalkulacyjnego takiego excela czy google
sheets załóżmy że potrzebujesz sledzić czas jaki
został poświęcony na pracę nad aplikacją ponieważ motywem przewodnim tego
kursu jest gra przygodowa więc mamy tutaj przykładowy dziennik pracy nad
taką grą wyobraź sobie że prowadzisz taki dziennik
i w którymś momencie powierzasz jakieś zadanie podwykonawcy dostaje
on link do tego arkusza żeby mógł dopisać swoją
pracę i wpisuje zamiast godziny i minut wpisał
czas w postaci ułamkowej rozwalając skrupulatnie ustawione
formuły tutaj rekordów jest niewiele i
łatwo wyśledzić gdzie jest błąd ale wyobraź sobie kolejne miesiące pracy
i wiele takich wpisów wrzuconych w tym arkuszu masakra i
wtedy stwierdzasz koniec nie będę się z tym pitolić przenoszę dane
do bazy i to będzie najlepsza decyzja tego dnia dlatego że
baza posiada wbudowane mechanizmy i narzędzia które nie pozwolą na
wpisanie tego typu niezgodnych danych zanim
zagłębie się w temat bazy stojącej na straży spójności danych upewnijmy
się że zaczynamy ten rozdział z gotową strukturą bazy i danymi na
których można pracować jeśli przeszedłeś poprzedni rozdział to
masz wszystko gotowe i możesz przeskoczyć do następnej lekcji jeśli
zaczynasz ten rozdział od zera to wykorzystaj plik źródłowy o nazwie dane bazy sqland
do rozdziału 2 aby stworzyć bazę tabelę i wczytać
bazowe dane dla przykładu pokażę jak można to
zrobić w środowisku pg admin którego użyłem do demonstracji najpierw
musisz się połączyć z serwerem w przypadku pg admina jeżeli
nie masz stworzonego połączenia to musisz stworzyć nowe połączenie
do serwera trzeba je nazwać niech będzie po prostu server connection
a w danych połączenia będzie po prostu localhost i baza
postgres trzeba oczywiście pamiętać hasło użytkownika postgres
jeśli mamy już połączenie z serwerem to możemy stworzyć
naszą nową bazę sqland to
może troszeczkę potrwać po stworzeniu bazy trzeba z się z nią połączyć
tutaj już jesteśmy połączeni i można otworzyć narzędzie
do uruchomienia kwerend teraz wystarczy otworzyć plik
sql właśnie dane bazy sqland do rozdziału 2
zaznaczyć wszystko i skopiować tutaj
do tego narzędzia po uruchomieniu powinna się utworzyć tabela
heroes i powinna mieć nawet dane w środku proszę
bardzo wszystko jest