Universitatea George Bariţiu, Braşov

Similar documents
Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Versionare - GIT ALIN ZAMFIROIU

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

Procesarea Imaginilor

Metrici LPR interfatare cu Barix Barionet 50 -

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Propuneri pentru teme de licență

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

Documentaţie Tehnică

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Capitolul IV Utilizarea bazelor de date în Internet

Calculatoare Numerice II Interfaţarea unui dispozitiv de teleghidare radio cu portul paralel (MGSH Machine Guidance SHell) -proiect-

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Update firmware aparat foto

Subiecte Clasa a VI-a

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

Lucrarea Nr.1. Sisteme de operare. Generalitati

GESTIUNEA BAZELOR DE DATE

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

Universitatea Politehnica Bucureşti Facultatea de Automatică şi Calculatoare Departamentul de Automatică şi Ingineria Sistemelor LUCRARE DE LICENŢĂ

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

SPREADING CODES 1. INTRODUCTION. Ion POPA Societatea Română de Televiziune Studioul Teritorial Iaşi

Reţele Neuronale Artificiale în MATLAB

Consideratii privind structurile de date specifice sistemelor informationale geografice

RESEARCH CONCERNING THE INFLUENCE OF ANGLE OF FILING FROM THE KNIFE BLADES VINDROVERS ON THE MECHANICAL WORK ON CUTTING

Relational and Object-Oriented Methodology in Data Bases Systems

BAZE DE DATE Crearea, gestionarea şi exploatarea bazelor de date spaţiale

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

CERERI SELECT PE O TABELA

Auditul financiar la IMM-uri: de la limitare la oportunitate

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Ce este o BAZA DE DATE?

Olimpiad«Estonia, 2003

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Mecanismul de decontare a cererilor de plata

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

VIRTUAL INSTRUMENTATION IN THE DRIVE SUBSYSTEM MONITORING OF A MOBIL ROBOT WITH GESTURE COMMANDS

Aplicaţii SCADA - Conexiuni externe

Lucrarea nr. 7. Configurarea reţelelor în Linux

Proiectarea Sistemelor Software Complexe

Itemi Sisteme de Operare

The First TST for the JBMO Satu Mare, April 6, 2018

Mai bine. Pentru c putem.

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

ISBN-13:

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

PROIECT. La Baze de date. Evidența activității pentru o firmă IT. Îndrumător: ș. l. dr. ing. Mirela Danubianu. Efectuat de: Grigoriev Sergiu gr.

M C I O H L BAZE DE CUNOŞTINŢE A H E O L N S I S T E M E D E R E P R E Z E N A R E Ş I P R O C E S A R E A A C U N O Ş T I N Ţ E L O R

Internet-ul a apărut în 1960 când, în SUA, Ministerul Apărării a creat Agenţia pentru proiecte de Cercetare Avansată (ARPA), care are ca obiectiv

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

GHID DE TERMENI MEDIA

Programarea rapidă a aplicaţiilor pentru baze de date relaţionale. Lorentz JÄNTSCHI

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

Ce pot face pe hi5? Organizare si facilitati. Pagina de Home

CERERI SELECT PE MAI MULTE TABELE

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

Buletinul AGIR nr. 3/2012 iunie-august. Assis. Eng. Ciprian AFANASOV PhD. University "Ştefan cel Mare" Suceava

Modele de date utilizate în bazele de date pentru prelucrari grafice

PACHETE DE PROMOVARE

INTEROGĂRI ÎN SQL SERVER

Modalitǎţi de clasificare a datelor cantitative

SISTEM ONLINE DE ÎNVĂŢĂMÂNT

ACADEMIA DE STUDII ECONOMICE. Integrarea Sistemelor Informatice

Behavioral design patterns (comportamentale) ALIN ZAMFIROIU

Printesa fluture. Мобильный портал WAP версия: wap.altmaster.ru

MANAGEMENTUL CALITĂȚII - MC. Proiect 5 Procedura documentată pentru procesul ales

O bază de date (database), este o colecţie de date creată şi

EN teava vopsita cu capete canelate tip VICTAULIC

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

SPEED CONTROL OF DC MOTOR USING FOUR-QUADRANT CHOPPER AND BIPOLAR CONTROL STRATEGY

Sistem de Supraveghere Video in LAN şi WAN (S.V.L.W.)

UNIVERSITATEA DIN CRAIOVA FACULTATEA DE ELECTROMECANICĂ CATEDRA DE ACŢIONĂRI ELECTRICE. Şef lucrări dr. ing. Cătălin CONSTANTINESCU BAZE DE DATE

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig.

X-Fit S Manual de utilizare

Subiectele pentru proba practică din cadrul examenului de Paradigme de Programare Sesiunea iunie 2015

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

Modulul 5 Baze de date

A Compared Aproach: ASP versus PHP

PROCEDURA PRIVIND DECONTURILE. 2. Domeniu de aplicare Procedura se aplică în cadrul Universităţii Tehnice Cluj-Napoca

BAZE DE DATE. Conf. univ.dr. ELENA NECHITA Lector univ. dr. GLORIA-CERASELA CRIŞAN

Laboratorul 5 Lucrul cu baze de date în Visual Basic.NET

Managementul referinţelor cu

Ghid pentru configurarea şi utilizarea aplicaţiei clicksign Demo

Utilizarea firelor de executie în Java si C#

Class D Power Amplifiers

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu

Capitolul IF.02. Structurarea bazelor de date

METODE DE EVALUARE A IMPACTULUI ASUPRA MEDIULUI ŞI IMPLEMENTAREA SISTEMULUI DE MANAGEMENT DE MEDIU

Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu

Luminiţa Scripcariu PREFAŢĂ... 3

LIDER ÎN AMBALAJE EXPERT ÎN SISTEMUL BRAILLE

Cuprins Cuprins Bănci şi baze de date Etapele de realizare a unei bănci de date... 17

Transcription:

LUCRUL CU BAZE DE DATE ÎN JAVA Lect.univ.dr.ing. IOAN-GHEORGHE RAŢIU Lect.univ. NICOLETA DAVID Universitatea George Bariţiu, Braşov Rezumat O bază de date reprezintă o modalitate de stocare a unor informaţii (date) pe un suport extern, cu posibilitatea regăsirii acestora. O bază de date este memorată într-unul sau mai multe fişiere care sunt manipulate cu ajutorul sistemelor de gestiune a bazelor de date (SGBD). Cel mai răspândit model de baze de date este cel relaţional, în care datele sunt memorate în tabele. Pe lângă tabele, o bază de date relaţională mai poate conţine: indecşi, proceduri stocate, trigger-e, utilizatori şi grupuri de utilizatori, tipuri de date, mecanisme de securitate şi de gestiune a tranzacţiilor etc. Alte modele de baze de date sunt modelul ierarhic, modelul orientat-obiect şi modelul XML. 1. Generalităţi despre baze de date Aplicaţiile care folosesc baze de date sunt, în general, aplicaţii complexe folosite pentru gestionarea unor informaţii de dimensiuni mai mari într-o manieră sigură şi eficientă. O bază de date reprezintă o modalitate de stocare a unor informaţii (date) pe un suport extern, cu posibilitatea regăsirii acestora. Uzual, o bază de date este memorată într-unul sau mai multe fişiere care sunt manipulate cu ajutorul sistemelor de gestiune a bazelor de date (SGBD). Modelul clasic de bază de date este cel relaţional, în care datele sunt memorate în tabele. Pe lângă tabele, o bază de date mai poate conţine: indecşi, proceduri stocate, trigger-e, utilizatori şi grupuri de utilizatori, tipuri de date, mecanisme de securitate şi de gestiune a tranzacţiilor etc. Alte modele de baze de date sunt: modelul ierarhic, modelul orientatobiect şi modelul XML. XML (extensible Markup Language) este un meta-limbaj de marcare recomandat de către Consorţiul Web pentru crearea de alte limbaje de marcare (marcaj sau tag acţiunea de interpretare explicită a unei porţiuni de text), cum ar fi XHTML, RDF, RSS, MathML, SVG, OWL etc. Aceste limbaje formează familia de limbaje XML. Meta-limbajul XML este o simplificare a limbajului SGML (din care provine şi HTML) şi a fost proiectat în scopul transferului de date între aplicaţii pe Internet. XML este acum şi un model de stocare a datelor nestructurate şi semistructurate în cadrul Bazelor de date native XML.

Producătorii cei mai importanţi de baze de date sunt: Oracle, Sybase, IBM, Informix, Microsoft etc. Crearea unei baze de date se face cu aplicaţii specializate oferite de producătorul tipului respectiv de bază de date. Accesul la o bază de date se face prin intermediul unui driver specific tipului de bază de date. Acesta este responsabil cu accesul efectiv la datele stocate, fiind legătura între aplicaţie şi baza de date. 2. Driverul JDBC JDBC (Java Database Connectivity) este o interfaţă standard SQL de acces la baze de date. JDBC este constituită dintr-un set de clase şi interfeţe scrise în Java, furnizând mecanisme standard pentru proiectanţii aplicaţiilor de baze de date. Pachetul care oferă suport pentru lucrul cu baze de date este java.sql. Folosind JDBC este uşor să transmitem secvenţe SQL către baze de date relaţionale. Cu alte cuvinte, nu este necesar să scriem un program pentru a accesa o bază de date Oracle, alt program pentru a accesa o bază de date Sybase şi aşa mai departe. Este de ajuns să scriem un singur program folosind API-ul JDBC şi acesta va fi capabil să trimită secvenţe SQL bazei de date dorite. Bineînţeles, scriind codul sursă în Java, ne este asigurată portabilitatea programului. Acestea sunt două motive puternice care fac combinaţia Java JDBC demnă de luat în seamă. Fiind robust, sigur, uşor de folosit şi uşor de înţeles, Java este un excelent limbaj pentru a dezvolta aplicaţii de baze de date. Ceea ce-i lipseşte este modalitatea prin care aplicaţiile Java pot comunica cu bazele de date. JDBC-ul însă oferă acest mecanism. În linii mari, JDBC face trei lucruri: stabileşte o conexiune cu o bază de date; trimite secvenţe SQL; prelucrează rezultatele. 3. Conectarea la o bază de date Procesul de conectare la o bază de date implică două operaţii: încărcarea în memorie a unui driver corespunzător; realizarea unei conexiuni propriu-zise. O conexiune (sesiune) la o bază de date reprezintă un context prin care sunt trimise secvenţe SQL şi primite rezultatele. Într-o aplicaţie pot exista mai multe conexiuni simultan la baze de date diferite sau la aceeaşi bază. Clasele şi interfeţele pentru realizarea unei conexiuni sunt: clasa DriverManager, care se ocupă cu înregistrarea driverelor ce vor

fi folosite în aplicaţie; interfaţa Driver, pe care trebuie să o implementeze orice clasă ce descrie un driver; clasa DriverPropertyInfo; interfaţa Connection, descrie obiectele ce modelează o conexiune propriu-zisă cu baza de date. Încărcarea în memorie a unui driver Primul lucru pe care trebuie să-l facă o aplicaţie în procesul de conectare la o bază de date este să încarce în memorie clasa care implementează driverul necesar comunicării cu respectiva bază de date. Acest lucru poate fi realizat prin mai multe modalităţi: DriverManager.registerDriver(newsun.jdbc.odbc.JdbcOdbcDriver()); Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); System.setProperty("jdbc.drivers","sun.jdbc.odbc.JdbcOdbcDriver"); java-djdbc.drivers=sun.jdbc.odbc.jdbcodbcdrive. Specificarea unei baze de date Îndată ce un driver JDBC a fost încărcat în memorie cu DriverManager, acesta poate fi folosit la stabilirea unei conexiuni cu o bază de date. Având în vedere faptul că pot exista mai multe drivere înregistrate în memorie, trebuie să avem posibilitea de a specifica pe lângă identificatorul bazei de date şi driverul ce trebuie folosit. Aceasta se realizează prin intermediul unei adrese specifice, numită JDBC URL, ce are următorul format: jdbc:sub-protocol:identificator_baza_de_date Câmpul sub-protocol denumeşte tipul de driver care trebuie folosit pentru realizarea conexiunii şi poate fi odbc, oracle, sybase, db2 etc. Identificatorul bazei de date este un indicator specific fiecărui driver care specifică baza de date cu care aplicaţia doreşte să interacţioneze. În funcţie de tipul driver-ului acest identificator poate include numele unei maşini-gazdă, un număr de port, numele unui fişier sau al unui director etc.: jdbc:odbc:testdb; jdbc:oracle:thin@persistentjava.com:1521:testdb; jdbc:sybase:testdb; jdbc:db2:testdb. La primirea unui JDBC URL, DriverManager-ul va parcurge lista driverelor înregistrate în memorie, până când unul dintre ele va recunoaşte URL-ul respectiv.

Dacă nu există niciunul potrivit, atunci va fi lansată o excepţie de tipul SQLException, cu mesajul no suitable driver. Realizarea unei conexiuni Metoda folosită pentru realizarea unei conexiuni este getconnection din clasa DriverManager şi poate avea mai multe forme: Connection c = DriverManager.getConnection(url); Connection c = DriverManager.getConnection(url, username, password); Connection c = DriverManager.getConnection(url, dbproperies). O conexiune va fi folosită pentru: crearea de secvenţe SQL ce vor fi folosite pentru interogarea sau actualizarea bazei de date; aflarea unor informaţii legate de baza de date (meta-date). Clasa Connection asigură suport pentru controlul tranzacţiilor din memorie către baza de date prin metodele commit, rollback, setautocommit. 4. Efectuarea de secvenţe SQL O dată făcută conectarea cu DriverManager.getConection(), se poate folosi obiectul Connection rezultat pentru a se crea un obiect de tip Statements, cu ajutorul căruia se pot trimite secvenţe SQL către baza de date. Cele mai uzuale comenzi SQL sunt cele folosite pentru: interogarea bazei de date (SELECT); actualizarea bazei de date (INSERT, UPDATE, DELETE): Connection c = DriverManager.getConnection(url); Statement s = c.createstatement(); ResultSet r = s.executequery("select * FROM un_tabel ORDER BY o_coloana"); s.executeupdate("delete * FROM un_tabel"). Metoda executequery trimite interogări SQL către baza de date şi primeşte răspuns într-un obiect de tip ResultSet. 5. Obţinerea şi prelucrarea rezultatelor Interfaţa ResultSet: String query = "SELECT cod, nume FROM localităţi ORDER BY nume"; ResultSet r = s.executequery( query ); while (r.next()) { System.out.println ( r.getstring ("cod") + "," +

r.getstring ("nume")). Interfaţa ResultSetMetaData: ResultSet r = s.executequery("select*from localitati"); ResultSetMetaData rsmd = r.getmetadata(); System.out.println("Coloane: " + rsmd.getcolumncount()). Concluzii Accesul la o bază de date se face prin intermediul unui driver specific tipului respectiv de bază de date. Acesta este responsabil cu accesul efectiv la datele stocate, fiind legătura între aplicaţie şi baza de date. Procesul de conectare la o bază de date implică două operaţii: încărcarea în memorie a unui driver corespunzător; realizarea unei conexiuni propriu-zise. Accesul la baza de date se face cu ajutorul JDBC (Java Database Connectivity), o interfaţă standard SQL, constituită dintr-un set de clase şi interfeţe scrise în Java, care furnizează mecanisme standard pentru proiectanţii aplicaţiilor de baze de date. După conectarea cu DriverManager.getConection(), se poate folosi obiectul Connection rezultat pentru a se crea un obiect de tip Statements, cu ajutorul căruia se pot trimite secvenţe SQL către baza de date. BIBLIOGRAFIE 1. Tănasă, Ştefan, Olaru, Cristian, Andrei, Ştefan, Java de la 0 la Expert, Iaşi, Editura Polirom, 2003 2. Velicanu, Manole, Lungu, Ion ş.a., Sisteme de baze de date teorie şi practică, Bucureşti, Editura Petrion, 2003