180 likes | 348 Views
IVAN KRCATOVIĆ. UGRADBENE BAZE PODATAKA. Baze podataka. Jedna od mogućih definicija baze podataka glasi da je to zbirka zapisa pohranjenih u računalu na sustavni način, takav da joj se računalni program može obratiti prilikom odgovaranja na problem.
E N D
IVAN KRCATOVIĆ UGRADBENE BAZE PODATAKA
Baze podataka • Jedna od mogućih definicija baze podataka glasi da je to zbirka zapisa pohranjenih u računalu na sustavni način, takav da joj se računalni program može obratiti prilikom odgovaranja na problem. • Naziv baza podataka se strogo govoreći odnosi na zbirku zapisa, a na softver bi se trebalo odnositi kao na sustav upravljanja bazom podataka ili SUBP.
UGRADBENE BAZE PODATAKA • Ugradbene baze podataka koriste se prvenstveno u sklopu aplikacija u kojima je baza adekvatan način pohrane podataka. To su, primjerice, desktop aplikacije koje zahtijevaju takav sustav pohrane i manipulacije podacima. • Sve mora raditi pouzdano i izdržati korisnikove dobre i loše navike. Kod mobilnih uređaja obično se radi o komercijalnim implementacijama baza koje su razvili sami proizvođači tih uređaja ili ih kupuju od trećih proizvođača.
Ključna prednost ugradbene baze podataka je da njenim korištenjem korisnicima i administratorima olakšamo rad time da se baza instalira i održava s aplikacijom automatski a ne da je oni moraju sami održavati.
Nedostaci ugradbenih baza podataka • Isključeni su stoga proizvodi koji ne nude pohranu podataka na datotečni sustav (tzv. memorijske baze podataka). • Također su isključeni proizvodi koji nemaju svoj vlastiti mehanizam pohrane podataka, odnosno oni koji služe samo kao middleware prema nekoj drugoj bazi podataka.
Prednosti ugradbenih baza podataka • Ugradbena baza podataka je baza podataka koji je instalirana kao programska komponenta unutar samog programa, a ne kao zasebno pokrenuta aplikacija • Ključ operativne prednosti ugradbene baze podataka je da korištenjem ugradbeni baze podataka korisnici i administratori nisu opterećeni na trošenje vremena na instalacije ili održavanja jer sama aplikacija radi funkciju održavanja.
PREGLED DOSTUPNIH UGRADBENIH BAZA PODATAKA • SQLite • Firebird • HSQLDB (HyperSQL Database) • Oracle Berkeley DB • Microsoft SQL Server 2005 Compact Edition
SQLite je štedljiva, mala i brza baza podataka čija osnovna varijanta ima samo 30 tisuća linija C-koda. Prilagođena je gotovo svim platformama, a postoji i podrška za mobilne uređaje (Pocket PC). • Firebird je zapravo jedna od najmoćnijih ugrađenih baza podataka. Posjeduje zaista ogromne mogućnosti: okidače, sekvence, spremljene funkcije i procedure, transakcije, korisničke tipove podataka i niz drugih pogodnosti.
HSQLDB Ukoliko razvijate aplikacije u Javi i potrebna vam je ugrađena baza – ovo je definitivno prvi izbor. Tu je i podrška za transakcije i tablice. Tu su pogledi, okidači, spremljene procedure i funkcije koje mogu biti pisane u Javi. • Berkeley DB (BDB) je programska biblioteka koja osigurava visoke performanse ugradbene baze podataka za key-value podatke (key je jedinstveni identifikator neke stavke, value je stavka koja je ujedno i pokazivač na lokaciju tj. mjesto te stavke).
Microsoft SQL Server 2005 Compact Edition Riječ je o embedded bazi podataka koja ne zahtijeva poseban proces (servis) u kojem se vrti, nego se ugrađuje u samu aplikaciju. Čitav je pogon smješten u nekoliko DLL-ova koje distribuirate uz svoju aplikaciju Baza nema naprednih mogućnosti kao ostale baze – dakle, ništa od spremljenih procedura i funkcija, nema okidača, nema pogleda.
Stvaranje baze i povezivanje na bazu • Visual Studio mora znati kako pristupiti SQL Server Everywhere. To se postiže dodavanjem reference na "System.Data.SqlServerCe.dll" datoteku u prozoru Solution Explorer.
Stvaranje baze podataka • Klasa SqlCeEngine se koristi za upravljanje baze podataka. To vam omogućuje stvaranje, izmjenu i uništavanje datoteke baze podataka SqlCeEngine engine = new SqlCeEngine("Data Source='Test.sdf';"); if (!(File.Exists("Test.sdf"))) engine.CreateDatabase();
Korištenje i spajanje baze podataka • Spajanje na bazu podataka. • • Stvaranje i izvršavanje naredbe. • • Čitanje rezultata. • Klasa SqlCeConnection se koristi za stvaranje veze na bazu podataka. SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString); connection.Open();
Izvršavanja naredbi(upita) • Klasa SqlCeCommand se koristi za slanje naredbi u bazu podataka preko veze. SqlCeCommand command = connection.CreateCommand(); command.CommandText = "SELECT count(*) FROM customer"; int result = (System.Int32)(command.ExecuteScalar());
Čitanje složenih rezultata • Klasa SqlCeDataReader se može koristiti za rezultate upita s više redaka i / ili stupaca. command.CommandText = "SELECT * FROM customer"; SqlCeDataReader dataReader = command.ExecuteReader(); while (dataReader.Read()) { for (int i = 0; i < dataReader.FieldCount; i++) { string value = dataReader.GetValue(i).ToString(); } }
ZAKLJUČAK • U ovom radu istražio sam mogućnosti ugradbenih (embedded) baza podataka za Windows operacijski sustav te realizirao prototip aplikacije koja koristi ugradbenu bazu za pohranu podataka • Realizirana aplikacija zauzima vrlo malo memorije i ne stvara opterećenje na performanse računala, procesor bilo kojeg starijeg računala može pokretati aplikaciju i potrebne su male brzine da bi pokrenuli i radili s aplikacijom i ugradbenom bazom podataka