Zdravo!

BrainTech - softverska rešenja, web dizajn i aplikacije.

Kontakt

Modul 1 – Šta je baza podataka Lekcija

Relacione baze

Relaciona baza podataka

Relaciona baza deli podatke u tabele povezane ključevima. Umesto jedne ogromne tabele sa dupliranim podacima, hotel_db ima gosti, sobe, rezervacije i placanja — svaka sa jasnom ulogom.

Veze između tabela grade se preko primarnih i stranih ključeva. Rezervacija referencira gost_id i soba_id umesto da kopira ime gosta i broj sobe u svaki red. 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

Normalizacija smanjuje redundantne podatke i anomalije pri izmeni. SQL JOIN spaja tabele kada aplikacija treba kompletan prikaz — npr. gost sa svim rezervacijama. 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

  • Svaka tabela ima jednu ulogu. — primer iz hotel_db.
  • PK jednoznačno identifikuje red. — primer iz hotel_db.
  • FK povezuje tabele. — primer iz hotel_db.
  • JOIN spaja podatke pri čitanju. — primer iz hotel_db.
  • Model prati poslovni proces hotela. — primer iz hotel_db.

Primer u praksi

JOIN gosti i rezervacije.

SELECT g.ime, r.datum_od
        FROM gosti g
        JOIN rezervacije r ON r.gost_id = g.id;

Česta greška

Držati sve u jednoj tabeli jer je “lakše na početku”. 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

Relacioni model je temelj hotel_db i svake ozbiljne aplikacije. 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.

Vežba u Workbench-u

Prepišite SQL primer iz lekcije u novi query tab, prilagodite imena tabela i pokrenite. Posmatrajte plan u EXPLAIN kad upit koristi JOIN.

Design Wireframe
High Fidelity Design
Design development
Design development
Design development
Research development