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 poza ostatnim rozdziałem dotyczącym
widoków z bazą działałeś w pojedynkę jednak naturalnym
środowiskiem działania bazy danych jest dziki tłum użytkowników próbujących
dostać się i operować na danych o tym co to są
transakcje i jak pomagają okiełznać ten tłum żeby nie nabałaganił
w danych dowiesz się w tym rozdziale za chwilę opowiem
ci o tajemniczych transakcjach lecz najpierw chciałem upewnić się że
zaczynamy ten rozdział z gotową strukturą bazy i danymi na których można pracować
przeszedłeś poprzedni rozdział dotyczący widoków to masz wszystko gotowe
i możesz przeskoczyć to wprowadzenie jeśli jednak zaczynasz ten
rozdział od zera to wykorzystaj plik źródłowy o nazwie
dane bazy sqland do rozdziału 7 aby stworzyć tabelę
i wczytać dane początkowe w przypadku wątpliwości czy
trudności prześledź przykład wykorzystania pliku w środowisku pg
admin który za sekundę zademonstruję aby dobrze
przedstawić działanie transakcji potrzebujemy dwóch użytkowników którzy
będą działali równolegle na bazie do tego potrzebujemy stworzyć dwa połączenia
dla każdego z nich po jednym mamy już jedno połączenie teraz musimy
stworzyć drugie najpierw stworzymy samego
użytkownika drugiego create role jest zapytaniem
które tworzy takiego użytkownika wedle standardu można
podać nazwę i standard na tym się kończy obsługę użytkowników
zostawiona już jest każdemu
silnikowi niezależnie w przypadku postgresa można
dodawać jeszcze opcje na przykład login password które pozwoli użytkownikowi
zalogować się z konkretnym hasłem możemy takiego użytkownika stworzyć
proszę bardzo ważna rzecz będzie kiedy używamy
tego typu zapisu czyli hasło wpisujemy
zapytanie sql warto żebyś pamiętał o tym że takie
zapytania bardzo często są logowane w systemie po
to żeby można było wrócić do zapytania które kiedyś uruchamiałeś
i wtedy takie hasło zostanie w takim pliku zapisane
żeby uniknąć takiej sytuacji każdy
silnik każda baza danych ma dodatkowe możliwości dodatkowe
usługi pozwalające tworzyć użytkownika razem z hasłem
który się podaje na bieżąco na przykład w przypadku postgresa
jest to lokalny programik który się nazywa create user w którym
można podać różne parametry na przykład jednym z parametrów jest
spytaj czy podaj dodatkowo hasło dla tworzonego
użytkownika wtedy program pyta się o to hasło wpisuje się je i on
te hasło zapisuje w ten sposób nie ma śladu po
tym haśle oprócz oczywiście zapisu do bazy z tym że
w bazie takie hasło jest zapisane bezpiecznie
czyli zaszyfrowane tak żeby nikt nie mógł podejrzeć jakie ono jest w momencie
kiedy użytkownik się loguje i podaje hasło to hasło
też jest zaszyfrowywane i te dwa zaszyfrowane hasła są
porównywane to które zapisane w bazie i to które zostało
podane jeżeli te zaszyfrowane wersje są identyczne
znaczy że podane hasło się zgadza to taki malutki malutka
notka jeżeli chodzi o bezpieczeństwo przechowywania haseł
w bazie przy okazji tworzenia użytkownika mamy
już stworzonego tego użytkownika więc możemy stworzyć sobie nowe połączenie do
serwera other connection i
będziemy się łączyć z lokalnym serwerem bazy sqland
użytkownik other hasło takie jak
żeśmy stworzyli i możemy stworzyć
proszę bardzo jest drugie połączenie jeżeli otworzymy to
będziemy tutaj podłączeni do bazy sqland
jako użytkownik other co widać w momencie kiedy otworzymy
okienko do wpisywania zapytań jesteśmy podłączeni do bazy sqland
jako użytkownik other korzystając z połączenia other connection w tym poprzednim
byliśmy podłączenie jako użytkownik postgres