Documente Academic
Documente Profesional
Documente Cultură
tergerea (delete)
Relaiile ntre entiti se transpun n asocieri ntre tabele prin intermediul egalitilor unor
atribute comune.
Pentru interaciunea cu bazele de date relaionale se utilizeaz un limbaj de manipulare a
datelor (LMD):
Cmpuri
dreptul de a efectua doar operaiile specifice activitii sale i doar pe acea poriune a
bazei de date care ste necesar pentru aceasta
Exemple:
Oracle, MySQL, Microsoft SQL, Microsoft Access, Visual FoxPro, SQLite, etc.
Limbajul SQL
Este unul din cele mai puternice limbaje structurate pentru interogarea bazelor de date relaionale.
Face parte din categoria limbajelor de aplicaii
Curs 8
Cuprins
Java i bazele de date
accesul la baze de date folosind JDBCTM
caracteristici
arhitectur
API
JDBC API
Este destinat accesului la orice tip de date tabelare, n special la acele date stocate ntr-o baz de
date relaional.
Ajut la realizarea de aplicaii Java care gestioneaz urmtoarele activiti:
conectarea la o surs de date (de ex. o baz de date)
transmiterea ctre baza de date a unor instruciuni SQL pentru interogri, actualizri, tergeri de
date, etc.
recuperarea i procesarea rezultatelor obinute de la baza de date
Exemplu de utilizare JDBC API
public void connectToAndQueryDatabase(String username, String password) {
Connection con = DriverManager.getConnection(
"jdbc:myDriver:myDatabase",
username, password);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
}
Componente JDBC
JDBC API
parte a platformei Java ce include pachetele java.sqli javax.sql
JDBC DriverManager
o clas care definete obiectele care pot conecta aplicaiile Java la un driver JDBC
dei este destul de simplu, reprezint coloana vertebral a arhitectruii JDBC
JDBC Test Suite
ajut la verificarea funcionrii programelor
JDBC-ODBC Bridge
baze de date centralizate
baze de date distribuite
Arhitectura JDBC
JDBC API implementeaz urmtoarele dou modele de acces la baza de date:
two-tier (pe dou niveluri)
three-tier (pe trei niveluri)
Procesarea instruciunilor SQL cu ajutorul JDBC
Paii necesari procesrii instruciunilor SQL sunt urmtorii:
stabilirea conexiunii
crearea instruciunilor
executarea interogrilor
procesarea rezultatelor
nchiderea conexiunii
Executarea interogrilor
SefaceapelndunadinmetodeleexecutealeobiectuluiStatement:
execute
returneaz true dac primul obiect returnat de interogarea SQL este un ResultSet
se folosete dac interogarea returmneaz unul saiu mai multe obiecte ResultSet
executeQuery
returneaz un obiect ResultSet
executeUpdate
returneaz un ntreg reprezentnd numrul de linii afectate de instruciunea SQL (INSERT,
DELETE sau UPDATE
Executarea interogrilor -exemple
Interogrideselecie
ResultSetrs=stmt.executeQuery(SELECT*FROMfacultati;);
Interogrideactualizare
stmt.executeUpdate(DELETEFROMfacultatiWHEREcodF='FAN';);
Procesarea rezultatelor obinute
ObiectulResultSetobinutnurmauneiinterogriesteostructurdedatecepermiteaccesareaacestoraprin
intermediulunuicursor.
cursorul este un pointer (indicator) ctre una din liniile (nregistrrile) returnate n ResultSet.
Procesarea rezultatelor -exemplu
Stringquery="selectCOF_NAME,SUP_ID,PRICE,SALES,TOTALCOFFEES";
stmt=con.createStatement();
ResultSetrs=stmt.executeQuery(query);
while(rs.next()){
StringcoffeeName=rs.getString("COF_NAME");
intsupplierID=rs.getInt("SUP_ID");
floatprice=rs.getFloat("PRICE");
intsales=rs.getInt("SALES");
inttotal=rs.getInt("TOTAL");
System.out.println(coffeeName+"\t"+supplierID+);
nchiderea conexiunii
DupncetareautilizriiobiectelorConnection,StatementiResultSetseapeleazmetodaclosecareelibe
reazresurselecareaufostutilizate.rs.close();stmt.close();conn.close();