Data: 21.01.2024

Poradnik jak zacząć naukę języka SQL i baz danych

Jak zacząć naukę SQL i baz danych od podstaw?

Spis treści

Przewodnik dla początkujących na temat sposobu, w jaki możemy podejść do nauki poleceń SQL. Dowiesz się, jak zacząć naukę SQL i baz danych od podstaw oraz jakich darmowych narzędzi używać do nauki, aby zdobyć lub odświeżyć wiedzę.

Zobaczysz również, na jakich stanowiskach pracy SQL jest wykorzystywany i jak zacząć efektywną pracę z danymi.

Do czego służą bazy danych?

Bazy danych służą do przechowywania danych i zarządzania nimi. Trzy główne rodzaje baz to:

  • relacyjne bazy danych – informacje przechowywane są w tabelach, między którymi przy pomocy kluczy ustanowione są relacje. Do tego rodzaju baz należą MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database, MS Access
  • bazy NoSQL – umożliwiają elastyczne przechowywanie danych w różnych formatach, takich jak dokumenty, kolumny, grafy czy klucz-wartość. Do tego rodzaju baz należą MongoDB, Cassandra, Neo4j
  • obiektowe – przechowują dane w postaci obiektów np. ObjectDB.

Do czego służy język zapytań SQL?

Język zapytań SQL (Structured Query Language) używany jest do manipulowania danymi w relacyjnych bazach. SQL umożliwia wykonywanie operacji, takich jak:

  • pobieranie i wyszukiwanie danych na podstawie różnych kryteriów
  • wstawianie, aktualizowanie i usuwanie rekordów
  • wykonywanie obliczeń i agregacji (podsumowań)
  • tworzenie i modyfikowanie struktury bazy danych (tabel, widoków, indeksów)
  • zarządzanie uprawnieniami i użytkownikami

SQL jest używany do tworzenia zapytań,  które nie ograniczają się do prostych operacji, takich jak wyświetlenie wybranych rekordów z bazy. Możemy również np. pisać własne funkcje, zarządzać użytkownikami oraz tworzyć zaawansowane skrypty do zasilania danymi hurtowni.

Oracle Database, SQL Server, PostgreSQL, MySQL – różne serwery i dialekty języka SQL

Na rynku istnieje wiele serwerów bazodanowych, które obsługują relacyjne bazy danych. Wśród najpopularniejszych znajdują się:

  • Oracle Database – używane języki to SQL (do operacji na danych) oraz PL/SQL (do programowania proceduralnego: funkcji, procedur, wyzwalaczy)
  • SQL Server – używany jest dialekt T-SQL (Transact-SQL)
  • PostgreSQL – używa dialektu SQL z własnymi rozszerzeniami; do programowania proceduralnego służy język PL/pgSQL
  • MySQL – używa własnego dialektu SQL z rozszerzeniami proceduralnymi opartymi na standardzie SQL/PSM.

Są to systemy zarządzania bazami, które mają różną koncepcję schematu bazy danych, różny model danych i wykorzystują różne dialekty języka SQL. W Oracle używany jest SQL do odczytywania i modyfikowania danych oraz PL/SQL do wykonywania zadań programistycznych. Z kolei w SQL Server używany jest T-SQL (MS SQL).

Każdy z wariantów języka SQL posiada kilka unikalnych funkcji, co sprawia, że programiści i administratorzy baz powinni posiadać wiedzę na temat implementacji różnych odmian SQL.

Czy w początkowym etapie nauki dialekt SQL ma znaczenie?

Jeśli nie uczysz się administrowania bazami, w początkowym etapie nauki możesz wybrać dowolne środowisko i dowolny dialekt języka SQL. Podstawowa składnia SQL jest bardzo podobna we wszystkich systemach. Różnice dotyczą zaimplementowanych funkcji oraz słów kluczowych np. aby ograniczyć wynik do 5 rekordów, w SQL Server napiszemy

SELECT TOP 5 *
FROM Person.Person;

W Oracle natomiast napiszemy

SELECT *
FROM Employees
FETCH FIRST 5 ROWS ONLY;

Zaawansowane programy i administrowanie systemami bazodanowymi różnią się bardziej niż podstawowe zapytania. Dlatego w późniejszym etapie nauki warto uczyć się na tym środowisku, na którym chcesz docelowo pracować.

Czy warto uczyć się SQL i na jakich stanowiskach jest on potrzebny?

Znajomość języka SQL może otworzyć drzwi do nowych możliwości kariery zawodowej w branży IT np. w obszarze analizy danych. To, czy warto uczyć się SQL zależy od stanowiska, na którym chcesz pracować. Jeśli nie interesuje Cię praca związana z danymi, możesz nie potrzebować wiedzy z obszaru baz danych.

Obecnie firmy przetwarzają duże ilości danych i kompetencje z obszaru baz danych są poszukiwane. Znając SQL możemy mieć większe szanse na znalezienie pracy, niż w innych obszarach, w których nie ma aż tak dużego zapotrzebowania na specjalistów. Warto więc nauczyć się SQL. Dzięki temu będziesz mogła lub mógł szybciej znaleźć pracę.

Znajomość SQL jest ważna w pracy m.in. na następujących stanowiskach:

  • Analityk Business Intelligence
  • Analityk biznesowy
  • Analityk danych
  • Analityk systemowy
  • Administrator baz danych
  • Specjalista ds. raportowania
  • Tester
  • Data Scientist

Są to tylko przykładowe, często oferowane stanowiska pracy. SQL jest potrzebny również osobom pracującym w roli programistów lub ekspertów DevOps.

Aby się zorientować, na jakie konkretnie stanowiska możemy aplikować znając SQL, najlepiej przejrzeć oferty pracy i zobaczyć, jakie kompetencje są aktualnie poszukiwane.

Dobra znajomość SQL jest przydatna w codziennej pracy na tych wszystkich stanowiskach, na których niezbędne jest przetwarzanie danych w bazie. Jeśli chcesz podjąć pracę, na którymś z w/w stanowisk, musisz opanować SQL w stopniu umożliwiającym Ci samodzielne tworzenie zapytań.

Title

Od czego zacząć naukę SQL i baz danych?

Metoda nauki zależy od tego, na jakim jesteś etapie i jak szybko potrzebujesz poznać SQL. SQL jest uważany za najprostszy z języków. Możesz się go uczyć samodzielnie lub skorzystać ze zorganizowanego szkolenia.

Jeśli zdecydujesz się na samodzielną naukę:

  • w pierwszym kroku przygotuj środowisko, na którym możesz się uczyć i poszukaj książek, filmów lub tutoriali, z których możesz zdobywać wiedzę

  • wybierz środowisko, w którym chcesz się uczyć np. SQL Server lub Oracle  – jeśli uczysz się składni języka SQL a nie administrowania serwerem bazodanowym, w pierwszym etapie nauki nie ma znaczenia, jakie środowisko wybierzesz, gdyż składnia obydwu dialektów jest podobna

  • zainstaluj środowisko bazodanowe i potrzebne do nauki bazy danych

  • znajdź ćwiczenia, które możesz w zainstalowanych bazach wykonywać. Z pomocą mogą przyjść poniższe książki:

    SQL. Jak osiągnąć mistrzostwo w konstruowaniu zapytań. Autor: Katarzyna Żmuda

    SQL. Praktyczny kurs. Autorzy: Danuta Mendrala, Marcin Szeliga

    Możesz również skorzystać z przykładów dostępnych na np. platformie GitHub.

Jeśli zdecydujesz się na zorganizowany kurs w szkole programowania, wybierz szkolenie dostosowane do Twoich potrzeb z dużą ilością ćwiczeń praktycznych. Praktyka jest najważniejsza. Teorię możesz przeczytać z książki. Kurs z trenerem powinien składać się głównie z ćwiczeń praktycznych, na podstawie których możesz przećwiczyć zdobytą wiedzę.

Na początek spróbuj opanować zagadnienia, które opisaliśmy w ramach kursu SQL od podstaw

W jakim programie uczyć się języka SQL?

Aby uczyć się zapytań SQL najlepiej zainstalować środowisko bazodanowe i edytor, w którym można pisać programy.

Popularne edytory to:

  • SQL Server Management Studio – umożliwia pisanie zapytań w języku T-SQL (MS SQL) w środowisku Microsoft. W artykule MS SQL Server instalacja znajdziesz informacje, w jaki sposób zainstalować SQL Server.
  • SQL Developer  – umożliwia pisanie zapytań SQL w środowisku Oracle. W artykule Oracle Express instalacja znajdziesz informacje, w jaki sposób zainstalować Oracle.
  • pgAdmin  – umożliwia pisanie zapytań SQL w środowisku PostgreSQL. W artykule Jak zainstalować PostgreSQL i pgAdmin? znajdziesz informacje na temat instalacji PostgreSQL

Zaletą zainstalowania środowiska u siebie jest to, że masz też dostęp do tabel z danymi, dla których możesz pisać zapytania. W/w edytory i przykładowe bazy danych możesz pobrać bezpłatnie.

W Internecie znajdziesz też strony np. SQL Fiddle, na których można ćwiczyć pisanie kodu online.

Jeśli instalacja na podstawie naszych instrukcji nie będzie się udawała, skontaktuj się z nami poprzez np. wiadomość na skrzynkę biuro@avendi.edu.pl lub telefonicznie pod numerem +48 503 819 084. Postaramy się pomóc.

Czy SQL jest trudny i ile trwa nauka podstaw SQL?

Ilość czasu potrzebna na naukę SQL dla każdej osoby jest inna. Czas nauki zależy m.in. od Twojego wcześniejszego doświadczenia z tematami technicznymi, zaangażowania w naukę, używanych materiałów szkoleniowych i poziomu, na którym chcesz poznać SQL.

Zwykle podstawowe polecenia języka SQL można opanować w ciągu kilkudniowego szkolenia.

Gdzie najlepiej nauczyć się SQL – kurs video, kurs SQL z trenerem czy samodzielna nauka?

Metoda nauki zależy od osobistych preferencji i poziomu zaawansowania, na którym jesteś. Dla osób, które nigdy wcześniej nie miały kontaktu z informatyką, samodzielna nauka może być wymagająca. Podstawowa składnia SQL nie jest jednak skomplikowana i można opanować ją samodzielnie.

Jeśli zdecydujesz się na samodzielną naukę:

  • przygotuj plan nauki. W ustaleniu, w jakiej kolejności poznawać poszczególne tematy pomogą Ci wymienione wyżej książki lub program naszych kursów SQL
  • systematycznie realizuj plan – systematyczność i ciągłość nauki są ważniejsze niż długie, ale rzadkie sesje
  • postaraj się pisać zapytania – samo czytanie książki jest mniej efektywne

To, czy do nauki wybrać kurs video, czy artykuły lub książkę zależy od Twoich preferencji. Zarówno filmy jak i książki dostarczają wartościowej wiedzy. Ważna jest tylko systematyczność w nauce i ułożenie poznawanych tematów we właściwej kolejności. Odpowiednia kolejność ułatwia opanowanie materiału.

Jeśli zdecydujesz się na kurs prowadzony przez trenera, raczej nie ma znaczenia, czy wybierzesz kurs online czy stacjonarny.  Dowiedz się tylko, czy obydwie formy szkolenia prowadzone są w ten sam sposób, a jedyną różnicą jest bezpośredni lub online dostęp do trenera.

Title

Co powinien zawierać dobry kurs z baz danych?

Dobry kurs powinien być oparty o dużą ilość ćwiczeń praktycznych i zawierać dokładnie to, czego akurat szukasz. Tylko wtedy, jeśli w praktyce przećwiczysz każde omawiane przez trenera zapytanie, lepiej je zapamiętasz. Jest to szczególnie ważne, gdy poznajesz złożone zapytania SQL. Podstawy języka są proste, ale elementy takie jak grupowanie, złączenia tabel, czy analiza danych z wykorzystaniem SQL-a wymagają już większej ilości ćwiczeń, aby poczuć się komfortowo w tym obszarze.

Dobrze zorganizowany kurs omawia pełen etap przetwarzania danych za pomocą kodu, od analizy surowych danych, poprzez ich odczytywanie, modyfikowanie i agregowanie, po zaawansowane techniki przekształcania danych w wartościowe informacje.

Tabele i inne obiekty baz danych – jak zacząć efektywną pracę z danymi?

Rozpoczęcie efektywnej pracy z danymi w bazach danych wymaga zrozumienia, w jaki sposób dane przechowywane są w bazie oraz poznania składni języka SQL.

Podstawowym obiektem w bazie jest tabela. Tabele składają się z wierszy i kolumn. Kolumny określają typy danych, które będziemy w nich przechowywać np. liczby, daty, teksty, a wiersze reprezentują konkretne rekordy.

Oprócz tabel, w bazach danych istnieją również inne obiekty, takie jak widoki, indeksy czy procedury składowane. Widoki to zapisane w bazie zapytania, które w wyniku zwracają tabelę. Indeksy to obiekty, które służą np. do przyspieszenia wykonywania zapytań, a procedury składowane to przygotowany kod, którego możemy wielokrotnie używać.

Na początek najważniejsze jest poznanie tabel i kilku podstawowych poleceń.

SELECT, CREATE, UPDATE i DELETE – pobieranie danych z baz i modyfikowanie baz danych

Podstawowe instrukcje języka SQL, takie jak SELECT, CREATE, UPDATEDELETE, pełnią kluczową rolę w pobieraniu danych z baz oraz modyfikowaniu ich zawartości:

  • instrukcja SELECT służy do pobierania danych — wskazujemy w niej kolumny, które chcemy otrzymać w wyniku
  • instrukcja CREATE pozwala na tworzenie obiektów, takich jak tabele, indeksy czy widoki
  • instrukcja UPDATE umożliwia modyfikowanie informacji w tabelach
  • instrukcja DELETE umożliwia usuwanie danych z tabel.

W pierwszym etapie nauki najważniejsze jest poznanie poniższej instrukcji SELECT:

SELECT LastName, COUNT(*) AS LiczbaAdresow
FROM [Person].[EmailAddress] a
JOIN Person.Person b
ON a.BusinessEntityID = b.BusinessEntityID
WHERE a.BusinessEntityID < 100
GROUP BY LastName
HAVING COUNT(*) > 2
ORDER BY LastName;

Działanie poszczególnych klauzul:

SELECT – wskazujemy kolumny, które chcemy otrzymać w wyniku

FROM – wskazujemy tabelę, z której mają zostać odczytane dane

JOIN – wskazujemy nazwę tabeli, którą chcemy dołączyć

ON – wskazujemy kolumny, według których będziemy dokonywać złączenia

WHERE – filtr dla wybieranych wierszy

GROUP BY – wskazujemy kolumny, według których ma się odbywać grupowanie

HAVING – filtr dla wybieranych grup

ORDER BY – wskazujemy kolumny, według których ma się odbywać sortowanie

W kolejnych etapach nauki możesz zapoznać się z następującymi tematami:

  • podzapytania
  • funkcje analityczne (funkcje okienkowe)
  • wyrażenia CTE
  • prosta optymalizacja zapytań – jak pisać zapytania, aby działały szybko

Czy SQL jest przydatny w obszarze Data Science?

Głównym językiem używanym w obszarze Data Science jest Python. Jednak znajomość SQL jest bardzo przydatna, jeśli planujesz zajmować się analizą danych.

W obszarze Data Science często używamy biblioteki Pandas, za pomocą której możemy np. przygotowywać wizualizacje. Nauczenie się tej biblioteki jest trochę łatwiejsze, jeśli znamy SQL.

Zwykle wstępnie przetwarzamy dane w bazie i wybieramy tylko te informacje, które są nam potrzebne.  Dopiero w drugim kroku importujemy je do biblioteki Pandas, aby wykonać bardziej zaawansowane analizy.

Pandas przetwarza dane w pamięci RAM. Nie możemy przetwarzać większej ilości danych niż ta, którą jesteśmy w stanie wczytać do RAM.

Kilka dobrych praktyk pisania kodu SQL

Dobre praktyki pisania kodu SQL są ważne dla utrzymania czytelności zapytań i ich łatwiejszego pisania. Oto kilka zaleceń, które warto wziąć pod uwagę:

  • umieszczaj każdą instrukcję SQL w osobnej linii
  • stosuj jednolite wcięcia, aby zaznaczyć hierarchię poleceń
  • nadawaj zrozumiałe i opisowe nazwy dla tabel i kolumn
  • nie używaj spacji w nazwach kolumn
  • wybieraj tylko te kolumny, które są potrzebne
  • sprawdzaj wyniki zapytania
  • umieszczaj średnik na końcu zapytania – wówczas każdy (łącznie z serwerem) wie, że zapytanie zostało skończone.

Stosowanie tych praktyk ułatwia czytanie kodu i współpracę nad zapytaniami.

Paula Gajewska
Paula Gajewska
Programistka Python, SQL
Udostępnij wpis:udostępnij Facebookudostępnij Linkedinudostępnij e-mail

Polecane