Back-endSQLWywiady

SQL w pigułce, czyli jak przetwarzane są dane

Jeżeli kiedykolwiek zdarzyło Ci się korzystać z Netflixa, Facebooka lub jakiegokolwiek portalu, na którym możesz założyć konto – to z dużym prawdopodobieństwem za przetworzeniem Twoich danych stoi właśnie SQL. SQL, czyli Structured Query Language, to język używany przede wszystkim do przeglądania, modyfikacji i zarządzania danymi w relacyjnych bazach danych.

Bardziej obrazowo – wszystkie dane zebrane dotychczas przez system czekają sobie w czeluściach serwera, by w odpowiednim momencie zostać “wywołane” i dopisać nowe informacje o użytkowniku. Niezależnie więc, czy jesteś po stronie backendu czy frontendu – SQL zawsze Cię dopadnie 😉 A żeby ułatwić Ci naukę na samym początku, podpowiadamy, od czego zacząć i po jakie źródła sięgnąć, by tworzenie zapytań było dla Ciebie niemalże intuicyjne:)

Czym w ogóle jest SQL?

Pierwowzorem SQL był język SEQUEL (Structured English Query Language) opracowany w latach 70 XX wieku przez inżynierów z IBM. Głównym założeniem tego języka była łatwość tworzenia zapytań i operacji na zbiorach za pomocą słów kluczowych w języku angielskim. Ze względu na kwestie prawne (okazało się, że właścicielem nazwy SEQUEL jest inna firma), nazwa została skrócona na SQL (Structured Query Language).

Tak czy inaczej, SQL do tej pory pozostaje najpopularniejszym językiem zapytań stosowanym w tworzeniu, zarządzaniu i edycją relacyjnych baz danych. Pozwala bowiem na bardzo szybkie wyciągnięcie odpowiednich informacji nawet z najbardziej skomplikowanych struktur danych. 

Dlaczego warto zainteresować się SQL?

Doroczne badanie Stack Overflow (próba 65.000 deweloperów) potwierdza, że język SQL zajmuje 3 miejsce wśród najpopularniejszych technologii stosowanych przez programistów na całym świecie.

To samo badanie wskazuje również, że bazy oparte na SQL królują wśród najpopularniejszych technologii baz danych. Programiści znacznie częściej wybierają MySQL, PostgreSQL, SQL Server lub SQLite niż inne technologie, jak Elasticsearch czy MongoDB, nazwane zbiorczą nazwą NoSQL (Not Only SQL).

Po co mi to, skoro mam Excela?

W teorii arkusze Excela pomieszczą milion wierszy lub dane wielkości 2GB. A w praktyce? Cóż, spróbuj stworzyć arkusz z danymi większymi niż 50 MB. Gwarantujemy, że wycie wiatraczka w Twoim sprzęcie będzie jednym z najmniejszych Twoich problemów 😉

Najprostsza baza relacyjna w SQL poradzi sobie bez problemu z kilkunastoma gigabajtami danych w jednym pliku. SQL nie tylko pozwala więc na szybkie działanie, ale przede wszystkim oszczędza Twój cenny czas (i nerwy).

Czy SQL jest przestarzały?

Być może przeszło Ci przez myśl, że skoro SQL ma już ponad 50 lat, to może nie nadążyć za dynamicznym rozwojem pozostałych technologii w IT. Jest to jednak języka na tyle uniwersalny, jego standardy od lat pozostają niezmienne i działają równie dobrze jak kiedyś. To “wyjątkowa” sytuacja w świecie IT – ale po co tworzyć koło na nowo i zmieniać coś, co jest dobre? 😉

Zastosowania SQL

1. Web development

Web development to najbardziej popularne zastosowanie baz danych, ponieważ każdy serwis WWW bazuje na danych i dzięki językowi SQL można jest pobierać lub po prostu nimi zarządzać. Aplikacje mobilne również operują na danych i zanim zostaną przesłane do naszego telefonu – wcześniej muszą zostać pobrane z bazy danych – najprawdopodobniej za pomocą SQLa.

2. Analiza danych

Poza Excelem, czy Accessem – SQL jest bardzo sprawnym narzędziem w rękach analityków. Jest wykorzystywany w statystyce, pozwala też na budowanie bardziej zaawansowanych analiz i raportów.

SQL jest również bardzo pomocny w wizualizacji danych i idealnie sprawdzi się do szybkiego tworzenia prototypów, jak i wielopoziomowych dashboardów. 

Tableau, Qlik, PowerBI – profesjonalne narzędzia do wizualizacji danych są używane przez analityków w większości firm. Dzięki zintegrowaniu tych aplikacji z SQLem, można dopasować mapy, grafy i wykresy do konkretnych potrzeb, na przykład uwzględnić tylko pewien zakres danych, porównać obserwacje spełniające konkretny warunek, czy wybrać do wizualizacji tylko te rekordy, które zawierają konkretne słowo.

3. Big Data

Operacje na dużych zbiorach danych, np. za pomocą Apache Hive, w którym można wykonywać zapytania.

4. Data Science

Jak sama nazwa mówi – ta dziedzina opiera się na danych, a SQL jest niezbędny, aby je pobrać, przetworzyć i wyświetlić odpowiedzi – nawet na najbardziej skomplikowane zapytania!

Podstawowe pojęcia związane z SQL

Pozwól, że przedstawimy Ci kilka podstawowych pojęć związanych z SQL, pokażemy, w jaki sposób tworzyć zapytania, a na końcu podpowiemy, po jakie źródła sięgnąć, by poszerzyć wiedzę z tego zakresu.

Zapytanie – pojedyncza instrukcja, która składa się ze słów kluczowych oraz parametrów. Istnieją różne rodzaje zapytań, np. SELECT, INSERT, itd.

Tabela – jest to zbiór wierszy (rekordów) o określonej strukturze. Tabela posiada kolumny, które decydują o strukturze rekordów (kolumny to po prostu pola, z których składają się rekordy).

Przykładowa tabela:

Relacja – to powiązanie między danymi (z tej samej lub z różnych tabel), np. jeżeli posiadamy tabelę Kierowcy i tabelę Autobusy, to połączenie KierowcaX – AutobusY (np. KierowcaX kieruje AutobusemY) jest relacją.

Jak stworzyć zapytanie?

SQL w swojej budowie przypomina język naturalny, którym posługujemy się na co dzień. Znacznie ułatwia to jego naukę, debuggowanie i pisanie złożonych zapytań (komend, które po wykonaniu przez bazę zwrócą jakiś jej podzbiór). 

SELECT jest najpopularniejszym rodzajem zapytania i służy do pobierania danych z bazy. Zapytanie składa się ze słów kluczowych (SELECT, FROM, WHERE, …) oraz parametrów, którymi mogą być kolumny, tabele lub warunki.

Oczywiście poza SELECTem istnieje wiele innych poleceń, a najpopularniejsze z nich to:

INSERT – wprowadzanie danych do bazy

UPDATE – modyfikacja danych w bazie

DELETE – kasowanie danych z bazy

Spójrz na kilka przykładów:

Chcesz znaleźć tytuły filmów, które weszły na ekrany po 2015 roku? Nic prostszego, piszesz: “SELECT title FROM films WHERE release_year > 2015;”, gdzie “films” to nazwa twojej tabeli, a “title” i “release_year” to odpowiednie kolumny.

Potrzebujesz szybko sprawdzić średnią zarobków w zespole? Piszesz: “SELECT AVG(salary) FROM team;”, gdzie AVG() to funkcja zwracająca średnią, “salary” to kolumna wynagrodzeń, a “team” to tabela opisująca zespół.

Zapytania można podzielić na kilka grup:

DML (ang. Data Manipulation Language) – umieszczanie, aktualizowanie lub usuwanie danych z bazy, np. INSERT, UPDATE, DELETE

DDL (ang. Data Definition Language) – operacje na strukturach bazy danych, czyli np. tworzenie lub kasowanie tabel i baz. Przykład polecenia to CREATE lub DROP

DCL (ang. Data Control Language) – nadawanie uprawnień do obiektów baz danych, np. GRANT

DQL (ang. Data Query Language) – pobieranie danych z bazy – do tej grupy należy tylko SELECT

Myślisz o zmianie zawodu i wejściu do świata IT? Sprawdź wieczorowy kurs SQL i przetwarzania danych

Od czego zacząć naukę?

Jeżeli chcesz jak najszybciej zacząć pisać swoje pierwsze zapytania, możesz skorzystać z narzędzi online, które pozwalają na wykonywanie komend w przeglądarce. Z pewnością pomogą Ci one oswoić się z zapytaniami i w praktyce zrozumieć, jak to wszystko działa.

Takimi narzędziami są http://sqlfiddle.com/ lub https://www.db-fiddle.com/ – to narzędzia online, które pozwalają na ćwiczenia z SQLem bez konieczności instalacji bazy danych.

Jeżeli chcesz jednak zainstalować pierwszą bazę danych na swoim komputerze, proponujemy MySQL, ponieważ jest bardzo popularna, łatwa w instalacji, posiada wiele darmowych narzędzi oraz tutoriali.  instalator MySQL “all-in-one” znajdziesz tutaj: MySQL Installer

Inną opcją jest SQL Server – zarządzanie tą bazą jest również bardzo proste dzięki Microsoft SQL Server Management Studio, w którym wiele zapytań możesz wyklikać, a następnie obejrzeć ich składnię.

Aby przećwiczyć zapytania, skorzystaj z poniższych propozycji:

✅ Jeżeli lubisz czytać, sięgnij po poniższe pozycje:

  • A. DeBarros “Praktyczny SQL. Opowiadanie historii poprzez dane. Przewodnik dla początkujących“ 
  • D. Mendrala “SQL. Praktyczny kurs” 

✅ Jeżeli chcesz przećwiczyć tworzenie zapytań, możesz:

Jeżeli chcesz posłuchać ekspertów z branży, obejrzyj webinar z trenerami infoShare Academy: Michałem Giergielewiczem i Piotrem Kątnym

A jeżeli lubisz naukę przez praktykę, idealnym rozwiązaniem dla Ciebie będzie 

udział w wieczorowym kursie SQL i przetwarzania danych w infoShare Academy, gdzie nauczysz się tego języka pod okiem trenera, podczas zdalnych zajęć na żywo.

Back to top button