Zdravo!

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

Kontakt

Modul 1 – Šta je baza podataka Lekcija

Kako razmišljati kao projektant baze

Razmišljanje projektanta baze

Pre CREATE TABLE odgovorite: koje entitete imam, kako su povezani i koje operacije aplikacija najčešće radi? Za hotel: pretraga slobodnih soba, check-in, fakturisanje, izveštaj zaposlenih.

Identifikujte entitete iz poslovnog procesa — gost, soba, rezervacija, plaćanje, zaposleni. Atribut pripada entitetu samo ako opisuje baš njega, ne susedni entitet. 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

Razmislite o upitima unapred — indeksi i veze prate upotrebu. ER dijagram je živ dokument; evolucija je normalna uz migracije, ne ad-hoc izmene u produkciji. 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

  • Entiteti iz poslovnog procesa. — primer iz hotel_db.
  • Atributi bez dupliranja. — primer iz hotel_db.
  • Upiti definišu indekse. — primer iz hotel_db.
  • ER pre SQL implementacije. — primer iz hotel_db.
  • Migracije umesto ručnih ALTER u panici. — primer iz hotel_db.

Česta greška

Početi sa CREATE TABLE bez modela jer “ćemo kasnije srediti”. 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

Dobar model hotel_db štedi mesece refaktorisanja u produkciji. 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