INF.03 · Bazy danych i SQL

SZBD: kto naprawdę pracuje, gdy klikasz „Wykonaj”?

Kiedy w XAMPP-ie klikasz w phpMyAdmin, wydaje się, że to phpMyAdmin przechowuje i przetwarza dane. Tymczasem to tylko nakładka. Prawdziwą pracę wykonuje w tle serwer bazy danych, czyli system zarządzania bazą danych (SZBD, po angielsku DBMS). Zrozumienie tego podziału ratuje przed wieloma pomyłkami.

  • około 30 minut
  • DBMS · SQL · phpMyAdmin
  • MariaDB, SQLite, PostgreSQL, SQL Server

Po tej lekcji: wyjaśnisz, czym jest SZBD i co robi, odróżnisz SQL od SZBD i phpMyAdmin oraz dobierzesz system do zastosowania.

1 · Siedem zadań

Bibliotekarz Twoich danych

SZBD stoi między Twoim poleceniem SQL a plikami z danymi na dysku. Można go porównać do bibliotekarza: sam nie znajdziesz bezpiecznie jednej książki wśród miliona pozycji, a bibliotekarz wie, gdzie czego szukać.

Przechowywanie

Zapisuje dane w uporządkowanych strukturach na dysku.

Dostęp do danych

Obsługuje polecenia INSERT, SELECT, UPDATE, DELETE.

Bezpieczeństwo

Pilnuje, kto może co zrobić (konta i uprawnienia).

Integralność

Pilnuje więzów: kluczy, NOT NULL, CHECK.

Wielodostępność

Wielu użytkowników pracuje naraz i nie psuje sobie nawzajem danych.

Kopie zapasowe

Pozwala odtworzyć dane po awarii.

Optymalizacja

Przyspiesza zapytania, na przykład przez indeksy.

2 · Zobacz architekturę

Co dzieje się po kliknięciu „Wykonaj”?

Przejdź krok po kroku przez warstwy lokalnego środowiska. Zwróć uwagę, które elementy przetwarzają dane, a które tylko je pokazują.

Ta interakcja wymaga włączonego JavaScriptu.

Gdy zatrzymasz w XAMPP-ie samą usługę MySQL, strona phpMyAdmin nadal się otworzy, ale połączenia z bazą już nie będzie. Wtedy widzisz, że phpMyAdmin i SZBD to dwa osobne programy.

3 · Wybór systemu

Który system pasuje do zastosowania?

SQL jest w dużej mierze wspólny, ale każdy SZBD ma swoje niuanse i swoje miejsce. Dobierz system do pięciu sytuacji.

Ta interakcja wymaga włączonego JavaScriptu.

4 · Poznaj środowisko

Trzy polecenia, które sprawdzają, z czym pracujesz

Te polecenia nie służą do pracy z danymi, jak SELECT czy INSERT. To polecenia administracyjne konkretnego SZBD. Uruchamiasz je, żeby rozpoznać środowisko, zanim cokolwiek stworzysz.

srodowisko.sqlsql
SELECT VERSION();      -- wersja serwera, np. 10.4.32-MariaDB
SHOW DATABASES;        -- lista baz na serwerze
SELECT DATABASE();     -- baza, w której teraz pracujesz
  1. SELECT VERSION(); potwierdza, że serwer działa, i podaje jego wersję oraz rodzaj (MariaDB czy MySQL).
  2. SHOW DATABASES; pokazuje bazy dostępne w tej instalacji. To polecenie nie istnieje w każdym SZBD.
  3. SELECT DATABASE(); pokazuje aktywną bazę. Gdy zwróci NULL, najpierw użyj USE nazwa_bazy;.

5 · Zanim się pomylisz

Trzy pomyłki pojęciowe

Rozwiń każdą z nich.

SQL to to samo co SZBD
Tak nie
„Zainstalowałem SQL.”

SQL to język zapytań, a nie program. Programem, który ten język wykonuje, jest SZBD (na przykład MariaDB).

Tak
„Zainstalowałem serwer MariaDB (SZBD), w którym piszę zapytania w języku SQL.”

SQL jest w dużej mierze wspólny, ale każdy SZBD ma swoje rozszerzenia.

phpMyAdmin to baza danych
Tak nie
„Baza jest w phpMyAdmin.”

phpMyAdmin to tylko graficzna nakładka. Gdy serwer bazy nie działa, nie otworzysz żadnych danych.

Tak
„Dane przechowuje MariaDB, a phpMyAdmin pozwala nimi zarządzać w przeglądarce.”

Odróżniaj narzędzie klienckie od serwera bazy.

Wybór SZBD „bo tak”
Tak nie
Pełny serwer MySQL do aplikacji z jedną tabelą notatek na telefonie.

Niepotrzebnie złożone i ciężkie. Użytkownik musiałby utrzymywać serwer.

Tak
SQLite: jeden plik w aplikacji, bez serwera.

Dobieraj system do kontekstu: ile użytkowników, czy potrzebny serwer, czy są licencje.

6 · Sprawdź sam siebie

Co warto umieć o SZBD

To osobny efekt kształcenia: korzystanie z systemów zarządzania bazami danych. Na egzaminie może pojawić się pytanie o rozpoznanie funkcji SZBD albo dobór odpowiedniego systemu do zastosowania.

Podsumowanie

Co warto zapamiętać

  1. SZBD przechowuje dane, wykonuje SQL, pilnuje uprawnień, więzów i kopii zapasowych.
  2. SQL to język, SZBD to program, phpMyAdmin to nakładka graficzna.
  3. W XAMPP-ie pracę wykonuje MariaDB lub MySQL.
  4. SQLite to lekka baza w pliku, PostgreSQL to zaawansowany system darmowy, SQL Server to komercyjny system Microsoftu.
  5. Dobieraj SZBD do zastosowania.

Dalej na swoim koncie

Rozgrzewki, quiz i zadania są w biurku ucznia.

Teoria jest otwarta dla wszystkich. Żeby rozwiązywać zadania, zapisywać szkice i widzieć swój postęp, zaloguj się.

Zaloguj się →
Źródła i dalsza nauka