Nawet z małą liczbą danych potrzebnych do ćwiczeń udało nam się stworzyć pokaźną i różnorodną ilość zapytań. Chciałbym odsunąć się na chwilę od tworzenia kolejnych zapytań i porozmawiać o tym kto i w jakim celu wykonuje zapytania.
Wyobraźmy sobie, że mamy aplikację do ćwiczeń z której korzysta wielu użytkowników, przechowujemy w niej dzienniki ćwiczeń użytkowników. Aplikacja pozwala wprowadzać informacje o ćwiczeniach użytkowników i wyświetla postęp w panelu użytkownika:
Wizualizacja strony internetowej z wykresem obrazującym postęp w ćwiczeniach i formularzem pozwalającym wprowadzić nowe ćwiczenia.
W takiej aplikacji, kilka osób będzie chciało korzystać z zapytań SQL:
Inżynierowie oprogramowania:
To oni budują zaplecze strony (część serwerową) i frontend (HTML/CSS i JS, który tworzy strony i formularze). Inżynierowie oprogramowania komunikują się z bazą przechowującą wszystkie dane po stronie serwera za pomocą SQL. Muszą wiedzieć jak wykonać zapytania potrzebne do obsługi frontendu. Na przykład, jeśli użytkownik po zalogowaniu miałby widzieć ile ćwiczył danego dnia, inżynier musiałby wiedzieć jak użyć zapytania SELECT filtrowanego datą i użytkownikiem. Inżynier musiałby wiedzieć jak wstawiać i zmieniać dane (omówimy to później)
Naukowcy analizujący dane:
Zajmują się analizą danych, starają się dowiedzieć jak najwięcej o użytkownikach, być może starają się wymyśleć w jaki sposób można zachęcić użytkowników do ćwiczeń. Muszą perfekcyjnie rozumieć polecenie SELECT, ponieważ będą z nich korzystać w wielu skomplikowanych zapytaniach, aby dobrze analizować dany obiekt zainteresowań. Na przykład, mogą korzystać z polecenia SELECT, aby sprawdzić jaki procent użytkowników byłoby skłonnych do częstych ćwiczeń, gdyby zaczynaliby ćwiczenia rano, mogliby użyć CASE i GROUP BY.
Kadra zarządzająca produktem:
Oni decydują w firmie, ludzie analizujący dane, rozmawiający z użytkownikami, patrzący na rynek i starający się zrozumieć jak usprawnić swój produkt, aby przyciągnąć nowych użytkowników, uszczęśliwić obecnych użytkowników lub zarobić więcej pieniędzy. Często muszą rozumieć zapytania SQL, aby porównać statystyki i zrozumieć która część produktu jest używana najczęściej, która jest używana w dziwny sposób i która nie jest w ogóle używana. Mogliby użyć SELECT, aby sprawdzić jak wielu użytkowników korzysta z pola "heart_rate", jeśli zastanawialiby się nad usunięciem go.
Te osoby pracują dla tej samej firmy, więc mogą, a nawet powinny dzielić się swoją wiedzą o sposobach korzystania z baz danych SQL. Nie każdy musi być ekspertem SQL, ale z mojego doświadczenia wynika, że wiele osób w firmie może wiele zyskać przez zrozumienie podstaw SQL, a niektórzy mogą chcieć nauczyć się wielu zaawansowanych funkcjonalności, gdy tylko się wdrożą.
Pamiętając o tym, przejdź dalej, aby nauczyć się nowych zaawansowanych funkcjonalności...!