Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 2 Desenvolvimento de Aplicações em Bases de Dados. Module Introduction
|
|
- Estela Almeida Álvares
- 8 Há anos
- Visualizações:
Transcrição
1 Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 2 Desenvolvimento de Module Introduction
2 Sumário SQL em aplicações Embedded SQL Cursores Dynamic SQL JDBC SQLJ ODBC Procedimentos (stored procedures)
3 Porquê aceder a bases de dados através de linguagens de programação de alto-nível? SQL é uma linguagem de inquirições (queries( queries); ; como tal, tem limitações ões. A utilização de linguagens de programação justifica-se por : às vezes, ser necessário um processamento mais complexo dos dados; ser necessário construir interfaces especializadas com o utilizador; ser necessário aceder a mais do que uma base de dados.
4 SQL em aplicações As instruções SQL podem ser invocadas a partir de um programa escrito em linguagem hospedeira (e.g., C++ or Java). As instruções SQL podem mencionar host variables (incluindo variáveis especiais para devolver estado). Existe uma instrução para ligar à base de dados pretendida. Desajustamento de Tipos de Dados (Impedance( Mismatch). As relações (ou tabelas) SQL são (multi-) conjuntos de registos (records), com nenhum limite a priori relativamente ao número de registos. Tradicionalmente, não existe nenhuma estrutura de dados com estas características em linguagens de programação imperativa (e.g. C ou Pascal), embora a biblioteca STL da linguagem C++ já o permita. SQL suporta um mecanismo designado por cursor para manipular estas tabelas.
5 Características desejáveis em soluções ou aplicações de bases de dados Facilidade de utilização Estandartização / Normalização Soluções desenvolvidas em conformidade com as normas existentes para linguagens de programação, linguagens de inquirições de bases de dados, e ambientes de desenvolvimento. Interoperabilidade Tem que ver com a capacidade de usar uma interface comum a diversos sistemas de bases de dados em diferentes sistemas operativos.
6 Soluções proprietárias (soluções dependentes do proprietário de DBMS) Exemplo: Oracle PL/SQL linguagem proprietária semelhante à PL/1 que suporta a execução de inquirições SQL. Vantagens: Muitas características específicas da Oracle não são suportadas por outros sistemas de base de dados. Desempenho pode ser optimizado em sistemas baseados na Oracle. Desvantagens: As aplicações ficam dependentes dum DBMS específico. O programador de aplicações fica dependente do fornecedor proprietário do DBMS no que respeita ao ambiente de desenvolvimento de aplicações. Pode não estar disponível em todas as plataformas.
7 Soluções não-proprietárias e baseadas em SQL Há á 3 estratégias básicas que podemos considerar: Embeber SQL num programa em linguagem hospedeira (Embedded SQL, SQLJ) SQL modules SQL call level interfaces
8 1ª Solução não-proprietária: Embedded SQL Estratégia égia: : embeber SQL na linguagem hospedeira. Um preprocessador converte as instruções SQL em chamadas API especiais. Depois, um compilador regular é usado para compilar o código escrito em linguagem hospedeira. Construções essenciais da linguagem: Ligação a uma base de dados: EXEC SQL CONNECT Declaração de variáveis: EXEC SQL BEGIN (END) DECLARE SECTION Instruções: EXEC SQL Statement; Two special error variables: SQLCODE (long, is negative if an error has occurred) SQLSTATE (char[6], predefined codes for common errors) EXEC SQL BEGIN DECLARE SECTION char c_sname[20]; long c_sid; short c_rating; float c_age; EXEC SQL END DECLARE SECTION
9 Embedded SQL: example Estratégia égia: : embeber SQL na linguagem hospedeira. Um preprocessador converte as instruções SQL em chamadas API especiais. Depois, um compilador regular é usado para compilar o código escrito em linguagem hospedeira. Construções essenciais da linguagem: Ligação a uma base de dados: EXEC SQL CONNECT Declaração de variáveis: EXEC SQL BEGIN (END) DECLARE SECTION Instruções: EXEC SQL Statement; Two special error variables: SQLCODE (long, is negative if an error has occurred) SQLSTATE (char[6], predefined codes for common errors) EXEC SQL BEGIN DECLARE SECTION char c_sname[20]; long c_sid; short c_rating; float c_age; EXEC SQL END DECLARE SECTION
10 Embedded SQL: cursores Podemos declarar um cursor sobre uma relação (tabela) ou inquirição (que produz uma relação): Podemos abrir (open( open) ) um cursor e, repetidamente, procurar (fetch( fetch) ) um tuplo e mover (move( move) ) o cursor até é que todos os tuplos tenham sido processados. Podemos usar uma cláusula especial, designada por ORDER BY, em inquirições que são acedidas através de um cursor, para controlar a ordem de processamento dos tuplos. campos na cláusula ORDER BY têm também de aparecer na cláusula SELECT. A cláusula ORDER BY, que ordena os tuplos da tabela resultante, só é permitida no contexto do cursor. Podemos modificar/eliminar o tuplo apontado pelo cursor. Exemplo: Usar um cursor para obter, por ordem alfabética, os marinheiros que reservaram um barco vermelho. EXEC SQL DECLARE sinfo CURSOR FOR SELECT S.sname FROM Sailors S, Boats B, Reserves R WHERE S.sid=R.sid AND R.bid=B.bid AND B.color= red ORDER BY S.sname Note-se que é ilegal substituir S.sname por, diga-se, S.sid na cláusula ORDER BY. (Porquê?) Podemos adicionar S.sid à cláusula SELECT e substituir S.sname por S.sid na cláusula ORDER BY?
11 Embedded SQL: exemplo em C char SQLSTATE[6]; EXEC SQL BEGIN DECLARE SECTION char c_sname[20]; short c_minrating; float c_age; EXEC SQL END DECLARE SECTION c_minrating = random(); EXEC SQL DECLARE sinfo CURSOR FOR SELECT S.sname, S.age FROM Sailors S WHERE S.rating > :c_minrating ORDER BY S.sname; do { EXEC SQL FETCH sinfo INTO :c_sname, :c_age; printf( %s is %d\n,c_sname,c_age); } while (SQLSTATE!= ); EXEC SQL CLOSE sinfo;
12 6638 Bases de Dados II Embedded SQL: exemplo completo em C #include <stdio.h> #include <stdlib.h> #include <string.h> EXEC SQL INCLUDE SQLCA; #define CHECKERR(CE_STR) if (sqlca.sqlcode!= 0) { printf("%s failed. Reason %ld\n", CE_STR, sqlca.sqlcode); exit(1); } int main(int argc, char *argv[]) { EXEC SQL char short char char EXEC SQL BEGIN DECLARE SECTION; pname[10]; dept; userid[9]; passwd[19]; END DECLARE SECTION; printf( "Sample C program: OPENFTCH\n" ); if (argc == 1) { EXEC SQL CONNECT TO sample; CHECKERR ("CONNECT TO SAMPLE"); } else if (argc == 3) { strcpy (userid, argv[1]); strcpy (passwd, argv[2]); EXEC SQL CONNECT TO sample USER :userid USING :passwd; CHECKERR ("CONNECT TO SAMPLE"); } else { printf ("\nusage: openftch [userid passwd]\n\n"); return 1; } /* endif */ EXEC SQL DECLARE c1 CURSOR FOR (1) SELECT name, dept FROM staff WHERE job='mgr' FOR UPDATE OF job; EXEC SQL OPEN c1; (2) CHECKERR ("OPEN CURSOR"); do { EXEC SQL FETCH c1 INTO :pname, :dept; if (SQLCODE!= 0) break; (3) if (dept > 40) { printf( "%-10.10s in dept. %2d will be demoted to Clerk\n", pname, dept ); EXEC SQL UPDATE staff SET job = 'Clerk' (4) WHERE CURRENT OF c1; CHECKERR ("UPDATE STAFF"); } else { printf ("%-10.10s in dept. %2d will be DELETED!\n", pname, dept); EXEC SQL DELETE FROM staff WHERE CURRENT OF c1; CHECKERR ("DELETE"); } /* endif */ } while ( 1 ); EXEC SQL CLOSE c1; (5) CHECKERR ("CLOSE CURSOR"); EXEC SQL ROLLBACK; CHECKERR ("ROLLBACK"); printf( "\non second thought -- changes rolled back.\n" ); EXEC SQL CONNECT RESET; CHECKERR ("CONNECT RESET"); return 0; } /* end of program : OPENFTCH.SQC */
13 2ª Solução não-proprietária: SQL modules Estratégia: Em vez de usarmos pré-processamento nas chamadas à SQL, usamos bibliotecas de procedimentos. Interface estandartizada especial: procedimentos/objectos Passa-se strings SQL a partir da linguagem, resultando daí result sets apresentados numa forma amigável à linguagem de alto nível É suposto ser neutral em relação ao DBMS um driver intercepta as chamadas SQL e traduz as respectivas instruções em código específico do DBMS A base de dados pode estar situada numa rede de computadores Example: Sun s JDBC: Java API Parte do java.sql package Vantagens sobre o Embedded SQL: Clara separação entre o código SQL e a linguagem hospedeira. Debugging (depuração) é muito mais fácil visto não haver qualquer pré-processador envolvido. Desvantagens: As bibliotecas de módulos são específicas da linguagem de alto-nível e do IDE. Portanto, a portabilidade está, à partida, comprometida.
14 Arquitectura JDBC Tem 4 componentes: Aplicação (inicializa e termina ligações; submete instruções SQL) Gestor de drivers (carrega JDBC driver) Driver (permite a ligação ao data source; transmite pedidos e devolve/traduz resultados e códigos de erro) Data source (processa instruções SQL) JDBC/native bridge Native driver (DBMS specific) Java Application JDBC driver manager JDBC/OBDC bridge OBDC driver JDBC driver (DBMS specific) DBMS JDBC middleware (various DBMS) Translates JDBC function calls (with SQL commands) to native API of data source. Need OS-specific binary on each client. Translates JDBC calls (with SQL commands) into non-native API. Example: JDBC-ODBC bridge. Code for ODBC and JDBC driver needs to be available on each client. Converts JDBC calls directly to network protocol used by DBMS. Needs DBMS-specific Java driver at each client. The JDBC driver talks over a network to a middleware server that translates JDBC requests into DBMS-specific method invocations, i.e. the middleware server talks to the data source. Needs only small JDBC driver at each client.
15 6638 Bases de Dados II Submissão duma inquirição SQL via JDBC Tem 3 passos essenciais: Carregamento do driver JDBC Ligação ao data source Execução de instrução SQL Carregamento dum driver JDBC: Em código Java: Class.forName( oracle/jdbc.driver.orac ledriver ); Ligação ao data source: Interagimos com um data source através de sessões, uma sessão por ligação. JDBC URL: jdbc:<subprotocol>:<otherparameters> Exemplo: String url= jdbc:oracle: ; Connection con; try{ con = DriverManager.getConnection(url,usedId, password); } catch SQLException excpt { } Quando se inicia uma aplicação Java: Djdbc.drivers=oracle/jdbc.driver Todos os drivers são geridos pela classe DriverManager Execução de uma instrução SQL: Statement (both static and dynamic SQL statements) PreparedStatement (semi-static SQL statements) CallableStatment (stored procedures) DriverManager
16 Execução duma instrução SQL: PreparedStatement PreparedStatement Instruções SQL pré-compiladas e parametrizadas: Exemplo: Estrutura fixa Valores dos parâmetros são determinados em run-time String sql = INSERT INTO Sailors VALUES(?,?,?,?) ; PreparedStatement pstmt = con.preparestatement(sql); pstmt.clearparameters(); pstmt.setint(1,sid); pstmt.setstring(2,sname); pstmt.setint(3, rating); pstmt.setfloat(4,age); //we know no. rows are returned, thus we use executeupdate() // int numrows = pstmt.executeupdate(); ResultSet rs=pstmt.executequery(sql); while (rs.next()) { // process the data } Só devolve o nº de records afectados Devolve dados encapsulados num objecto ResultSet (um cursor) // rs is now a cursor Um ResultSet é um cursor: - previous(): move para linha anterior - absolute(int n): move para linha n - relative (int num): move para frente e para trás - first() e last()
17 Correspondência entre tipos de dados em SQL e Java SQL Type BIT CHAR VARCHAR DOUBLE FLOAT INTEGER REAL DATE TIME TIMESTAMP Java class Boolean String String Double Double Integer Double java.sql.date java.sql.time java.sql.timestamp ResultSet get method getboolean() getstring() getstring() getdouble() getdouble() getint() getfloat() getdate() gettime() gettimestamp()
18 Exemplo (semi-completo) em Java/SQL import java.sql sql.*; /* This is a sample program with jdbc odbc Driver */ public class localdemo { public static void main(string[] args) ) { try { // Register JDBC/ODBC Driver in jdbc DriverManager // On some platforms with some java VMs, newinstance() is needed Class.forName forname("sun. ("sun.jdbc.odbc.jdbcodbcdriver" JdbcOdbcDriver"). ).newinstance(); // Test with MS Access database (sailors ODBC data source) String url = "jdbc:odbc odbc:mysailors" mysailors"; java.sql sql.connection c = DriverManager.getConnection getconnection(url); java.sql sql.statement st = c.createstatement createstatement(); java.sql sql.resultset rs = st.executequery executequery("select * from Sailors"); java.sql sql.resultsetmetadata md = rs.getmetadata getmetadata(); while(rs.next()) { System.out.print("\nTUPLE: "); for(int i=1; i<= md.getcolumncount(); i++) { System.out.print(rs.getString(i) + " "); } } rs.close(); } catch(exception e) { e.printstacktrace();} } };
19 6638 Bases de Dados II 3ª Solução não-proprietária: SQL call-level interfaces Estratégia: Uma call-level interface fornece uma biblioteca de funções para aceder a vários DBMS. Os drivers dos DBMS são armazenados separadamente; portanto, a biblioteca usada pela linguagem de programação é independente do DBMS. As funções da linguagem de programação fornecem somente uma interface para os drivers dos DBMS. Vantagens: O ambiente de desenvolvimento não está dependente dum DBMS particular, nem do sistema operativo. Desvantagens: Algumas optimizações de baixo-nível podem ser mais difíceis ou mesmo impossíveis de fazer. ODBC (Open Database Connectivity): É um método estandartizado de acesso a bases de dados. Objectivo: tornar possível o acesso a quaisquer dados a partir de qualquer aplicação, independentemente do DBMS. ODBC consegue este objectivo pela inserção duma camada intermédia, designada por database driver, entre a aplicação e o DBMS. O propósito desta camada é traduzir inquirições lançadas pela aplicação em comandos que o DBMS entende. Para isso, quer a aplicação quer o DBMS têm de ser both the application and the DBMS must be ODBC-compatíveis, i.e. a aplicação tem de ser capaz de emitir comandos ODBC e o DBMS tem de ser capaz de responder-lhes.
20 Exemplo: C/MySQL #include<windows.h> #include <mysql.h> #include <stdio.h> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; //char *server = "mysql-server.ucl.ac.uk"; char *server = "localhost"; char *user = "root"; char *password = "gggag"; char *database = "sakila"; conn = mysql_init(null); /* Connect to database */ if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); return(0); } /* send SQL query */ if (mysql_query(conn, "SELECT * FROM people WHERE age > 30")) { fprintf(stderr, "%s\n", mysql_error(conn)); return(0); }
21 Exemplo: C/MySQL (cont.) res = mysql_use_result(conn); /* output fields 1 and 2 of each row */ while ((row = mysql_fetch_row(res))!= NULL) printf("%s %s\n", row[1], row[2]); /* Release memory used to store results and close connection */ mysql_free_result(res); mysql_close(conn); }
22 Sumário: Definição de objectivos. Conceitos básicos: : base de dados e DBMS. Desenho de bases de dados. Arquitectura ANSI-SPARC. Esquemas e instâncias. Independência de dados. Data Definition Language (DDL). Data Manipulation Language (DML). Structured Query Language (SQL). Linguagens 4G. Modelos de dados. Funções/serviços dum DBMS. Componentes dum DBMS. Topologias da arquitectura dum DBMS multi-utilizador.
Acesso a Bancos de Dados em Java (JDBC)
Acesso a Bancos de Dados em Java (JDBC) Jomi Fred Hübner Universidade Regional de Blumenau Departamento de Sistemas e Computação Roteiro Introdução Objetivo da JDBC Vantagens Visão geral do acesso a SGBDs
Leia maisDSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.
Universidade do Minho Departamento de Informática Camada de Dados - JDBC Aula 1 António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.pt 2 Camada de Dados A camada
Leia maisDSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10
Universidade do Minho Departamento de Informática Aplicações Multi-camada JDBC Aula 3 António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jose.campos@di.uminho.pt 2 Programação
Leia maisPadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. JDBC - Java Database Connectivity A,L,F,M
JAVA Marcio de Carvalho Victorino 1 JDBC - Java Database Connectivity 2 1 JDBC conceito JDBC é uma API (Application Program Interface) para acesso a SGBD s (Sistemas Gerenciadores de Banco de Dados) relacionais
Leia maisAcesso a Bancos de Dados (JDBC) Autor: Cleyton Maciel (clayton.maciel@ifrn.edu.br) Adaptação: Pedro Baesse (pedro.baesse@ifrn.edu.
Acesso a Bancos de Dados (JDBC) Autor: Cleyton Maciel (clayton.maciel@ifrn.edu.br) Adaptação: Pedro Baesse (pedro.baesse@ifrn.edu.br) JDBC Conceito Tipos Transações Tipos SQL e JAVA Conexão JDBC Implementação
Leia maisJAVA JDBC Java Database Connectivity
JAVA JDBC Java Database Connectivity Permite o acesso a banco de dados Uma das formas de acesso é utilizando o driver JDBC-ODBC que permite a conexão através de um DRIVER ODBC O ODBC (Open Database Connectivity)
Leia maisBanco de Dados. Banco de Dados. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010
Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona alcides.pamplona@gmail.com Tópicos API JDBC Utilizando JDBC Statement PreparedStatement Mapeamento Objeto-Relacional 2 API JDBC 3 API
Leia maisJDBC Acessando Banco de Dados
Acessando Banco de Dados Objetivos Entender o que são Drivers. Diferenciar ODBC, JDBC e DRIVERMANAGER. Desenvolver uma aplicação Java para conexão com Banco de Dados. Criar um objeto a partir da classe
Leia maisDesenvolvendo Aplicações de Banco de Dados
Desenvolvendo Aplicações de Banco de Dados Gustavo Maciel Dias Vieira 1, Vanessa Orsi Pazeto 1 1 Instituto de Computação UNICAMP Abstract. This paper is a short summary of the most frequently used technologies
Leia maisAcessando dados em Java com JDBC
Acessando dados em Java com JDBC Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Objetivo do curso O que é JDBC? Arquitetura da API Detalhes e uso da API O que é JDBC? Diferentes
Leia maisJava Básico JDBC. Razer Anthom Nizer Rojas Montaño (razer@razer.org) 2008. Banco de Dados: JDBC
Java Básico JDBC Razer Anthom Nizer Rojas Montaño (razer@razer.org) 2008 Banco de Dados: JDBC API de acesso a banco de dados Pacote java.sql.* Precisa-se de um driver de acesso. Ex para oracle: oracle.jdbc.driver.oracledriver
Leia maisJava & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia
Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia Sistemas de Informação Ling.Prog.V Prof. Roberto Couto Lima Fonte: Curso Java Prof. Fabricio Leonard Leopoldino (Universo)
Leia maisAula 1 Acesso a Banco de Dados
Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Introdução O JDBC (Java Database Connectivity) foi criado com o intuito de fornecer aos programadores
Leia maisLaboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br
Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Introdução O JDBC (Java Database Connectivity) foi criado com o intuito de fornecer aos programadores
Leia maisProgramação com Acesso a Banco de Dados
Campus Ipanguaçu Curso: Técnico em Informática Programação com Acesso a Banco de Dados AULA 17 ACESSO A BANCO DE DADOS COM JDBC PROF.: CLAYTON M. COSTA 2 011.2 Introdução Aplicação + Banco de Dados: Funcionalidade
Leia maisAcesso a Bancos de Dados (JDBC) Desenvolvimento de Aplicações em Java O QUE É JDBC JAVA E JDBC CARACTERÍSTICAS DE JDBC
Desenvolvimento de Aplicações em Java José Maria Monteiro www.lia.ufc.br/~zemaria monteiro@unifor.br zemaria@lia.ufc.br O QUE É JDBC Conjunto de classes e interfaces (API) escritas em Java que faz o envio
Leia maisBases de Dados 2012/2013 Desenvolvimento de Aplicações com Bases de Dados. Helena Galhardas 2012 IST. Bibliografia
Bases de Dados 2012/2013 Desenvolvimento de Aplicações com Bases de Dados Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems 3rd ed, Cap. 6 e 7 1 1 Sumário Acesso a BD a partir
Leia maisJava 2 Standard Edition Fundamentos de
Java 2 Standard Edition Fundamentos de Helder da Rocha www.argonavis.com.br 1 JDBC JDBC é uma interface baseada em Java para acesso a bancos de dados através de SQL. Pacote Java padrão: java.sql Baseada
Leia maisLinguagens de Programação
JDBC - Java Database Connectivity Necessidades : ligar aplicações Java e Applets a DBMS Drivers que suportam SQL um driver JDBC/DBMS deve suportar pelo menos o ANSI SQL92 JDBC é constituído por interfaces
Leia maisJAVA JDBC COMO FUNCIONA. Programação Orientada a Objetos Flávio de Oliveira Silva 315. Programação Orientada a Objetos Flávio de Oliveira Silva 316
JAVA JDBC JDBC JAVA DATABASE CONNECTIVITY Permite o acesso a banco de dados Uma das formas de acesso é utilizando o driver JDBC-ODBC que permite a conexão através de um DRIVER OBDC O ODBC (Open Database
Leia maisProgramação Orientada a Objetos JDBC Java Database Connectivity
Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java
Leia maisProgramação com Acesso a BD. Programação com OO Acesso em Java
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Leia maisManipulação de Banco de Dados com Java 1. Objetivos
Manipulação de Banco de Dados com Java 1. Objetivos Demonstrar os fundamentos básicos para a manipulação de banco de dados com Java; Apresentar a sintaxe de comandos SQL usados em Java. 2. Definições A
Leia maisIntegrando Java com Banco de Dados
Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java
Leia maisCurso de Java. Acesso a banco de dados através de JDBC. Todos os direitos reservados Klais
Curso de Java Acesso a banco de dados através de JDBC Todos os direitos reservados Klais Java e SGBD s SQL é a linguagem padrão para acesso a banco de dados e se estabeleceu como tal no mercado. SQL no
Leia maisJDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC
JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC Java Database Connectivity Provê acesso SQL ao banco de dados Principais
Leia maisCapítulo 1. Acesso a Banco de Dados com JDBC (Java Database Connectivity) e o Padrão de Projeto DAO (Data Access Object)
Capítulo 1 Acesso a Banco de Dados com JDBC (Java Database Connectivity) e o Padrão de Projeto DAO (Data Access Object) Introdução Os programas desenvolvidos em Java comunicam se com um banco de dados
Leia maisJava e Conexão com Banco de Dados
A Plataforma Java Programação Orientada a Objetos em Java Java e Conexão com Banco de Dados Prof. Giuliano Prado de Morais Giglio, M.Sc. Conexão com Banco de Dados JDBC: Java Database Connectivity Acesso
Leia maisSQL: Uma Linguagem de Consulta
SQL: Uma Linguagem de Consulta 1 Exemplos ilustrativos Considere, como exemplos, as seguintes relações: R1 sid bid day 22 101 10/10/96 58 103 11/12/96 Se a chave para a relacão de Reservas (R1) contivesse
Leia maisSQL: Uma Linguagem de Consulta. Database Management Systems, R. Ramakrishnan (tradução, autorizada, de Anna & Mario Nascimento)
SQL: Uma Linguagem de Consulta 1 Exemplos ilustrativos Considere, como exemplos, as seguintes relações: R1 sid bid day 22 101 10/10/96 58 103 11/12/96 Se a chave para a relacão de Reservas (R1) contivesse
Leia maisDesenvolvimento de Sistemas de Informação http://sim.di.uminho.pt/disciplinas/dsi
1/100 Departamento de Informática, Universidade do Minho http://www.di.uminho.pt Desenvolvimento de Sistemas de Informação http://sim.di.uminho.pt/disciplinas/dsi LESI - 4 ō Ano / 2 ō Semestre (5308O7)
Leia maisProgramação em Rede JDBC
Programação em Rede JDBC 1 JDBC - Java Database Connectivity Necessidades : ligar aplicações Java e Applets a DBMS Drivers que suportam SQL um driver JDBC/DBMS deve suportar pelo menos o ANSI SQL92 JDBC
Leia maisDesenvolvimento Web TCC-00.226 Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Java Database Connectivity (JDBC) Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Leia maisMotivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch)
Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos
Leia maisTriggers e mais... Instituto Militar de Engenharia IME 1o. Semestre/2005 Triggers Propósito mais amplo que restrições Restrições onde se explicita o evento Regras event-condition-action (ECA) Eventos:
Leia maisConectividade de Banco de Dados Java JDBC
Conectividade de Banco de Dados Java JDBC João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 3.1 Última Atualização: Abril/2005 1 Objetivos Explicar o que é JDBC Utilizar as classes e interfaces do pacote
Leia maisSQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada
Revisão de tpicos anteriores BANCO DE DADOS Linguagem de consulta SQL Roberto Duarte Fontes Brasília - DF roberto@fontes.pro.br Projeto de banco de dados Modelagem Conceitual (independe da implementação)
Leia maisJDBC. Java DataBase Connectivity
JDBC Java DataBase Connectivity JDBC??? Uma API que permite o acesso a virtualmente qualquer fonte de dado tabular a partir de um programa escrito em Java O que é uma uma fonte de dados tabular? acesso
Leia maisINE 5336. Banco de Dados II. Sumário
INE 5336 Banco de Dados II Ronaldo S. Mello 2004/2 1 SQL Embutida Sumário 2 Processamento de Consultas 3 Introdução a Transações 4 Recuperação de Falhas 5 Controle de Concorrência 6 Banco de Dados Distribuído
Leia maisJDBC Tópicos avançados de acesso a base de dados relacional
JDBC Tópicos avançados de acesso a base de dados relacional A gestão de instruções SQL em JDBC 1 : proposta de uma arquitectura para evitar a manipulação de código SQL embutido em código JAVA. A arquitectura
Leia maisManipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015
Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações
Leia maisEspecialização em web com interfaces ricas
Especialização em web com interfaces ricas Acessando Bancos de Dados com Java Prof. Fabrízzio Alphonsus A. M. N. Soares fabrizzio@inf.ufg.br professor.fabrizzio@gmail.com Instituto de Informática Universidade
Leia maisJDBC. Prof. Márcio Bueno (poonoite@marciobueno.com)
JDBC Prof. Márcio Bueno (poonoite@marciobueno.com) JBDC Java Database Connectivity ou JDBC é um conjunto de classes e interfaces (API) escritas em Java que faz o envio de instruções SQL para qualquer banco
Leia maisJPA: Persistência padronizada em Java
JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes
Leia maisAcesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel
Acesso a Banco Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel As conexões em Java são feitas através de uma ponte que implementa todas as funcionalidades que um banco de dados padrão deve
Leia maisAcesso a banco de dados
Acesso a banco de dados 1. Crie uma pasta chamada AcessoBD com as seguintes subpastas: Aplicativos, Drivers, AcessoMSACCESS, AcessoMySQL e AcessoSQLSERVER Exemplo 1: MS ACCESS 1. Crie um banco de dados
Leia maisIEC Banco de Dados I Aula 11 Técnicas de Programação SQL
IEC Banco de Dados I Aula 11 Técnicas de Programação SQL Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Site: hjp://bdufam.wordpress.com Sumário
Leia maisBanco de Dados. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com
Banco de Dados Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Roteiro Mapeamento de objetos para modelo relacional Estratégias de persistência Persistência JDBC Mapeando Objetos para o Modelo Relacional
Leia maisSQL. Ambientes de programação O catálogo do sistema. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática
SQL Ambientes de programação O catálogo do sistema Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL Usar SQL em aplicações Nas aplicações que acedem a bases e dados as instruções
Leia maisExecução de Instruções SQL
Bancos de Dados III Acesso a SGBDs via Aplicação Rogério Costa rogcosta@inf.puc-rio.br 1 Execução de Instruções SQL Instruções SQL dentro de um programa aplicativo, em conjunto com seu código. SQL Embutido
Leia maisJDBC Java Database Connectivity
5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes
Leia maisBases de Dados 2007/2008. Aula 9
Bases de Dados 2007/2008 Aula 9 1. T-SQL TRY CATCH 2. TRATAMENTO ERROS RAISERROR 3. TRIGGERS 4. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql
Leia maisINTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Um Banco
Leia maisDe forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função
.1 JDBC A linguagem Java possui classes que permitem a com um banco de dados. Essas classes fazem parte do pacote JDBC (Java Database Connectivity), uma API (Application Program Interface) que permite
Leia maisAula 4 JDBC - Java Database Connectivity
Aula 4 JDBC - Java Database Connectivity Prof. Dr. João Bosco M. Sobral mail: bosco@inf.ufsc.br - página: http://www.inf.ufsc.br/~bosco Rodrigo Campiolo mail: rcampiol@inf.ufsc.br - página: http://www.inf.ufsc.br/~rcampiol
Leia maisBases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction
Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 Module Introduction Objectivos O propósito e a origem da arquitectura de base de dados a três níveis. O conteúdo dos níveis externo,
Leia maisJava JDBC Aplicação Java com Acesso a um SGBD. Ricardo Terra (rterrabh [at] gmail.com) Java JDBC Maio, 2010
Java JDBC Aplicação Java com Acesso a um SGBD Ricardo Terra rterrabh [at] gmail.com Ricardo Terra (rterrabh [at] gmail.com) Java JDBC Maio, 2010 1 CV Nome: Ricardo Terra Email: rterrabh [at] gmail.com
Leia maisPersistência de Classes em Tabelas de Banco de Dados
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos
Leia maisOracle PL/SQL Overview
Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade
Leia maisJDBC - Java Data Base Connectivity
JDBC - Java Data Base Connectivity JDBC API para Bases de Dados relacionais. Permite o desenvolvimento de aplicac~oes que interaem com BD relacionais de modo uniforme e independente dos diferentes SGBD.
Leia maisProgramação com ODBC 3
Programação com ODBC 3 Ambiienttes de Desenvollviimentto Avançados Engenharia Informática Instituto Superior de Engenharia do Porto Alexandre Bragança 1998/99 3 Programação com ODBC 3.1 Estrutura de uma
Leia maisBD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04
BD Oracle SGBD Oracle Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD Oracle Introdução aos SGBD Base de Dados Colecção de dados que descrevem alguma realidade Sistema de
Leia mais(UFF) JDBC (I) TEPIS II
Aula 20: JDBC (I) Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) JDBC (I) TEPIS II 1 / 33 JDBC: Introdução Especificação que provê acesso
Leia maisLaboratório 3. Base de Dados II 2008/2009
Laboratório 3 Base de Dados II 2008/2009 Plano de Trabalho Lab. 3: Programação em Transact-SQL MYSQL Referências www.mysql.com MICROSOFT SQL SERVER - Procedimentos do Lado do Servidor (Stored Procedures)
Leia maisBD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04
BD SQL Server SGBD SQL Server Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD SQL Server Criação da Ligação ao SGBD Entrar no Microsoft SQL Server / Enterprise Manager Criar
Leia maisProgramação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 9 JDBC (Java Database Connectivity) Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas
Leia maistrigger insert, delete, update
1 Um trigger é um conjunto de instruções SQL armazenadas no catalogo da BD Pertence a um grupo de stored programs do MySQL Executado quando um evento associado com uma tabela acontece: insert, delete,
Leia maisSQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix
Leia maisBanco de Dados. Prof. Antonio
Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards
Leia maisFigura 1. A Classe Java
Conexã o com MySQL Connection Factory Para criar as conexões com o banco de dados será utilizado um padrão chamado Factory, onde através dele se terá uma única classe que proverá uma fábrica de conexão
Leia maisIntrodução à Tecnologia Java 02/2012. Java Aula 05 12/09/2012. Celso Olivete Júnior. olivete@fct.unesp.br
Java Aula 05 JDBC 12/09/2012 Celso Olivete Júnior olivete@fct.unesp.br 1 Exercício para aquecimentoutilize o pacote Swing C = (F-32)*5 ------------ 9 Celso Olivete Júnior 2 Softwares utilizados: Java Development
Leia maisTecnologias Java JDBC. Marcio Seiji Oyamada msoyamada@gmail.com
Tecnologias Java JDBC Marcio Seiji Oyamada msoyamada@gmail.com JDBC JDBC: Java Database Connectivity API Java para acessar dados armazenados em um Banco de Dados Conectar a um banco dados Enviar consultas
Leia maisJDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.
JDBC CRIANDO O BANCO DE DADOS: Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. CRIANDO O PROJETO JAVA PARA DESKTOP: Crie um projeto Java chamado Prograd Crie um pacote chamado
Leia maisFUNCTION ) RETURNS INTEGER AS $$ DECLARE
PERFORM O comando PERFORM permite a execução de um comando SELECT desprezando o resultado do comando. PERFORM query; A variável especial FOUND é definida como verdadeiro se a instrução produzir pelo menos
Leia maisAntónio Rocha Nuno Melo e Castro
António Rocha Nuno Melo e Castro ! Transact-SQL (T-SQL) Extensão ao SQL Permite controlo do fluxo de execução Permite comandos DDL (contrariamente ao PLSQL) T-SQL combina: poder de manipulação de dados
Leia maisBases de Dados 2007/2008. Aula 8
Bases de Dados 2007/2008 Aula 8 1. T-SQL 2. VARIÁVEIS 3. CURSORES 4. PROCEDIMENTOS 5. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql
Leia maisAntónio Rocha Nuno Melo e Castro
António Rocha Nuno Melo e Castro SQL- Strutured Query Language é a linguagem mais usada nas bases dados relacionais. Originalmente desenvolvida pela IBM Actualmente é um standard, o mais recente é o SQL:2003
Leia maisDesenvolvimento de aplicações de Banco de Dados.
Desenvolvimento de aplicações de Banco de Dados. Marcílio da Silva Oliveira 1, 1 Laboratório de Inovação em Software UNICAMP / Ci&T Instituto de Computação, Universidade Estadual de Campinas SP/ Brasil.
Leia maisJAVA 14 ODBC / JDBC Aceder a Bases de Dados através da Internet. Vitor Vaz da Silva
JAVA 14 ODBC / JDBC Aceder a Bases de Dados através da Internet Vitor Vaz da Silva Ter tudo à mão?! Saber tudo?! Saber onde encontrar?! Saber quem sabe?! As Bases de Dados ajudam a guardar dados e informação
Leia maisProjeto de Banco de Dados
Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html
Leia maisPL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL
PL/SQL Laboratório de Bases de Dados PL/SQL Program Language SQL linguagem de programação da Oracle que permite processar dados armazenados no banco de dados Exemplos de operações permitidas alterar, remover,
Leia maisSQL Procedural. Josino Rodrigues Neto josinon@gmail.com
SQL Procedural Josino Rodrigues Neto josinon@gmail.com SQL Procedural Agregada em SQL-92 As ferramentas têm nomes para suas linguagens SQL procedurais/embutidas Oracle : PL/SQL Postgres PL/Pgsql SQL Server
Leia maisFernando Freitas Costa. Pós-Graduando em Gestão e Docência Universitária. blog.fimes.edu.br/fernando nando@fimes.edu.br
JavaServerFaces JSF Fernando Freitas Costa Bacharel em Sistemas de Informação Pós-Graduando em Gestão e Docência Universitária blog.fimes.edu.br/fernando nando@fimes.edu.br JavaServerFaces e Banco de Dados
Leia maisAcessando bancos de dados com o JDBC
Acessando bancos de dados com o JDBC Notas de Aula: Java Como Programar, 8/E Prof. Geraldo Braz Junior Introdução Um banco de dados é uma coleção organizada de dados. Um sistema de gerenciamento de bancos
Leia maisHugo Pedro Proença, 2007
Stored Procedures À medida que a complexidade dos sistemas aumenta, torna-se cada vez mais difícil a tarefa de integrar o SQL com as aplicações cliente. Além disto, é necessário que todas as aplicações
Leia maisBanco de Dados. Banco de Dados
Banco de Dados Um banco de dados é um conjunto de informações organizadas de forma regular em tabelas semelhantes a matrizes de duas dimensões que contém linhas e colunas (Estilo planilha do Microsoft
Leia maisJDBC (Fundamentos) Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com
JDBC (Fundamentos) Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com 1 Agenda O que é JDBC? Passo a passo do uso da API JDBC DataSource & pool de Conexões
Leia maisProgramação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br
Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br JSP (Java Server Pages) - JavaServer Pages (JSP) - Tecnologia de programação serverside - Permite
Leia maisLinguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas
Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas Junções Vistas Modificação da Base de Dados Embedded
Leia maisLaboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL
Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco
Leia maisCurso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com
+ Curso PHP Aula 08 Bruno Falcão brunogfalcao@gmail.com + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco
Leia maisProgramação Orientada a Objetos II
Programação Orientada a Objetos II Prof. Walter Gima walter.gima@anhanguera.com 1 Plano de Ensino e Aprendizagem 2 Java Conexão banco de dados 3 Agenda Conexão Banco de Dados Padrão DAO (Data Access Object)
Leia maisJava na WEB Banco de Dados
1 Java na WEB Banco de Dados Objetivo: Ao final da aula o aluno será capaz de: Criar aplicações JSP com acesso ao Banco de Dados MySql Configurar o TomCat para acessar o MySql. Não é Objetivo: Ao final
Leia mais