Koncepti vezani za rad sa bazama podataka
Completion requirements
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
- Kreiranje baze podataka – Napraviti bazu Škola sa tabelom Ucenici (5 minuta).
- Konektovani pristup – Napisati jednostavan SQL upit za prikaz svih učenika (5 minuta).
- Diskonektovani pristup – Koristiti DataSet i DataTable za prikaz podataka (5 minuta).
- Poređenje – Diskusija o tome koji pristup je pogodniji za različite situacije (5 minuta).
Last modified: Thursday, 27 March 2025, 8:33 AM