CodeGym /Kursy /SQL SELF /Wprowadzenie do baz danych

Wprowadzenie do baz danych

SQL SELF
Poziom 1, Lekcja 0
Dostępny

Hej wszystkim! Dzisiaj zaczynamy nowy, kozacki kurs SQL.

Kurs jest dla ludzi (na pewno nie jesteś robotem?), którzy totalnie nie znają SQL, ale bardzo chcą to zmienić🧠. Zaczniesz od totalnych podstaw, a skończysz na stored procedures, zagnieżdżonych transakcjach, triggerach i automatyzacji raportów.

W kursie czeka na Ciebie setki praktycznych zadań, które pomogą połączyć teorię z realnym użyciem SQL. A na sam koniec czeka Cię wielki finałowy projekt na 100+ tabel😅.

Naszym celem jest dać Ci pewność w ogarnianiu SQL do każdego zadania z danymi. Po kursie SQL będzie dla Ciebie intuicyjnym narzędziem. Nie będziesz musiał długo myśleć nad zapytaniami, projektowaniem baz czy rozwiązywaniem trudnych analitycznych problemów — wszystko pójdzie naturalnie i szybko.

Jak podchodzimy do materiału

W trakcie kursu niektóre tematy będą wspomniane krótko, a potem rozłożone na czynniki pierwsze w osobnych wykładach. Na przykład, przy poznawaniu relacyjnego modelu danych nie da się nie wspomnieć o relacjach między tabelami. Tak samo, na początku będziemy pokazywać bardzo proste schematy baz czy przykłady, bez zbędnych szczegółów, żeby nie przeciążać.

To podejście jest potrzebne, żeby krok po kroku ogarniać materiał — żeby rozwinąć jeden temat, często trzeba mieć podstawy z innych. Więc spokojnie, wszystkie luki na pewno uzupełnimy w trakcie nauki.

Struktura kursu

Kurs jest podzielony na poziomy, każdy z nich ma kilka wykładów. W wykładach znajdziesz teorię, praktyczne zadania i testy, żeby utrwalić materiał.

Na pierwszych poziomach wszystkie zadania możesz robić prosto na stronie — nie musisz nic instalować. A po kilku poziomach krok po kroku zainstalujemy PostgreSQL, profesjonalne IDE i potrzebne pluginy. Wszystko na spokojnie i po kolei.

Dlaczego PostgreSQL?

PostgreSQL to nowoczesna i mega popularna baza danych, jej możliwości wystarczą do każdego projektu. Używają jej banki, startupy, sklepy, studia gier. Z nią możesz zrobić nawet Instagram albo elektrownię atomową do sterowania ekspresami do kawy. A jak będziesz chciał czegoś więcej, to po PostgreSQL łatwo przeskoczysz na "cięższe" Microsoft SQL Server albo nawet Oracle DB(!).

Będziemy wszystko robić na bazie PostgreSQL 17. I Tobie też to polecamy!

To wszystko czeka Cię w przyszłości, a dziś zaczynamy od totalnych podstaw...

No to czym są te bazy danych?

Wyobraź sobie, że trzymasz wszystkie swoje ważne dane — hasła, listy zakupów, numery exów i ulubione przepisy — w jednej wielkiej tabeli Excela o nazwie "zycie.xlsx"📉. Każdego dnia ta tabela rośnie, muli, psuje się, i w końcu dochodzisz do wniosku: czas dorosnąć i trzymać dane w czymś wygodniejszym. Czas na bazy danych.

Baza danych to nie tylko tabela. To jak Excel, ale Super-Excel: potrafi szybko szukać, filtrować, aktualizować dane. Nie boi się milionów wierszy, nie zamula i nie mówi „plik uszkodzony” 💔. Jednym słowem, to taki turbo pomocnik, który nie zapomni, gdzie zapisałeś numer tej jednej poznanej kiedyś w starym dobrym przedcovidowym 2019 roku.

Po co mi to?

— zapytasz. I czy w ogóle mi to potrzebne? Przecież wcale z tego nie korzystam... A jesteś pewien?

Wszystko w Twoim telefonie siedzi w bazach danych. Zdjęcia, wiadomości, maile i notatki — WSZYSTKO jest w bazach danych. Nawet jak już dawno przeniosłeś się do chmury, to nie ma co się rozluźniać — teraz Twoje dane są w chmurze, ale dalej w bazach danych😬. Cały internet, wszystkie dane świata są w bazach danych. A jeśli jesteś IT, to możesz na tym nieźle zarobić 💰.

Serio, tak to działa! Patrz:

  1. Sklepy internetowe: gdy dodajesz produkt do koszyka, baza danych zapisuje Twój wybór, a potem przekazuje dane do płatności.
  2. Social media: lajki, komentarze, znajomi — wszystko siedzi w bazach danych.
  3. Systemy bankowe: bazy danych pozwalają śledzić saldo, robić transakcje i mieć natychmiastowy dostęp do info.

To wszystko jest możliwe dzięki bazom danych, które zapewniają:

  • Przechowywanie: dane nie giną, jak cały karton dokumentów.
  • Zarządzanie: dane są uporządkowane, zorganizowane i dostępne.
  • Wydobywanie: możesz szybko i łatwo znaleźć konkretną informację.

Podstawowe elementy bazy danych

Baza danych jest zbudowana z kilku podstawowych klocków, które zaraz poznasz. Na tym etapie zrobimy proste porównanie — baza danych przypomina tabele w Excelu (tylko jest o niebo lepsza!).

Tabele

Wyobraź sobie tabelkę w Excelu: są wiersze i kolumny, wszystko ładnie poukładane. Podobnie działa tabela w bazie danych. Tabela to podstawowa struktura przechowywania danych w bazie.

Każda tabela:

  • Ma swoją nazwę (np. students albo courses).
  • Składa się z wierszy i kolumn.

Wiersze

Wiersze to rekordy lub obiekty, które przechowujesz. Jeden wiersz to jeden obiekt/encja, np. info o studencie.

Przykład wiersza w bazie studentów:

id: 1, name: Aleks, age: 20, group: A1

Kolumny

Kolumny to właściwości lub atrybuty obiektu. Można je też nazywać kolumnami. Na przykład:

  • id — unikalny numer studenta.
  • name — jego imię.
  • age — wiek.
  • group — nazwa grupy, do której należy.

Taki podział pozwala nam rozbić dane na części i dokładnie wiedzieć, gdzie czego szukać.

Tak wygląda nasza tabela students:

Jak to działa w praktyce?

Do tabel Excela mamy program (czyli sam Microsoft Excel) i jego dokumenty. Tak samo jest z bazami danych. Program do baz danych nazywamy DBMS (System zarządzania bazą danych), a jego "dokumenty" — po prostu bazami danych.

DBMS pozwala:

  1. Dodawać nowe wiersze do tabel (np. nowego studenta).
  2. Zmieniać dane w dowolnej kolumnie.
  3. Szukać informacji, np.: "Znajdź wszystkich studentów z grupy A1".
  4. Usuwać wiersze, jeśli nie są już potrzebne.

Jak wygląda praca z danymi przez DBMS

Ty, jako użytkownik albo programista, nie pracujesz bezpośrednio z plikami, gdzie są dane. Zamiast tego tworzysz swoje "zapytanie" – co dokładnie chcesz dostać albo zmienić – i przekazujesz je do DBMS. Najczęściej używa się do tego specjalnego języka zapytań, a najpopularniejszy z nich to SQL, którego będziemy się uczyć. DBMS przyjmuje Twoje SQL-zapytanie, "rozumie" je, zagląda do bazy, robi co trzeba i zwraca Ci wynik.

Bardzo prosty schemat pracy z bazą danych:

  1. Użytkownik tworzy zapytanie.
  2. Zapytanie trafia do DBMS.
  3. DBMS zagląda do bazy danych.
  4. Baza danych zwraca info do DBMS.
  5. DBMS przetwarza dane na podstawie zapytania.
  6. Wynik wraca do użytkownika.

Po co są bazy danych?

W tym momencie ktoś może pomyśleć: "To chyba tylko lepsza wersja Excela, po co się tak bawić?"

Oto kilka powodów, dlaczego bazy danych są potrzebne:

  1. Praca z dużą ilością danych. Wyobraź sobie, że musisz ogarnąć dane milionów użytkowników. Excel raczej tego nie wytrzyma.
  2. Wygodny dostęp do informacji. Jeśli zapytanie brzmi "Znajdź wszystkich studentów powyżej 20 lat z grupy A1", bazy danych zrobią to w kilka milisekund. W Excelu — powodzenia.
  3. Organizacja i spójność danych. Bazy danych gwarantują, że info będzie uporządkowane i bez sprzeczności.
  4. Dostęp wielu użytkowników. Ty i Twój kolega możecie pracować na tej samej bazie bez konfliktów. Jej struktura na to pozwala.

Wyobraź sobie, że tworzysz sklep internetowy. Musisz trzymać info o produktach (nazwy, ceny, kategorie), o klientach (imiona, kontakty) i oczywiście o zamówieniach (kto, co i kiedy kupił). Jeśli spróbujesz wrzucić to wszystko do jednej wielkiej tabeli, szybko zrobi się bałagan, dane zaczną się powtarzać i ciężko będzie coś znaleźć lub poprawić bez błędów.

Bazy danych mają lepsze rozwiązanie: podzielić info na logiczne bloki (tabele). Każda tabela trzyma dane o jednym typie obiektów (np. tylko o produktach albo tylko o użytkownikach). Ważne, że te tabele można ze sobą powiązać, żeby odwzorować realne relacje, np. który użytkownik zamówił jaki produkt.

Po co Ci to wszystko?

Jeśli piszesz jakikolwiek backend albo pracujesz z danymi — bazy danych będą zawsze obok.

A komu się to na pewno przyda:

  • 💻 Web-developerom — żeby zapisywać użytkowników, posty, koszyki i w ogóle wszystko.
  • 📊 Analitykom — żeby wyciągać potrzebne liczby i robić raporty.
  • 🛠️ Adminom — żeby bazy nie zamulały i nie padały.
  • 🧠 Programistom — żeby aplikacje nie tylko żyły, ale były mądre i dynamiczne.

I tak — na rozmowach kwalifikacyjnych lubią bazy danych. Prawie zawsze poproszą chociaż o napisanie SQL-zapytania albo wyjaśnienie, co to jest JOIN.

Więc jeśli chcesz iść dalej — z bazami warto się zaprzyjaźnić. To jedna z tych umiejętności, które robią z Ciebie naprawdę pewnego siebie developera.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION