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 jak wspomniałem we wstępie przed
tobą zadanie stworzenia bazy danych obsługującej grę przygodową
ale mógłbyś zapytać jak do tego się zabrać nie
bój nic ze mną wszystkiego się dowiesz kursy
języków programowania bardzo często zaczynają się od przykładu z hello world
w którym mniej lub bardziej proste polecenie danego języka zwraca
napis hello world w przypadku sql musimy ten przykład
przenieść na później żeby był on sensowny to wymaga
stworzonej struktury bazy danych którą zaczniemy budować już
za chwilę zanim struktura bazy zostanie
stworzona projektuje się ją i zapisuje w postaci diagramu związków
encji po angielsku entity relationship diagrams encje
modelują pewne byty i ich cechy w postaci atrybutów
i tak w ramach naszej bazy bohaterów będziemy mieć encje
modelujące bohaterów ich ekwipunek i drużyny w
bazie encje mają postać tabel z kolumnami zgodnymi
z atrybutami encji o połączeniach między encjami czyli relacjach
będę dokładnie mówić w następnych rozdziałach teraz
chcę ci pokazać jak stworzyć podstawowe elementy używając poleceń sql
zanim zabierzemy się
za uruchamianie naszych pierwszych poleceń sql zwanych zapytaniami
lub kwerendami od angielskie query dwa
słowa o podzbiorach języka sql polecenia języka sql dzielą
się na pewne kategorie kategorie te związane są z różnymi typami działań
na bazie chciałbym ładnie zobrazować ten podział wspomogę
się w takim razie stroną tech recipes żeby
przedstawić taką oto piękną grafikę zobaczymy co się kryje
za każdym z tych skrótów dml zapytania
w tej grupie odpowiedzialne są za zarządzanie samymi danymi wybieraniem
wpisywaniem modyfikacją i usuwaniem zapytania te rozpoczynają
się od poleceń odpowiednio select insert update delete ddl
w tej kategorii znajdują się zapytania manipulujące obiektami bazy danych
tworzące modyfikujące i usuwające je są to polecenia
create alter i drop dcl tutaj mamy do czynienia z zapytaniami
przyznającymi uprawnienia grant i te uprawnienia
zdejmującymi czyli revoke i ostatnia kategoria dcl
to są zapytania obsługujące transakcje transakcje bardzo
ogólnie mówiąc jest to mechanizm który spaja pewną
całość grupy zapytań ale więcej o tym w kolejnych rozdziałach
to na tyle teorii jego referencje w materiałach można znaleźć
link do tej strony z grafiką tak jak mówiłem
we wstępie zapytania prezentowane na tym kursie można
wykonywać na dowolnym silniku bazy danych i też będziemy wykorzystywać te
elementy języka sql które są w standardzie to samo tyczy się
interfejsu do połączenia się z bazą danych żeby móc
pokazywać zapytania i to co się dzieje na bazie musiałem
jednak coś wybrać i wybrałem narzędzie które jest wygodne
webowe według mnie dosyć przejrzyste i to nie jest
bez znaczenia darmowe będę wykorzystywał właśnie narzędzie które się nazywa pg admin
w wersji czwartej i jako silnika bazy danych wykorzystam
postgresql zwanego potocznie postgres po lewej stronie
jest przeglądarka obiektów bazodanowych na niej będziemy mogli
zobaczyć nasze bazy tabele i inne elementy
które stworzymy podczas z tego kursu po prawej stronie będzie
miejsce na wpisywanie zapytań i wyświetlanie wyników w tej grze
pg admin przedstawia tutaj grupy serwerów a właściwie grupy
połączeń do serwerów w naszym przypadku będzie to jedno połączenie na
razie i w ramach tego połączenia widać
tutaj wszystkie bazy danych które są stworzone w danym
serwerze na dzień dobry jest tylko jedna baza danych domyślna nazywająca
się postgres inne będziemy tworzyć już zaraz schowam
część też niepotrzebnych w tej chwili opcji możemy
wreszcie przejść do tworzenia bazy danych w sql od tworzenia
są zapytania typu ddl i pierwszym
jakie użyjemy jest create database oczywiście
tworzy bazę danych musimy tylko wymyślić
jej nazwę ponieważ jest to kurs sql powiedzmy
że nasza aplikacja nasza gra przygodowa
będzie się nazywała odpowiednio do kursu czyli
sqlandia w ten sposób zostanie
utworzona baza danych system powiadamia nas o
tym że zapytanie zostało wykonane i jeszcze mówi
nam jak długo to zajęło jak widzieliście było trochę krócej niż
12 sekund nie chciałem was zanudzać czekaniem aż
stworzy się baza w tym momencie jeżeli odświeżymy sobie
nasz browser proszę bardzo nasza
baza tutaj się pojawiła jeszcze dwa słowa na temat zapytań konwencją
w pisaniu zapytań sql jest używanie dużych liter
do zapisywania słów kluczowych i małych liter do
nazw obiektów jeżeli nazwa składa się z kilku słów
oddzielone one są podkreślnikami zapytanie sql
kończy się średnikiem jeśli chodzi o inny element konwencji
to zwykle używa się nazw angielskich tak żeby
ładnie współgrały z całym kodem który jest w języku angielskim
a także dzięki temu nie mamy problemu z
z wątpliwościami czy użyć lub nie specjalnych znaków na przykład
jeżeli byśmy chcieli pisać używać polskich nazw
w takim razie tak naprawdę nasza baza powinna się troszkę inaczej
nazywać więc zmienimy jej nazwę do zmiany obiektów
bazodanowych używa się polecenia alter ponieważ
zmieniamy bazę to będzie database musimy zaznaczyć którą
bazę zmieniamy i teraz co chcemy zmienić chcemy
zmienić nazwę na sqland nazwa
została zmieniona jak odświeżymy to proszę bardzo nasza
baza już się nazywa poprawnie tak jak zapowiadałem już we wstępie teraz
na koniec lekcji mam dla ciebie zadanie do zrobienia samodzielnie zadania
do przepracowania na początku będą bardzo łatwe żeby potem z lekcji
na lekcję być coraz bardziej wymagające na start usuń stworzoną
bazę danych sqland a następnie ją odtwórz jako
dodatkowe wyzwanie spróbuj napisać to
usuwające zapytanie tylko na bazie poznanych podczas tej lekcji informacji
o poleceniach ddl żeby cię wesprzeć
w realizacji zadań samodzielnych przygotowałem
wzorcowe lub przykładowe rozwiązania zwykle takie rozwiązania
będą dostępne na początku następnej lekcji w tym wypadku jednak
podaje je od razu jeśli nie chcesz spojlera to zapauzuj teraz lekcję
mam nadzieję że już udało ci się odtworzyć usuniętą przez ciebie bazę
zapewne użyłeś do tego następujących zapytań gratulacje
właśnie szczęśliwie wykonałeś swoje pierwsze
zadanie samodzielne oby tak dalej i do usłyszenia w
drugiej części lekcji na temat podstawowych struktur baz danych
Tworzenie bazy danych i zmiana nazwy · 5 min
CREATE DATABASE sqlandia;
ALTER DATABASE sqlandia RENAME TO sqland;