Dizajniranje i Implementacija Tabela

Modul 1 - Lekcija 2

Ekspertski vodič kroz normalizaciju, storage engine i fizičku implementaciju

⏱️ Trajanje: ~4 časa | 📚 Nivo: Srednji do Napredni | 🎯 Praktični primjeri: 8

📖 Uvod u Arhitekturu Skladišta

Tabela je fizički prikaz logičkog modela koji direktno utiče na to kako SQL Server Storage Engine zapisuje podatke na disk (8KB pages).

Ključno Razumijevanje:

Pravilan dizajn je jedini način da osigurate linearnu skalabilnost vaše aplikacije.

📖 Pogledaj Detaljno Objašnjenje →

📐 Normalizacija: 1NF, 2NF, 3NF

Normalizacija je formalni matematički proces kojim se podaci dekomponuju u manje tabele kako bi se eliminisale anomalije pri ažuriranju.

1NF - Atomarnost:

  • ✅ Svaka ćelija mora sadržavati samo jednu vrijednost
  • ✅ Jedinstveni redovi (Primary Key)
  • ✅ Bez ponavljajućih grupa

2NF - Potpuna Funkcionalna Zavisnost:

Svaka ne-ključna kolona zavisi od CIJELOG primarnog ključa (relevantno za kompozitne ključeve).

3NF - Bez Tranzitivnih Zavisnosti:

Ne-ključna kolona ne smije zavisiti od druge ne-ključne kolone.

📖 Pogledaj Detaljno Objašnjenje →

🎯 Praktični Primjeri Normalizacije

Transformacija od nenormalizovane tabele do pravilno normalizovane baze podataka.

Problemi Nenormalizovane Tabele:

  • ❌ Duplikacija podataka
  • ❌ Anomalije ažuriranja
  • ❌ Anomalije brisanja
  • ❌ Anomalije umetanja
  • ❌ Nedosljednost podataka

Rješenje: Dekompozicija u multiple tabele (Employees, Departments, Projects, Reports, ReportData) sa proper foreign keys.

📖 Pogledaj Detaljno Objašnjenje →

📊 Data Types Internals

Razumijevanje internih mehanizama data types direktno utiče na performanse i storage efficiency.

Ključni Koncepti:

  • 💾 Storage Size - Koliko prostora zauzima tip
  • Performance Impact - Kako tip utiče na brzinu upita
  • 🔢 Precision & Scale - Za numeričke tipove
  • 📝 Character Sets - NVARCHAR vs VARCHAR
📖 Pogledaj Detaljno Objašnjenje →

📁 Napredni rad sa Shemama

Schemas (shemas) su logički kontejneri za organizaciju database objekata.

Prednosti Korištenja Schemas:

  • ✅ Organizacija objekata po funkcionalnosti
  • ✅ Sigurnost - permisije na schema nivou
  • ✅ Čitljivost - jasna struktura baze
  • ✅ Namespace management

Primjer: Stats.Reports, Stats.Projects, Stats.Employees, Stats.Departments

📖 Pogledaj Detaljno Objašnjenje →

⚙️ Ispod haube: INSERT Internals

Šta se dešava kada izvršite INSERT naredbu?

Proces INSERT-a:

  1. Provjera constraints (CHECK, FOREIGN KEY, UNIQUE)
  2. Alokacija stranice (page) u buffer pool-u
  3. Zapisivanje u transaction log
  4. Fizičko zapisivanje na disk (lazy write)
  5. Update indeksa (ako postoje)
📖 Pogledaj Detaljno Objašnjenje →

✅ Zaključak

U ovoj lekciji ste naučili:

  • ✅ Arhitekturu SQL Server Storage Engine-a
  • ✅ Normalizaciju (1NF, 2NF, 3NF) i zašto je važna
  • ✅ Praktične primjere normalizacije
  • ✅ Data types internals i storage implications
  • ✅ Korištenje schemas za organizaciju
  • ✅ Interni mehanizmi INSERT operacije
📖 Pogledaj Detaljno Objašnjenje →