Baze podataka i aplikacije
-
Upload
britanni-rogers -
Category
Documents
-
view
61 -
download
1
description
Transcript of Baze podataka i aplikacije
![Page 1: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/1.jpg)
Baze podataka i aplikacije
Baze podatakaBaze podataka
Lekcija 13Lekcija 13
![Page 2: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/2.jpg)
Sadržaj
• Uvod
• Integrisana rešenja
• Slojevita struktura aplikacija
• Specifičnosti pristupa BP iz različitih slojeva
• Tehnologije koje omogućavaju razmenu podataka između BP i aplikacija
26.12.2006. Predavanja 2
![Page 3: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/3.jpg)
Uvod
• Klijent server arhitektura• SUBP – serverska strana• Aplikacija koja koristi BP – klijentska strana
Uspostavakonekcije
Zahtev za servisomDavanjeservisa
Raskidkonekcije
26.12.2006. Predavanja 3
![Page 4: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/4.jpg)
Integrisana okruženja
• Klijent i server su jedno• Primer Access-a i MS JetDB• Sve je u jednom fajlu • Platformska zavisnost
JetDB engineAccess
Forms
Reports
Queries
Modules
26.12.2006. Predavanja 4
![Page 5: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/5.jpg)
Integrisana okruženja
JetDB engineAccess
Forms
Reports
Queries
Modules
26.12.2006. Predavanja 5
![Page 6: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/6.jpg)
Integrisana okruženja
JetDB engineAccess
Forms
Reports
Queries
Modules
26.12.2006. Predavanja 6
![Page 7: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/7.jpg)
Integrisana okruženja
JetDB engineAccess
Forms
Reports
Queries
Modules
26.12.2006. Predavanja 7
![Page 8: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/8.jpg)
Integrisana okruženja
JetDB engineAccess
Forms
Reports
Queries
Modules
26.12.2006. Predavanja 8
![Page 9: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/9.jpg)
Integrisana okruženja
• Raslojavanje po potrebi
26.12.2006. Predavanja 9
![Page 10: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/10.jpg)
Slojevita struktura aplikacija
• Pojavom OOP omogućeno je:– razdvajanje podataka od logike njihove obrade
– razdvajanje podataka od interfejsa prema korisnicima podataka.
• Aplikacije se grade od objekata
• Objekti preuzimaju odovornost za obavljanje specifičnih funkcionalnosti aplikacije
26.12.2006. Predavanja 10
![Page 11: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/11.jpg)
26.12.2006. Predavanja 11
Slojevita struktura aplikacija
• Primeri:– Grupa objekata od kojih se gradi korisnički interfejs – Grupa objekata koji ostvaruju konekciju na BP,
izvršavaju upite i prihvataju rezultate upita
• Objekti međusobno komuniciraju preko funkcionalnih poziva
• Objekti mogu biti fizički razdvojeni (na različitim računarskim platformama– Za takve aplikacije kažemo da su ditribuirane
![Page 12: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/12.jpg)
Slojevita struktura aplikacija
• Raslojavanje aplikacije - odvajanje njenih delova prema funkcionalnosti
• Slojevi – grupisani objekti srodnih funkcionalnosti
• Pravilo dobrog dizajna aplikacija: – između objekata (klasa) u istom sloju treba da
se postigne visoka kohezija (high cohesion), – slaba sprega između slojeva (low coupling).
26.12.2006. Predavanja 12
![Page 13: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/13.jpg)
Slojevita struktura aplikacija
• Osnovni aplikacioni model je troslojni model– Prezentcioni sloj (presentation layer)– Sloj poslovne logike (buisness logic layer)– Sloj podataka (data layer)
26.12.2006. Predavanja 13
![Page 14: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/14.jpg)
Slojevita struktura aplikacija
26.12.2006. Predavanja 14
![Page 15: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/15.jpg)
Slojevita struktura aplikacija
• Aplikacije mogu imati više od tri sloja • Podaci mogu biti razdvojeni na više različitih
mesta – Rasterećenje hardverskih (serverskih) platformi
• Više nivoa obrade • Primer: Web aplikacije
26.12.2006. Predavanja 15
![Page 16: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/16.jpg)
Slojevita struktura aplikacija
26.12.2006. Predavanja 16
![Page 17: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/17.jpg)
Slojevita struktura aplikacija
• Aplikacije servisi (nezavisne softverske komponente )
• Web servisi su zasnovani na tri osnovna standarda:
– XML – extensible markup language - (za prikazivanje podataka),
– SOAP – simple object access protokol (za razmenu podataka između davalaca i korisnika servisa) i,
– WSDL – Web Service Definition Language - za potrebe opisa servisa, definisan je poseban jezik
26.12.2006. Predavanja 17
![Page 18: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/18.jpg)
Slojevita struktura aplikacija
26.12.2006. Predavanja 18
Tri komponente Web servisa:Davalac servisa, korisnik servisa, provajder
Web servisi omogućavaju:Povezivanje različitih aplikacija, tehnologija i računarskih platformi
![Page 19: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/19.jpg)
Pristup BP
• Specifičnosti pristupa BP iz različitih slojeva
– Pristup podacima iz prezentacionog sloja– Pristup podacima iz sloja poslovne logike– Pristup iz sloja podataka
26.12.2006. Predavanja 19
![Page 20: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/20.jpg)
Pristupa BP - Prezentacioni sloj -
• Prezentacioni sloj sadrži objekte koriničkog interfejsa
• Uokvireni prozori sa naslovnom linijom koji sadrže kontrole za interakciju sa korisnikom
26.12.2006. Predavanja 20
![Page 21: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/21.jpg)
Pristupa BP - Prezentacioni sloj -
26.12.2006. Predavanja 21
![Page 22: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/22.jpg)
Pristupa BP - Prezentacioni sloj -
1:Private Sub Form_Close()2:DoCmd.RunSQL "UPDATE KolicineSred SET [KOLIC] = 3:Forms![TSredstva]![RecSum] WHERE
KolicineSred.ID_BR = 4:Forms![TSredstva]![ID_BR] AND 5:KolicineSred.SifDug=Forms![TSredstva]![SifDug];"6:End Sub
26.12.2006. Predavanja 22
VBA skripta koja sadrži SQL naredbu
![Page 23: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/23.jpg)
Pristupa BP - Prezentacioni sloj -
26.12.2006. Predavanja 23
![Page 24: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/24.jpg)
Pristupa BP - Prezentacioni sloj -
26.12.2006. Predavanja 24
![Page 25: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/25.jpg)
- Prezentacioni sloj -1: <html>2: <body>3: <%4: set conn=Server.CreateObject("ADODB.Connection")5: conn.Provider="Microsoft.Jet.OLEDB.4.0"6: conn.Open "d:/webdata/partneri.mdb“7: sql="INSERT INTO kupci (naz_firme, adresa, postbroj)"8: sql=sql & " VALUES “9: sql=sql & "('" & Request.Form("firma") & "',“10: sql=sql & "'" & Request.Form("adresa") & "',“11: sql=sql & "'" & Request.Form("postkod") & "')“12: on error resume next13: conn.Execute sql,recaffected14: if err<>0 then15: Response.Write("Nemate prava na dodavanje podataka!")16: else 17: Response.Write("<h3>Klijent " & Request.Form("firma") 18: & " je dodat</h3>")19: end if20: conn.close21: %>22: </body>23: </html>26.12.2006. Predavanja 25Pristup BP iz ASP (Active Server Pages) stranice
![Page 26: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/26.jpg)
Pristupa BP - Prezentacioni sloj -
1: <sql:query var="upit1">2: SELECT * FROM moja_tabela3: </sql:query>4: <c:forEach var="naziv_polja" items="${upit1.columnNames}">5: <th><c:out value="${naziv_polja}"/></th>6: </c:forEach>7: <c:forEach var="red" items="${upit1.rows}">8: <tr>9: <c:forEach var="kolona" items="${red}">10: <td><c:out value="${kolona.value}"/></td>11: </c:forEach>12: </tr>13: </c:forEach>
26.12.2006. Predavanja 26
Posebno dizajnirani tag-ovi za pristupanje BP iz prezentacionog sloja
![Page 27: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/27.jpg)
Pristupa BP - Prezentacioni sloj -
1: mysql_connect("biblioteka.snemanja.net:3617",$username,$password);2: @mysql_select_db("biblioteka") or die( "Nema konekcije sa BP");3: $result = mysql_query("SELECT * FROM knjige");4: $num = mysql_numrows($result);5: mysql_close();6: $i=0;7: while ($i < $num) {8: $naslov = mysql_result($result,$i,"naslov");9: $autor = mysql_result($result,$i,"autor");10: $i++;11: }
26.12.2006. Predavanja 27
Pristupanje BP iz PHP stranice
![Page 28: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/28.jpg)
Pristup BP - sloj poslovne logike -
• Najčešće korišćen pristup kod višeslojnih aplikacija• Entiteti (klase ili moduli) zaduženi za komunikciju
sa BP• Uslužne klase koje omogućavaju interakciju sa BP • CDatabase, CRecordset klase iz Microsoft (MFC) • ResultSet, Connection klase u Java-inom paketu
java.sql.*
26.12.2006. Predavanja 28
![Page 29: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/29.jpg)
Pristup BP - sloj poslovne logike -
26.12.2006. Predavanja 29
![Page 30: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/30.jpg)
Pristup BP - sloj poslovne logike -
26.12.2006. Predavanja 30
C++ kod koji preuzima nazive proizvoda iz tabele u BPi dodaje ih u listu proizvoda u korisničkom interfejsu
![Page 31: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/31.jpg)
Pristup BP - sloj poslovne logike -
26.12.2006. Predavanja 31
Java kod koji u tabelu t_mtutor_groups u BPdodaje novi zapis (novi naziv grupe)
![Page 32: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/32.jpg)
Pristup BP - sloj podataka -
• Izmeštanje SQL naredbi iz izvornog koda aplikacije u SUBP
26.12.2006. Predavanja 32
![Page 33: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/33.jpg)
Pristup BP - sloj podataka -
• Ugnježdene procedure (stored procedures)– Skupovi instrukcija koje se često koriste– Njihovom upotrebom programeri se oslobađaju
višestrukih pozivanja istih komandi– Najbrže se izvršavaju jer se proces prevođenja
instrukcija vrši na SQL serveru– Procedure se nalaze na jednom mestu, a ne na
više mesta u aplikacijama (npr. na front-end kraju – prezentacioni sloj), pa je njihova izmena i ažuriranje mnogo lakše
26.12.2006. Predavanja 33
![Page 34: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/34.jpg)
Pristup BP - sloj podataka -
• Ugnježdene procedure (stored procedures)– Kada se izvrši procedura, samo rezultat obrade se
šalje ka sledećem sloju• Najmanje opterećenje mreže, poboljšanje performansi
– Procedurama se mogu prosleđivati parametri i promenljive
– Procedure se mogu pozivati i iz drugih procedura• Najčešće se pišu u nekom od proširenja jezika SQL
koje definiše proizvođač konkretnog DBMS – Oracle – PL/SQL – Microsoft SQL Server – Tansact-SQL
26.12.2006. Predavanja 34
![Page 35: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/35.jpg)
Pristup BP - sloj podataka -
• Preduslov - SUBP mora da poseduje mogućnosti kreiranja procedura
• SQL naredbe se ugnježdavaju kao procedure (stored procedure) u ciljnu BP
1: CREATE PROCEDURE `spUsedTestSets`(IN u_id INTEGER(11))2: BEGIN3: SELECT * FROM `t_mtutor_used_test_sets` WHERE ( user_id = u_id );4: END;
26.12.2006. Predavanja 35
![Page 36: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/36.jpg)
Pristup BP - sloj podataka -
• Poziv ugnježdenih procedura
1: cs = conn.prepareCall("{call spUsedTestSets(?)}");2: cs.setInt("user_id", u_id);3: rs = cs.executeQuery();4: while( rs.next() ){5: int test_id = rs.getInt("test_set_id");6: Date test_dat = rs.getDate("date");7: }
26.12.2006. Predavanja 36
![Page 37: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/37.jpg)
Pristup BP - sloj podataka -
• Trigeri, okidači (triggers)– Programska procedura u okviru SUBP, koja se
aktivira određenim događajem: • upis novog zapisa u tabelu • brisanje određenog zapisa • modifikacija postojećeg zapisa
• Triger predstavlja jedan od mehanizama za proveru uslova integriteta baze podataka– Npr. Pre upisa u tabelu dobavljač-artikal proveriti da
li dobavljač dobavlja dati proizvod
26.12.2006. Predavanja 37
![Page 38: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/38.jpg)
Pristup BP - sloj podataka -
• Trigeri, okidači (triggers)– Triger pokreće određenu aktivnost nad bazom, uvek
kada se desi jedan od navedenih događaja– Tačnije rečeno, SUBP inicira izvršenje okidača,
odmah po nastajanju događaja– Rad okidača je van kontrole aplikativnog programa
koji je vezan na SUBP, a obavezno se izvršava
26.12.2006. Predavanja 38
![Page 39: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/39.jpg)
Pristup BP - sloj podataka -
• Trigeri, okidači (triggers)– Sintaksa trigera je sledeća:
• Tip može biti: BEFORE, AFTER i INSTEAD OF
– CREATE [OR REPLACE] TRIGGER /naziv_trigera/ /tip trigera/ ON /naziv tabele/ BEGIN /izvrsne_instrukcije_trigera/ END
26.12.2006. Predavanja 39
![Page 40: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/40.jpg)
Pristup BP - sloj podataka -
• Trigeri, okidači (triggers)– Oracle ima trigere koji se aktiviraju i kada se menja
šema RBP
– Schema-level triggers• After Creation • Before Alter • After Alter • Before Drop • After Drop • Before Logoff • After Logon
26.12.2006. Predavanja 40
![Page 41: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/41.jpg)
Razmena podataka između BP i aplikacija
• Tehnologije koje omogućavaju razmenu podataka između BP i aplikacija ODBC– DAO (Data Access Objects)– ADO– JDBC
26.12.2006. Predavanja 41
![Page 42: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/42.jpg)
Razmena podataka između BP i aplikacija
- ODBC -
• Pre kreiranja aplikacije potrebno je izvršiti registrovanje BP kojoj se pristupa posredstvom ODBC drajvera.
• Registracija je obavezna bez obzira na tip BP
• U Windows-ovom kontrol-panelu se bira ikonica ODBC, pri čemu se otvara administatorski dijalog prozor
26.12.2006. Predavanja 42
![Page 43: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/43.jpg)
Razmena podataka između BP i aplikacija
- ODBC -
26.12.2006. Predavanja 43
Dodavanje novogODBC veznika
![Page 44: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/44.jpg)
Razmena podataka između BP i aplikacija
- ODBC -
26.12.2006. Predavanja 44
Izbor ODBC drajvera
![Page 45: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/45.jpg)
Razmena podataka između BP i aplikacija
- ODBC -
26.12.2006. Predavanja 45
Zadavanje imenaODBC izvora podataka
Izbor BP
![Page 46: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/46.jpg)
Razmena podataka između BP i aplikacija
- ODBC -
26.12.2006. Predavanja 46
Izbor BP
![Page 47: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/47.jpg)
Razmena podataka između BP i aplikacija
- ODBC -• Dalje se kreiraju brokerske klase koje
koriste ODBC preko datog naziva, da bi uspostavile interakciju sa podacima u BP
26.12.2006. Predavanja 47
Naziv ODBC-a
Naziv tabele
Povezivanje polja u tabeli sapodacima u brokerskoj klasi
![Page 48: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/48.jpg)
Razmena podataka između BP i aplikacija
- DAO -
• Automatizacija – potpuna nezavisnost objekata aplikacije od prezentacije podataka u ciljnoj BP
• Potpunija kontrola i jednostavniji pristup svim entitetima u SUBP
• Različiti DAO paketi i biblioteke
26.12.2006. Predavanja 48
![Page 49: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/49.jpg)
Razmena podataka između BP i aplikacija
- DAO -
• Svi objekti u SUBP su obavijeni odgovarajućim aplikacionim objektima:– SUBP– BP
• Tabele– Polja– indeksi
• Upiti
• ...
– Grupe– Korisnici
26.12.2006. Predavanja 49
![Page 50: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/50.jpg)
Razmena podataka između BP i aplikacija
- DAO -1: try{2: CDaoDatabase db;3: db.Open(“s_erw05.mdb”):4: db.Execute(“INSERT INTO t_masters VALUES (‘test’,’test_pwd’,0)”);5: db.Close();6: }catch(CDaoException* pe){..;}
26.12.2006. Predavanja 50
1: CDaoDatabase db; CDaoMasterSet ms; 2: try{3: ms.Open(AFX_DAO_USE_DEFAULT_TYPE,4: “SELECT * FROM t_masters WHERE status = 0 ”):4: while (!ms.IsEOF()){5: fillCombo(ms.m_sUserName);6: ms.MoveNext();7: }7: }catch(CDaoException* pe){..;}
![Page 51: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/51.jpg)
Razmena podataka između BP i aplikacija
- DAO -
26.12.2006. Predavanja 51
DAO DAO u Web okruu Web okruženjuženju
![Page 52: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/52.jpg)
Razmena podataka između BP i aplikacija
- ADO -
• ADO – ActiveX Data Objects• Pristup svemu što može da poseduje
podatke (e-mailovi, Excel tabele, datoteke)• ADO sloj nadgradnje nad OLE radi
uprošćavanja pristupa podacima
26.12.2006. Predavanja 52
![Page 53: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/53.jpg)
Razmena podataka između BP i aplikacija
• JDBC (Java DB Connectivity)
26.12.2006. Predavanja 53
![Page 54: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/54.jpg)
Razmena podataka između BP i aplikacija
- JDBC -• Posredstvom JDBC-a je moguće dobiti
informacije o:– strukturi baze podataka i njenih tabela
• Posredstvom klase DatabaseMetaData je moguće dobiti informacije o strukturi baze
26.12.2006. Predavanja 54
![Page 55: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/55.jpg)
Razmena podataka između BP i aplikacija
- JDBC -• Moguće je dobiti detaljne informacije o:
– tabelama, – ograničenjima, – uskladištenim procedurama, – user-ima, – JDBC drajveru pomoću kojega je uspostavljena
konekcija...
26.12.2006. Predavanja 55
![Page 56: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/56.jpg)
Razmena podataka između BP i aplikacija
- JDBC -
• Klasa ResultSetMetaData može da posluži kao izvor detaljnih informacija o:– broju kolona, – nazivu svake od njih, – tipu, – dužini polja...
26.12.2006. Predavanja 56
![Page 57: Baze podataka i aplikacije](https://reader036.fdocuments.net/reader036/viewer/2022081508/56813223550346895d988534/html5/thumbnails/57.jpg)
Razmena podataka između BP i aplikacija
- JDBC -• Ova klasa takođe poseduje veliki broj
metoda od kojih su najvažnije:– int getColumnCount() – vraća broj
kolona– String getColumnLabel(int i) – vraća
naziv i-te kolone– int getColumnType(int i) – vraća tip i-
te kolone
26.12.2006. Predavanja 57