Klasa 4 · rozdział 1
Baza danych i SZBD. Do czego służy MySQL
Zanim klikniesz w phpMyAdmin, musisz wiedzieć, czym zarządzasz. Baza to uporządkowane dane. SZBD to program, który ich pilnuje. MySQL jest takim programem — serwerem, nie plikiem na pulpicie.
Po tym rozdziale powinieneś umieć
- odróżnić dane od informacji oraz bazę danych od SZBD;
- powiedzieć, czemu sklep internetowy nie trzyma zamówień w Excelu;
- opisać architekturę klient–serwer: kto wysyła SQL, kto go wykonuje;
- wskazać port
3306i przykłady klientów (phpMyAdmin, konsola, PHP); - wymienić zadania SZBD: integralność, współbieżność, bezpieczeństwo, odtwarzanie.
1. Dane, informacja, baza i SZBD
Te cztery słowa mieszają się w potocznej mowie. Na egzaminie i na lekcji każde ma inne znaczenie. Pojęcia są też w słowniczku.
42, Kowalski, 2026-09-08.
Same z siebie nic nie „mówią”.
Gdy dane leżą w powiązanych tabelach, mówimy o RDBMS (relacyjny SZBD). Przykłady: MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server. Na tych zajęciach i na INF.03 obowiązuje MySQL / MariaDB.
2. Baza danych a tradycyjny plik
Eksperyment myślowy z lekcji: sklep z 100 000 produktów i 10 000 klientów na jednym arkuszu Excel na dysku sieciowym. Co pęka?
| Cecha | Plik płaski (Excel / CSV) | Serwerowy SZBD (MySQL) |
|---|---|---|
| Wielu użytkowników naraz | Zapis często blokuje cały plik. Łatwo nadpisać cudzą pracę. | Blokady na poziomie wierszy. Tysiące zapytań naraz. |
| Spójność danych | Można wpisać tekst w pole ceny albo ujemny wiek. | Typy, klucze i reguły — serwer odrzuca zły wpis. |
| Uprawnienia | Dostęp do pliku = wgląd we wszystko (pensje, PESEL). | Konto może czytać jedną tabelę albo tylko wybrane kolumny. |
| Wyszukiwanie | Przegląd linijka po linijce, duży koszt przy rozroście pliku. | Indeksy i optymalizator — wynik w milisekundach. |
| Awaria (prąd, crash) | Zapis w połowie psuje plik. | Dziennik transakcji: baza wraca do stanu spójnego (ACID). |
3. Architektura klient–serwer w MySQL
Silnik bazy i program, w którym klikasz, to dwie osobne aplikacje.
Łączą się przez sieć, nawet gdy obie działają na tym samym komputerze
(localhost).
phpMyAdmin
Interfejs w przeglądarce. Klient napisany w PHP.
Konsola mysql
Klient tekstowy. Wysyła to samo SQL.
Aplikacja WWW
Skrypt PHP / PDO — też tylko klient.
↓ protokół TCP/IP · port 3306 · zapytanie SQL / wynik ↓
Serwer SZBD — usługa mysqld / MariaDB
Logowanie, uprawnienia, optymalizacja SQL, blokady, transakcje, bufor w RAM.
↓ odczyt i zapis na dysku ↓
Pliki bazy na serwerze
Struktura tabel, dane (.ibd), dziennik. Tego nie otwierasz w Notatniku.
Serwer (mysqld)
Usługa w tle. Nasłuchuje na porcie — domyślnie 3306. Przyjmuje SQL, sprawdza, kto pyta, wykonuje polecenie, odsyła wiersze albo błąd.
Klient
Program, który się łączy, wysyła polecenie i odbiera wynik (tzw. result set) albo komunikat. Sam z siebie nic nie trzyma na dysku serwera.
4. Główne zadania SZBD
Serwer nie jest „lepszym Excelem”. Ma obowiązki, których plik nie ma.
-
Definiowanie struktury (DDL) — tworzenie i zmiana baz, tabel, powiązań
(
CREATE,ALTER,DROP). Język definicji danych. -
Manipulowanie danymi (DML) — wstawianie, zmiana, usuwanie, wyszukiwanie
(
INSERT,UPDATE,DELETE,SELECT). - Integralność — typy, unikalne identyfikatory, powiązania między tabelami. Nie usuniesz klienta, jeśli wiszą na nim niezrealizowane zamówienia (gdy tak zdefiniujesz regułę).
- Współbieżność — wielu użytkowników naraz bez popsucia danych i bez „zgubionego zapisu”.
- Bezpieczeństwo — kto to jest i co mu wolno (konto tylko do odczytu raportów).
- Odtwarzanie po awarii — dziennik transakcji, powrót do stanu spójnego po zaniku zasilania.
CREATE TABLE i SELECT
ćwiczysz później, w dziale tabel. Dziś: co robi serwer, nie jak zapisać całe zapytanie.
5. Do czego służy MySQL na tych zajęciach
MySQL (w XAMPP często jako MariaDB — zgodny silnik) to relacyjny SZBD o otwartym kodzie. Jest standardem w stosie LAMP/WAMP: Linux/Windows + Apache + MySQL + PHP. Arkusz INF.03 zakłada właśnie to środowisko.
- Na BD projektujesz tabele, klucze, zapytania i kopie.
- Na PAI skrypt PHP łączy się z gotową bazą (PDO, host
localhost, port 3306). - Nie oceniamy tu projektu E/R na PAI — baza ma być używalna z aplikacji.
- Usługa serwera (
mysqld) — przetwarza SQL. - Klient (phpMyAdmin albo konsola) — Ty wysyłasz polecenia.
- Opcjonalnie później: plik
.sqljako skrypt struktury, nie jako „baza w Notatniku”.
Ćwiczenia do samodzielnego wykonania
W tym rozdziale nie musisz jeszcze klikać w phpMyAdmin (to rozdział 2). Odpowiedzi zapisuj w zeszycie własnymi słowami.
Ćwiczenie 1. Cztery definicje łatwe
W czterech zdaniach zdefiniuj: dane, informację, bazę danych, SZBD. W każdym zdaniu podaj krótki przykład ze szkoły albo sklepu.
Ćwiczenie 2. Co jest klientem? łatwe
Zaznacz, co jest klientem, a co serwerem: phpMyAdmin, mysqld,
konsola mysql, skrypt PHP z PDO, plik .ibd na dysku.
Ćwiczenie 3. Port i protokół łatwe
Zapisz: domyślny port MySQL, co oznacza localhost,
i czy połączenie z phpMyAdmin na tym samym PC nadal jest „sieciowe”.
Ćwiczenie 4. Excel w przychodni średnie
Rejestracja wizyt u lekarza w arkuszu na dysku współdzielonym. Podaj trzy reguły, które powinien wymusić SZBD (np. dwa zapisy na tę samą godzinę, litera w dacie, wgląd w PESEL wszystkich pacjentów).
Ćwiczenie 5. phpMyAdmin to nie silnik średnie
Dwa akapity: (1) czym phpMyAdmin jest; (2) czego sam nigdy nie robi (przechowywanie tabel, nasłuch na 3306, transakcje). Nie kopiuj definicji z rozdziału 1:1.
Ćwiczenie 6. Utracona modyfikacja trudne
Wypożyczalnia aut: dwoje pracowników w tej samej sekundzie rezerwuje ten sam samochód w Excelu. Opisz, co może pójść nie tak (overbooking) i którą cechą SZBD ten problem się ogranicza. Możesz porównać MySQL z SQLite albo PostgreSQL jednym zdaniem — na ocenę celującą.
Sprawdź się
Wymagania na ocenę
Ocena wyższa zawiera wymagania na oceny niższe. Rozdział 1 wchodzi w dział 1 (organizacja i SZBD) — razem z rozdziałem 2.
| Ocena | Uczeń |
|---|---|
| 2 | Zna ogólne pojęcie bazy danych. Wymienia nazwę MySQL. Podaje jeden przykład zastosowania. |
| 3 | Rozróżnia bazę danych i SZBD. Wyjaśnia, do czego służy MySQL. Wymienia przynajmniej dwa zadania SZBD. |
| 4 | Wyjaśnia, czemu wielu użytkowników wymaga SZBD. Opisuje klient–serwer: kto wysyła SQL, kto przetwarza dane. |
| 5 | Charakteryzuje stanowisko: usługa MySQL/MariaDB w tle, klienty graficzne i konsolowe. Opisuje integralność i transakcyjność na poziomie logicznym. |
| 6 | Porównuje MySQL z innym rozwiązaniem (np. PostgreSQL, SQLite). Omawia skutek braku kontroli współbieżności (utracona modyfikacja) na przykładzie biznesowym. |