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 nazywam się Mikołaj Antoszkiewicz i witam
cię na kursie podstaw sql żeby przystąpić do kursu nie
musisz mieć żadnej specjalistycznej wiedzy z zakresu baz danych wystarczy
że wiesz co to są relacyjne bazy danych reszty dowiesz
się na kursie na przykład czym jest sql
sql jest skrótem od structured
query language co oznacza strukturalny język zapytań
i jest on używany do manipulowania bazami danych i
danymi które są do nich zapisywane lub pobierane
sql jest językiem deklaratywnym to znaczy opisuje
to co chcemy osiągnąć natomiast nie mówi jak na
przykład w zapytaniach pobierających dane specyfikujemy jakie dane
chcemy pobrać natomiast sposobem pobierania tych danych zajmuje
się już system baz danych na pewno spotkałeś się z dwoma
nazwami języka jedna to seql a druga to sql
każda z nich ma swoje grono sympatyków forma seql
pochodzi z czasów powstawania języka czyli z
lat 70 kiedy nazywał się jeszcze czy structured english query language
później ta nazwa została formalnie zmieniona wraz z wymową
na obecnie stosowaną ze względu na prawa autorskie
do nazwy używanej przez inną firmę w tej chwili częściej spotyka się
formę sql choć obie można spotkać w użyciu i obie są poprawne
natomiast w ramach kursu będę używać tej formalnej wersji
czyli sql sql jest językiem obsługi baz danych więc
używa się go wszędzie tam gdzie występują relacyjne
bazy danych wszędzie tam gdzie chcemy zapisać i przetwarzać powiązane
ze sobą dane czy to w biznesie czy
w nauce w medycynie czy
w rozrywce jeszcze w wielu innych miejscach używane są
bazy danych po to żeby przetrzymywać dane i je też
analizować wszędzie tam używany jest język sql zwykle kiedy
mówi się o językach programowania pojawia się pytanie w jakiej wersji
będziemy używać otóż w przypadku sql trudno mówić
o wersjonowania ze względów historycznych żeby to zrozumieć
rzućmy okiem na burzliwe początki sql na początku
Edgar Codd stworzył koncept relacyjnych baz danych koncept
ten dał początek językowi manipulowania danymi który narodził się
w laboratorium firmy ibm wtedy pod nazwą seql i służył
do obsługi jednej z pierwszych bazy relacyjnych na świecie idea relacyjnych baz danych
spodobała się także firmie oracle która stworzyła własną wersję języka
żeby nie zginąć w chaosie wersji komitet standaryzacyjny opracował
pierwszą wspólną wersję języka sql w 86
roku potem kolejne wydania wprowadzały nowe koncepty do standardu
takie jak użycie wyrażeń regularnych tablic
jsona czy kolumny z autogenerowanymi wartościami
które zresztą będziemy wykorzystywać w tym kursie firmy wprowadzają
swoje rozszerzenia pomimo standaryzacji ale podstawy języka
są wspólne na tym kursie będę stosować się do standardów tak
żebyś wiedzę tu zdobytą mógł wykorzystać w pracy z dowolną
relacyjną bazy danych czy to oracle postgres mysql
czy mssql na koniec tego wstępu garść informacji o
elementach tego kursu po pierwsze ten kurs to konkretne przykłady
żeby przyjemniej było ci się uczyć sql wyobraź sobie że dostałeś
zlecenie zaprojektowania bazy danych do gry przygodowej podczas
kursu z moją skromną pomocą będziesz tworzyć i rozwijać taką
właśnie bazę danych kto wie może jak już powstanie i będzie kompletna pod
koniec kursu pokusisz się o spisanie samej gry żadna
teoria nie zastąpi praktyki dlatego każda lekcja będzie zawierać
zadanie do pracy samodzielnej dzięki temu będziesz miał szansę przećwiczyć
to co usłyszałeś podczas lekcji do pracy
z bazą danych możesz wykorzystać dowolne środowisko w końcu będziemy
używać tylko standardowych poleceń jest sporo darmowych
środowisk które mógłbyś wykorzystać takich jak postgresql
mysql czy mariadb do ćwiczeń możesz nawet wykorzystać
strony online jakie jak w3 schools jednak nie
ma tam możliwości tworzenia modyfikowania i usuwania baz danych z
mojej strony do demonstracji wszystkich przykładów wybrałem środowisko które
jest najwygodniejsze dla mnie czyli pg admin 4
współpracujący z systemem bazodanowym postgresql dodatkowe informacje
dotyczące składni czy pełnych możliwości poszczególnych zapytań znajdziesz w
dokumentacji wybranego przez ciebie środowiska standard sql jest
publicznie dostępny ale wymaga zakupu i nie jest
zbyt przejrzysty dla początkującego sql'owca i
tak przygotowani możemy rozpocząć nasz kurs zapraszam