You are on page 1of 2

Baze podataka

Baza podataka je skup meusobno povezanih podataka koji se uvaju na disku nezavisno od aplikacije. Osnovna struktura u okviru koje se uvaju podaci je tabela. Bazu podataka moe initi samo jedna ili vie stotina tabela. Tabela je u stvari jedan fajl u okviru koga se uvaju podaci koji opisuju jedan objekat. Izmeu podataka tabela mogu postojati veze-relacije, pa zbog toga govorimo o relacionoj bazi podataka. Da bi se podaci koristili u aplikaciji, potreban je mehanizam kojim se ti podaci prevode u format konkretnog radnog okruenja. Kada se govori o bazama podataka, pre svega se misli na sistem za upravljanje bazom (SUBP), tj. na alat pomou kojeg je kreirana baza. To su: Access, SQL Server, Oracle, Paradox... Mehanizam koji omoguava povezivanje baze sa aplikacijom u C# zove se ADO.NET. ADO.NET je skup klasa koje obezbeuju objektni pristup ka bazi podataka. Sve klase ADO.NET-a mogu da se podele u 2 grupe: -snabdevai podataka (DATA PROVIDERS) -DataSet Snabdevai podataka rukuju komunikacijom sa fizikim skladitem podataka. DataSet predstavlja stvarne podatke, odnosno to je kopija baze u memoriji raunara. ADO.NET Data providers
DataAdapter DataSet

Windows forma Web forma

BP

connecti on

Command

DataReader

Klase snabdevaa podataka su specifine za izvor podataka. ADO.NET sadri 2 snabdevaa podataka: opti snabdeva koji moe da komunicira sa bilo kojom bazom i SQL snabdeva koji je optimizovan za Microsoft SQL Server bazu. Nalaze se u imenskim prostorima System.Data.OLEDB i System.Data.SqlClient. Ta dva snabdevaa sadre iste objekte, sa istom funkcionalnou, jedino se razlikuju po imenu. Npr OleDbConnection i SQLConnection.

Data provider klase


Objekat Connection predstavlja fiziku konekciju sa bazom. Njegova svojstva odreuju tip baze, gde se baza nalazi. Metodi su vrlo prosti- otvaranje i zatvaranje konekcije, odnosno omoguavanje protoka podataka, promena baze i upravljanje transakcijama. Objekat Command predstavlja naredbu SQL jezika koja e se izvriti na bazi (kojim tabelama se pristupa, izraunavanje na osnovu podataka iz baze...). Ovaj objekat dalje prosleuje podatke ili DataAdapteru, ili DataReader-u ili direktno aplikaciji. Objekat DataReader je brz, malo optereuje sistem, a koristi se za itanje podataka i prosleivanje aplikaciji. itanje se moe vriti samo unapred, a podaci se ne mogu menjati. Objekat DataAdapter je funkcionalno najsloeniji. On obezbeuje most izmeu objekta Connection i objekta DataSet. On sadri 4 objekta Command: SelectCommand,

UpdateCommand, InsertCommand i DeleteCommand. SelectCommand koristi da popuni DataSet, a ostale 3 komande da po potrebi prenese promene nazad u bazu. Skupovi podataka Objekat DataSet je memorijska predstava podataka iz baze. Ovaj objekat se moe posmatrati kao donekle pojednostavljena relaciona baza podataka, koja se sastoji od tabela i njihovih relacija. Objekat DataSet je uvek razdvojen od baze on ne zna odakle dolaze podaci koje sadri i u stvari moe da sadri podatke iz vie baza. Struktura DataSet-a

DataTableCollection DataTable
columns DataRelation DataColumn

DataRelationCollection

Rows Row

Constraints Constraint

DataTableCollection je kojekcija koja sadri nula ili vie objekata DataTable. DataTable se sastoji od 3 kolekcije: Columns, Rows i Constraints. Kolekcija Columns definie kolone jedne tabele. Njena svojstva definiu ime kolone, tip podataku u njoj i ostala svojstva kojim se definie ponaanje i prikaz podataka u datoj koloni. Indeksiranjem Columns svojstva pristupamo konkretnoj koloni. Kolekcija Rows, koja moe biti prazna, Sadri stvarne podatke. Row predstavlja niz podataka koji ine jedan zapis. Napr. Ime, prezime, telefon... U kolekciji Constraints obezbeuje integritet baze podataka. Sadri 2 vrste ogranienja: ForeignKeyConstraints osiguravaju da se red deteta ne moe ostaviti bez roditelja i UniqueConstraints omoguava ds se redovi u tabeli ne dupliraju, tj ne mogu postojati dva reda sa istom vrednou primarnog kljua. Kolekcija DataRelationCollection sadri nula ili vie objekata DataRelation. To su u stvari relacije izmeu tabela. Ovaj objekat obezbeuje kretanje od nadreenog reda jedne tabele do redova iz druge tabele koji imaju veze sa njim.