Klijent-server arhitektura
Klijent-server arhitektura MySQL-a
MySQL radi kao server proces na portu 3306. Klijent (Workbench, phpMyAdmin, PHP PDO) šalje SQL preko TCP ili socket-a; server izvršava upit i vraća rezultat.
U hotel_db scenariju PHP aplikacija na web serveru je klijent — nikada ne čita datoteke baze direktno. Više klijenata istovremeno pristupa istim tabelama gosti i rezervacije. U hotel_db recepcija, finansije i housekeeping rade nad istim tabelama gosti, sobe, rezervacije, placanja i zaposleni — svaka izmena mora ostati konzistentna za sve module aplikacije.
Detaljnije
Autentifikacija: korisnik, lozinka, privilegije po bazi i tabeli. Root nalog samo za administraciju; aplikacija koristi ograničen nalog sa SELECT/INSERT/UPDATE/DELETE na hotel_db. Pre produkcije u Workbench-u izvršite primer SQL-a na test podacima, proverite EXPLAIN kad tabela naraste i dokumentujte očekivani rezultat za kolegu koji održava sistem.
Ključne tačke
- Server čuva podatke i izvršava SQL. — primer iz hotel_db.
- Klijent prikazuje rezultate. — primer iz hotel_db.
- Podrazumevani port 3306. — primer iz hotel_db.
- Odvojeni korisnici po aplikaciji. — primer iz hotel_db.
- Nema direktnog pristupa fajlovima baze. — primer iz hotel_db.
Primer u praksi
Povezivanje iz terminala.
mysql -h localhost -u root -pČesta greška
Koristiti root nalog u PHP aplikaciji jer je lakše. Tipična posledica: neusklađeni podaci između recepcije i finansija, gubitak rezervacija ili nemogućnost check-in-a u vrhu sezone — uvek backup pre DDL/DML u produkciji.
Rezime
Razumevanje klijent-server modela je osnova sigurnog rada sa hotel_db. Vežbajte ponovo na hotel_db dok možete objasniti svaki red rezultata i povezati ga sa poslovnim procesom hotela (check-in, naplata, izveštaj).
Napomena: Savet: držite verzionisane .sql skripte (hotel_schema.sql, seed.sql) u Git repozitorijumu — reproducibilnost je ključna kad više ljudi radi na istom hotel_db modelu.
Model na papiru
Nacrtajte entitete i veze pre SQL-a. Označite PK/FK i kardinalnost. Tek onda pišite CREATE TABLE.
