Cilj časa: Upoznati učenike sa konektovanim i diskonektovanim pristupom bazi podataka, objasniti njihove razlike, prednosti i mane, te omogućiti učenicima da kroz primere i vežbe steknu praktično znanje.


1. Uvod

Pristup bazi podataka može biti:

  • Konektovani (connected) pristup – Klijent (aplikacija) je stalno povezan sa bazom podataka dok traje rad direktna komunikacija sa bazom (SqlConnection, SqlCommand, SqlDataReader).
  • Diskonektovani (disconnected) pristup – Klijent preuzima podatke, prekida vezu sa bazom, obrađuje podatke lokalno, a zatim ih ponovo sinhronizuje – podaci se preuzimaju i obrađuju lokalno (DataSet, DataAdapter).

2. Konektovani pristup bazi podataka

Osnovne karakteristike:

  • Stalna veza sa bazom podataka.
  • Aplikacija odmah vidi izmene u podacima.
  • Pogodan za sisteme sa čestim promenama podataka.

Prednosti:

✔ Brza i trenutna obrada podataka. ✔ Nema potrebe za kasnijom sinhronizacijom. ✔ Pogodan za transakcione sisteme (banke, e-trgovinu).

Mane:

✖ Opterećenje servera ako ima mnogo korisnika. ✖ Moguće sporije izvršavanje kada je mreža zagušena.

Primer konektovanog pristupa (SQL upit u C#)

  SqlConnection konekcija = new SqlConnection("connection_string");
  konekcija.Open();
  SqlCommand komanda = new SqlCommand("SELECT * FROM Ucenici", konekcija);
  SqlDataReader citac = komanda.ExecuteReader();
  while (citac.Read()) {
     Console.WriteLine(citac["Ime"].ToString());
  }
  konekcija.Close();

3. Diskonektovani pristup bazi podataka

Osnovne karakteristike:

  • Podaci se preuzimaju i obrađuju lokalno.
  • Veza sa bazom se prekida nakon preuzimanja podataka.
  • Pogodan za rad sa velikim brojem korisnika.

Prednosti:

✔ Manje opterećenje servera jer nema stalne veze. ✔ Pogodan za offline rad (mobilne aplikacije, izveštaji). ✔ Veća skalabilnost.

Mane:

✖ Podaci nisu ažurirani u realnom vremenu. ✖ Potrebna sinhronizacija pre unosa novih podataka.

Primer diskonektovanog pristupa sa DataSet (C#)

  SqlConnection konekcija = new SqlConnection("connection_string");
  SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Ucenici", konekcija);
  DataSet ds = new DataSet();
  adapter.Fill(ds, "Ucenici");
  foreach (DataRow red in ds.Tables["Ucenici"].Rows) {
     Console.WriteLine(red["Ime"].ToString());
  }

Primer diskonektovanog pristupa bez DataSet (C# sa DataTable)

  SqlConnection konekcija = new SqlConnection("connection_string");
  SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Ucenici", konekcija);
  DataTable tabela = new DataTable();
  adapter.Fill(tabela);
  foreach (DataRow red in tabela.Rows) {
      Console.WriteLine(red["Ime"].ToString());
  }

4. Praktične vežbe za učenike

  1. Kreiranje baze podataka – Napraviti bazu Škola sa tabelom Ucenici (5 minuta).
  2. Konektovani pristup – Napisati jednostavan SQL upit za prikaz svih učenika (5 minuta).
  3. Diskonektovani pristup – Koristiti DataSet i DataTable za prikaz podataka (5 minuta).
  4. Poređenje – Diskusija o tome koji pristup je pogodniji za različite situacije (5 minuta).


Last modified: Thursday, 27 March 2025, 8:33 AM