Beruflich Dokumente
Kultur Dokumente
TRABALHO DE DIPLOMAO
MEDIANEIRA
2011
MEDIANEIRA
2011
Ministrio da Educao
Universidade Tecnolgica Federal do Paran
Diretoria de Graduao e Educao Profissional
Curso Superior de Tecnologia em Anlise e
Desenvolvimento de Sistemas
TERMO DE APROVAO
ESTUDO COMPARATIVO ENTRE AS LINGUAGENS PROCEDURAIS PL/SQL E
PL/PGSQL APLICADAS AOS BANCOS DE DADOS ORACLE 10G XE E
POSTGRESQL 8.4
Por
MURILO ANDR DA SILVA
Este Trabalho de Diplomao (TD) foi apresentado s 8:30 h do dia 27 de
setembro de 2011 como requisito parcial para a obteno do ttulo de Tecnlogo
no Curso Superior de Tecnologia em Analise e Desenvolvimento de Sistemas, da
Universidade Tecnolgica Federal do Paran, Campus Medianeira. O candidato foi
argido pela Banca Examinadora composta pelos professores abaixo assinados.
Aps deliberao, a Banca Examinadora considerou o trabalho aprovado.
Prof. Msc. Claudio Leones Bazzi
UTFPR Campus Medianeira
(Orientador)
RESUMO
SILVA,
A.
Murilo.
ESTUDO
COMPARATIVO
ENTRE
AS
LINGUAGENS
Query
Language,
Procedural
Language/PostgreSQL
A.
Murilo.
ESTUDO
COMPARATIVO
ENTRE
AS
LINGUAGENS
Query
Language,
Procedural
Language/PostgreSQL
LISTAS DE QUADROS
Quadro 1 - Relao Cliente .................................................................................................. 16
Quadro 2 - Sintaxe bsica de uma procedure .................................................................. 22
Quadro 3 - Estrutura de criao de uma funo............................................................... 24
Quadro 4 - Estrutura do bloco PL/pgSQL .......................................................................... 27
Quadro 5 Criao de Funo no PostgreSQL ............................................................... 28
Quadro 6 Funo tcc_comparacao1 escrita em PL/SQL ............................................ 30
Quadro 7 - Funo tcc_comparacao1 convertida para PL/pgSQL................................ 30
Quadro 8 - Procedure tcc_comparacao2 ........................................................................... 31
Quadro 9 - Comando para desfazer alteraes no Oracle aps uma exceo .......... 32
Quadro 10 - Cdigo de criao da tabela tb_calcado no banco Oracle ....................... 40
Quadro 11 - Codigo de criao da tabela tb_calcado no PostgreSQL ......................... 40
Quadro 12 - Cdigo de criao da funo fnc_listar_calcado no Oracle ..................... 42
Quadro 13 - Cdigo de criao da funo fnc_listar_calcado no Postgresql .............. 42
Quadro 14 - Cdigo de criao da procedure prc_obter_pk_calcado no Oracle ........ 43
Quadro 15 - Cdigo de criao da procedure prc_obter_pk_calcado no PostgreSQL
.................................................................................................................................................. 43
Quadro 16 - Cdigo de criao da prc_atualizar_calcado no Oracle ........................... 44
Quadro 17 - Cdigo de criao da procedure prc_atualizar_calcado no PostgreSQL
.................................................................................................................................................. 45
Quadro 18 - Cdigo de criao da procedure prc_obter_por_id_calcado no Oracle . 46
Quadro 19 - Cdigo de criao da procedure prc_obter_por_id_calcado no
PostgreSQL ............................................................................................................................ 46
Quadro 20 - Cdigo de criao da procedure prc_apaga_calcado no Oracle ............ 47
Quadro 21 - Cdigo de criao da procedure prc_apaga_ calcado no PostgreSQL . 47
Quadro 22 - Cdigo da classe Calcado ............................................................................. 48
LISTAS DE TABELAS
Tabela 1 - Resultados dos testes realizados na funo fnc_listar_calcado................. 72
Tabela 2 - Resultados dos testes realizados na procedure prc_atualizar_funcionario
.................................................................................................................................................. 73
Tabela 3 - Resultados dos testes realizados na procedure prc_atualizar_cliente ...... 75
Tabela 4 - Resultados dos testes realizados na procedure prc_apagar_funcionario 77
Tabela 5 - Tabela de resultados especficos..................................................................... 78
LISTAS DE FIGURAS
Figura 1 - Bloco PL/SQL e sua estrutura bsica .............................................................. 20
Figura 2 - Modelo do ambiente PL/SQL............................................................................. 21
Figura 3 - Tipos de blocos PL/SQL ..................................................................................... 22
Figura 4 - Funcionamento de uma compilao ou execuo de um programa Java . 34
Figura 5 - Estrutura de ligao entre o Java e os Bancos de Dados ............................ 36
Figura 6 - Diagrama de Classes da Aplicao .................................................................. 39
Figura 7 - Diagrama Entidade Relacionamento descrevendo a aplicao .................. 41
Figura 8 - Estrutura de pacotes da aplicao ................................................................... 49
Figura 9 - Tela principal da aplicao................................................................................. 51
Figura 10 - Insero de Calado ......................................................................................... 52
Figura 11 - Tela de calados no momento de uma consulta.......................................... 53
Figura 12 - Tela de calado no momento de uma alterao .......................................... 53
Figura 13 - Diagrama de sequencia para a insero de calados ................................ 54
Figura 14 - Diagrama de Sequncia para listagens de calado .................................... 56
Figura 15 - Diagrama de Sequncia relativo a uma excluso de calado ................... 59
Figura 16 - Tela de Venda .................................................................................................... 60
Figura 17 - Tela de adio de calados na venda ........................................................... 61
Figura 18 - Tela de adio de calados na venda no momento que a quantidade
informada. ............................................................................................................................... 61
Figura 19 - Tela de venda com todos os dados inseridos prestes a ser realizada ..... 62
Figura 20 - Diagrama de Sequencia referente a realizao de uma venda................. 63
Figura 21 - Trecho onde chamado o procedimento atualizarVenda() ....................... 63
Figura 22 - Trecho do diagrama exibindo a execuo do mtodo atualizaEstoque() 64
Figura 23 - Trecho do diagrama exibindo o chamamento do mtodo
insereCalcado_Venda() ........................................................................................................ 64
LISTAS DE ABREVIATURAS
API
DBA
Database Administrator
DDL
DML
IBM
iSQL
J2ME
J2SE
JDBC
JDBC
JDK
JRE
JVM
ODBC
PHP
PL
Procedural Language
PL/pgSQL
PL/SQL
SDK
SQL
SGBD
XE
Express Edition
XML
SUMRIO
1
INTRODUO ............................................................................................... 13
1.1
1.2
OBJETIVOS ESPECFICOS........................................................................... 13
1.3
JUSTIFICATIVA .............................................................................................. 14
1.4
2.1
MODELO RELACIONAL................................................................................. 16
2.2
2.3
ORACLE ......................................................................................................... 18
2.4
2.5
2.6
2.7
POSTGRESQL ............................................................................................... 24
2.9
JAVA .............................................................................................................. 33
3.1
ESTUDO DE CASO........................................................................................ 38
4.1
4.2
DESENVOLVIMENTO DA APLICAO......................................................... 38
4.3
DESENVOLVIMENTO .................................................................................... 39
5.1
6.1
CONCLUSO ................................................................................................. 78
6.2
13
INTRODUO
Na fase inicial da informtica, os dados ou informaes eram dependentes de
OBJETIVO GERAL
Desenvolver um estudo comparativo sobre os SGDBs Oracle 10g XE e
PostgreSQL
8.4
suas
linguagens
procedurais
PL/SQL
PL/pgSQL
OBJETIVOS ESPECFICOS
Realizar um referencial terico sobre o Banco de Dados Oracle 10g XE e
sobre o Banco de Dados PostgreSQL bem como suas linguagens procedurais
PL/SQL e PL/pgSQL respectivamente;
Realizar um estudo sobre a integrao entre a linguagem Java e as
linguagens PL/SQL e PL/pgSQL atravs do desenvolvimento de uma
aplicao utilizando Java;
14
JUSTIFICATIVA
Os Bancos de Dados, alm de manterem todo o volume de dados organizado,
1.4
ESTRUTURA DO TRABALHO
O trabalho foi divido em seis captulos de que abordaro os seguintes temas:
O captulo dois fala sobre os sistemas gerenciadores de banco de dados,
15
16
MODELO RELACIONAL
Segundo Eembley (2009, p. 2372), o modelo relacional (utilizado neste
11111
Pat
Maple 12
LINGUAGEM SQL
A Structured Query Language ou SQL a linguagem de consulta em banco
17
18
2.3
ORACLE
Oracle um sistema de banco de dados que surgiu no final dos anos 70,
1 Segundo Ian Foster (2009), um Grid um sistema que coordena recursos que no esto sujeitos a um controle
centralizado, usa protocolos e interfaces normalizadas, abertas e de uso genrico para garantir a
interoperabilidade entre sistemas diferentes e fornece servios com uma qualidade no trivial de modo a
satisfazer as necessidades dos utilizadores mesmo que estas sejam complexas.
19
SQL Command Line (iSQL), que utilizado via browser e executa comandos SQL e
PL/SQL. O SQL Command Line, tambm conhecido como SQL Plus. E tambm o
SQL Developer, este voltado para ambiente Desktop.
2.6
A LINGUAGEM PL/SQL
A sigla PL/SQL - Procedural Language Extensions to the Structured Query
20
2.7
21
funes,
sendo
que
geralmente,
utiliza-se
um
procedimento
para
desempenhar uma ao e uma funo para calcular um valor. Uma funo similar
a um procedimento, exceto que uma funo deve retornar um valor (Oracle, 2000).
A Figura 3 ilustra os blocos.
22
2.7.1.1 Procedure
Goya (2004) diz que uma procedure um bloco PL/SQL nomeado que pode
aceitar argumentos e pode ser chamada por um programa, uma sesso SQL ou uma
trigger. A grande vantagem sobre um bloco PL/SQL annimo que pode ser
compilado e armazenado no banco de dados como um objeto de schema2. Graas a
essa caracterstica as procedures so de fcil manuteno, o cdigo reutilizvel e
permitem trabalhar com mdulos de programa.
Segundo Goya(2004), a sintaxe bsica de uma procedure :
CREATE [OR REPLACE] PROCEDURE [schema.]nome_da_procedure
[(parmetro1 [modo1] tipodedado1,
parmetro2 [modo2] tipodedado2,
...)]
IS|AS
Bloco PL/SQL
Quadro 2 - Sintaxe bsica de uma procedure
Fonte: Goya (2004).
* [] indica no obrigatoriedade
No banco Oracle, associados a cada usurio da base de dados existe um schema. Ele consiste uma coleo de
objetos de schema como por exemplo: tabelas, veiws, sequencias, sinonimos, indices, clusters, procedures,
funes e pacotes.
(Oracle, 1999)
23
em que:
REPLACE - indica que caso a procedure exista ela ser eliminada e substituda pela nova verso
criada pelo comando;
BLOCO PL/SQL - inicia com uma clusula BEGIN e termina com END ou END nome_da_procedure;
MODO - Indica que o parmetro de entrada (IN), sada (OUT) ou ambos (IN OUT). importante
notar que IN o modo default, ou seja, se no for explicitado nada o modo do parmetro ser,
automaticamente, IN;
TIPODEDADO - indica o tipo de dado do parmetro. Pode ser qualquer tipo de dado do SQL ou do
PL/SQL. Pode usar referencias como %TYPE, %ROWTYPE ou qualquer tipo de dado escalar ou
composto. No possvel fazer qualquer restrio ao tamanho do tipo de dado neste ponto.
IS|AS - a sintaxe do comando aceita tanto IS como AS. Por conveno utiliza-se IS na criao de
procedures e AS quando estiver criando pacotes.
BLOCO PL/SQL - indica as aes que sero executadas por aquela procedure.
2.7.1.2 Funes
Funes e procedures so elementos parecidos, com a diferena que uma
funo possui uma clausula de retorno ao invs de um argumento OUT ou IN OUT.
Diferente de uma chamada de procedure que executada de forma autnoma, a
chamada de uma funo s pode existir como parte de uma sentena executvel,
como um elemento em uma expresso ou um valor atribudo como padro em uma
declarao de varivel (FEUERSTEIN, PRlBYL, 2009)l.
O comando RETURN responsvel por retornar o valor de uma funo. O valor do
retorno ser convertido para o tipo especificado no comeo da funo. Uma funo
pode possuir vrias instrues RETURN no seu corpo, mas apenas uma
executada (KALLAS, 2008).
24
2.8
POSTGRESQL
O PostgreSQL uma sistema gerenciador de banco de dados objeto-
25
POSTGRESQL 8.4
Segundo o PostgreSQL Global Development Group (2009), o PostgreSQL 8.4
trs 293 modificaes entre novos recursos e melhorias em relao a verso 8.3. As
mudanas mais numerosas so ferramentas e comandos para administrao e
monitoramento novos ou melhorados.
Entre as melhorias mais populares esto:
Restaurao Paralela de Bases de Dados, aumentando a velocidade
de recuperao de cpia de segurana (backup) em at 8 vezes;
Permisses por Coluna, permitindo um controle mais granular de dados
sigilosos;
Suporte a Configurao Regional por Banco de Dados, tornando o
PostgreSQL mais til em ambientes com mltiplos idiomas;
Upgrades In-place com o pg_migrator beta, permitindo migraes da
8.3 para a 8.4 sem tirar o banco do ar por muito tempo;
26
A LINGUAGEM PL/PGSQL
O PL/pgSQL uma linguagem procedural desenvolvida para o sistema de
definidos pelo
usurio,
entre
outros
(POSTGRESQL
GLOBAL
27
[<<label>>]
[DECLARE]
declaraes
BEGIN
contedo 1;
contedo 2;
contedo n;
END;
Quadro 4 - Estrutura do bloco PL/pgSQL
Fonte: PostgreSQL Global Development Group, 2009
28
-- A
-- A
-- A
aspectos, sendo consideradas, imperativas, sendo que todas as variveis devem ser
29
2.12
EXEMPLOS DE DIFERENAS:
30
VARCHAR,
varchar,
v_sobrenome
varchar)
RETURNS varchar AS $$
BEGIN
IF v_sobrenome IS NULL THEN
RETURN v_nome;
END IF;
RETURN v_nome || '/' || v_sobrenome;
END;
$$ LANGUAGE plpgsql;
Quadro 7 - Funo tcc_comparacao1 convertida para PL/pgSQL
Fonte: Autoria Prpria
31
32
BEGIN
SAVEPOINT s1;
... cdigo ...
EXCEPTION
WHEN ... THEN
ROLLBACK TO s1;
... cdigo ...
WHEN ... THEN
ROLLBACK TO s1;
... cdigo ...
END;
Quadro 9 - Comando para desfazer alteraes no Oracle aps uma exceo
Fonte: PostgreSQL Global Development Group (2009)
33
JAVA
uma linguagem de programao orientada a objetos bastante verstil e
34
traduza os bytecodes para cdigo nativo. Todas as aplicaes Java estaro rodando
sem problemas.
Entre outras funes, a mquina virtual Java tambm responsvel por
carregar de forma segura todas as classes do programa, verificar se os bytecodes
aderem a especificao JVM e se eles no violam a integridade e a segurana do
sistema.
A Figura 4 mostra como acontece a compilao e a execuo de um
programa Java. De um cdigo Java, que est em um arquivo. Java, o compilador
javac gera o bytecode:
Um arquivo. class. Aps isso uma mquina virtual Java executa o bytecode e
roda o programa.
35
dados relacionais so acessveis ao Java via JDBC (Java Data Base Connectivity)
ou via qualquer soluo baseada nele, como o JPA (Java Persistence API) e o
Hibernate.
JDBC o acrnimo de Java Data Base Connectivity ou do portugus
Conectividade Java com Banco de Dados e corresponde a um conjunto de
especificao de interfaces e classes em Java que padronizam a conectividade com
banco de dados. inspirado no bem sucedido padro Microsoft de acesso a banco
de dados, ODBC (Open Data Base Connectivity), porm tem a vantagem de ser
multi-plataforma. Alm da independncia da plataforma, Java tambm visa obter
independncia de banco de dados. Isto significa que ao se o SGDB for trocado,
espera-se pouca alterao na aplicao (SINTECTUS, 2009).
A Figura 5 representa como pode ser realizada a ligao entre os bancos de
dados utilizando a linguagem Java.
36
Tipo 2: O driver obtido a partir de uma API nativa. Isto significa que o driver
Java faz chamadas nativas a C ou C++ para subrotinas definidas pelo
fornecedor do banco de dados. Esta alternativa exige a instalao de software
cliente;
Tipo 3: Atravs de um driver especfico jdbc. Esta a melhor opo, uma vez
que ganha em desempenho e tambm a opo multi-plataforma.
37
JDBC 3 para JDK 1.4, 1.5 - Essa verso contm suporte para SSL e
javax.sql, mas no necessita o J2EE j que este foi adicionado ao
release do J2SE;
38
ESTUDO DE CASO
Um dos objetivos deste trabalho foi a realizao de testes de desempenho em
SOFTWARES UTILIZADOS
Para o desenvolvimento da aplicao foram utilizados os seguintes softwares:
Eclipse Galileo Software de cdigo livre desenvolvido em Java para
construo
linguagem
de
programas
Java.
de
computador,
Disponvel
para
principalmente
em
download
em
http://www.eclipse.org/downloads.
PgAdmin III 1.10.5. Ferramenta administrativa para banco de dados
PostreSql, inteiramente gratuito. Ele permite escrever SQL simples ou
complexas e desenvolver banco de dados com as funes do
PostgreSQL.
Disponvel
para
download
em
http://www.pgadmin.org/download.
Oracle SQL Developer verso 2.1.1.6 Ferramenta grfica para
desenvolvimento de bancos de dados Oracle. Permite navegar em
objetos de banco de dados, executar instrues e scripts SQL, editar e
debugar instrues PL/SQL.
Para elaborao dos diagramas foi utilizado o astah community 6.3 e para a
elaborao dos grficos foi utilizado o Microsoft Excel 2010.
4.2
DESENVOLVIMENTO DA APLICAO
A aplicao referente a uma loja de calados e permite gerenciamento de
39
DESENVOLVIMENTO
40
TB_CLIENTE;
TB_CALADO;
TB_CALADO_VENDA;
TB_FUNCIONARIO;
TB_VENDA;
41
FNC_LISTAR_CLIENTE;
FNC_LISTAR_FUNCIONARIO;
FNC_LISTAR_CALCADO;
FNC_LISTAR_VENDA;
42
ltimo
id
registrado
no
banco.
Usado
na
procedure
de
atualizao
PRC_OBTER_PK_CLIENTE;
PRC_OBTER_PK_FUNCIONARIO;
PRC_OBTER_PK_CALADO;
PRC_OBTER_PK_VENDA;
43
PRC_ATUALIZAR_CLIENTE;
PRC_ATUALIZAR_FUNCIONARIO;
PRC_ATUALIZAR_CALCADO;
PRC_ATUALIZAR_VENDA;
Nos
Quadros
16
17
seguem
os
cdigos
de
criao
da
44
possvel notar como existe pouca diferena estrutural das procedures nas
duas linguagens.
45
PRC_OBTER_POR_ID_CLIENTE;
PRC_OBTER_POR_ID_FUNCIONARIO;
PRC_OBTER_POR_ID_CALCADO.
PRC_OBTER_POR_ID_VENDA.
46
PRC_APAGAR_CLIENTE;
47
48
49
50
51
52
53
A Figura 13 mostra quais so os passos para que seja feita uma gravao ou
uma atualizao dos dados.
54
55
56
57
58
59
60
O primeiro passo para realizar uma venda adicionar quais calados sero
utilizados. O usurio clica no boto + e escolhe qual calado ser adicionado
venda (Figura 17).
61
62
Figura 19 - Tela de venda com todos os dados inseridos prestes a ser realizada
Fonte: Autoria Prpria
63
64
mtodo
insereCalcado_Venda()
chama
procedure
65
66
67
68
69
TESTES DE DESEMPENHO
Para a realizao dos testes de desempenho, foi utilizada a ferramenta P6Spy
70
foram
realizados
os
testes
sobre
funo
71
Grfico 2 - fnc_listar_calcado
- 30 repeties Oracle
Fonte: Autoria Prpria.
Grfico 3 - fnc_listar_calcado
- 60 repeties Oracle
Fonte: Autoria Prpria.
Os testes mostraram que sempre o primeiro resultado era o que levava mais
tempo para ser processado e por sarem da mdia geral influenciavam um pouco no
resultado dela.
5.1.2 Testes da funo FNC_LISTAR_CALCADO PostgreSQL
A
segunda
parte
dos
testes
foram
realizados
sobre
funo
Grfico 4 - fnc_listar_calcado
- 10 repeties PostgreSQL
Fonte: Autoria Prpria.
Grfico 5 - fnc_listar_calcado
- 30 repeties PostgreSQL
Fonte: Autoria Prpria.
Grfico 6 - fnc_listar_calcado
- 60 repeties PostgreSQL
Fonte: Autoria Prpria.
72
5.2
Grfico 7- Testes
prc_atualizar_funcionario - 10
repeties Oracle
Fonte: Autoria Prpria.
Grfico 8 - Testes
prc_atualizar_funcionario - 30
repeties Oracle
Fonte: Autoria Prpria.
Grfico 9 - Testes
prc_atualizar_funcionario - 60
repeties Oracle
Fonte: Autoria Prpria.
O teste com 10 repeties mostrou uma grande variao entre uma repetio
e outra, sendo que a repetio mais demorada foi a de nmero 6. No teste de 30
repeties o tempo tendeu a se estabilizar conforme as repeties iam acontecendo,
demonstrando pouca variao. J no teste de 60 repeties a variao foi maior
sendo que o maior tempo foi alcanado na metade dos testes.
73
Grfico 10 - Testes
prc_atualizar_funcionario- 10
repeties PostgreSQL
Fonte: Autoria Prpria.
Grfico 11 - Testes
prc_atualizar_funcionario - 30
repeties PostgreSQL
Fonte: Autoria Prpria.
Grfico 12 - Testes
prc_atualizar_funcionario- 60
repeties - PostgreSQL
Fonte: Autoria Prpria.
74
5.3
Grfico 13 - Testes
prc_atualizar_cliente 10
repeties ORACLE
Fonte: Autoria Prpria.
Grfico 14 - Testes
prc_atualizar_cliente 30
repeties ORACLE
Fonte: Autoria Prpria.
Grfico 15 - Testes
prc_atualizar_cliente 60
repeties ORACLE
Fonte: Autoria Prpria.
Grfico 16 - Testes
prc_atualizar_cliente 10
repeties PostgreSQL
Fonte: Autoria Prpria.
Grfico 17 - Testes
prc_atualizar_cliente 30
repeties PostgreSQL
Fonte: Autoria Prpria.
Grfico 18 - Testes
prc_atualizar_cliente 60
repeties PostgreSQL
Fonte: Autoria Prpria.
75
5.4
76
Grfico 19 - Testes
prc_apagar_funcionario 10
repeties Oracle
Fonte: Autoria Prpria.
Grfico 20 - Testes
prc_apagar_funcionario 30
repeties Oracle
Fonte: Autoria Prpria.
Grfico 21 - Testes
prc_apagar_funcionario 60
repeties Oracle
Fonte: Autoria Prpria.
Grfico 22 - Testes
prc_apagar_funcionario 10
repeties PostgreSQL
Fonte: Autoria Prpria.
Grfico 23 - Testes
prc_apagar_funcionario 30
repeties PostgreSQL
Fonte: Autoria Prpria.
Grfico 24 - Testes
prc_apagar_funcionario 60
repeties PostgreSQL
Fonte: Autoria Prpria.
77
78
CONSIDERAES FINAIS
6.1
CONCLUSO
Uma das concluses que se pode tirar desse trabalho a capacidade das
Oracle
PostgreSQL
Resultados
3,38
140
0
3,32
0,38
16,25
261
5
2,41
0,34
A mdia geral do Oracle foi bem inferior mdia do PostgreSQL, seu maior
valor mximo e seu menor valor mnimo tambm foram menores. A variao do
Oracle foi maior j que tanto seu maior coeficiente de variao como o seu menor
foram maiores que os do banco PostgreSQL demonstrando que o ltimo tende a se
manter estvel conforme executado no alterando sua velocidade tanto para mais
quanto para menos.
Os testes demostraram que no caso estudado o desempenho do Oracle 10g
XE e sua linguagem PL/SQL foi sempre superior ao PostgreSQL 8.4 e a sua
linguagem PL/pgSQL mas valido lembrar que este um banco de dados livre de
cdigo aberto mantido por uma comunidade e mesmo assim um banco bastante
79
robusto, com muitos recursos e em constante evoluo, sendo uma tima alternativa
para quem busca um banco open-source para trabalhar com seus dados.
Ambos os bancos de dados so de fcil instalao, a integrao deles com o
Java bastante simples devido as bibliotecas fornecidas pelos criadores. Eles
possuem bastante documentao disponvel e uma comunidade madura e ativa.
Livros, dicas e informaes esto disponveis em grande quantidade pela Internet
facilitando muito o trabalho de quem deseja se aprofundar na rea de banco de
dados.
6.2
80
REFERNCIAS BIBLIOGRFICAS
1KEYDATA.
SQL
Constraint.
2011.
Disponvel
em
<
http://www.1keydata.com/sql/sql-constraint.html>. Acessado em 02 de Agosto de
2011.
CHAMBERLIN, Don. Encyclopedia of Database Systems Volume I. Nova York,
Springer Science+Businnes Media, 2009.
DEMOISELE.
Documentao
Persistence.
2010.
Disponvel
em:
<
http://www.frameworkdemoiselle.gov.br/modulo/frameworkpersistence/persistence/docs#Criao_de_Classe_POJO>. Acessado em 4 de Julho
de 2011.
DOEDERLEIN, Osvaldo Pinali. Oracle para desenvolvedores Java. 2009.
Disponvel em <http://www.devmedia.com.br/post-8620-Artigo-Java-Magazine-43Oracle-para-Desenvolvedores-Java.html>. Acessado em 3 de Agosto de 2011.
EEMBLEY, W, David. Encyclopedia of Database Systems Volume I. Nova York,
Springer Science+Businnes Media, 2009.
ESPAOINFO. SGBD: O que ?. 2011. Disponvel em <http://espacoinfo.net/o-quee-sgbd-bd-ii/> Acessado em 02 de Maro de 2011.
FEUERSTEIN, Steven; PRlBYL, Bill; Oracle PL/SQL Programming 5th Edition.
2009. OReilly Media Inc, Sebastopol.
FERRARI, Fabrcio. Crie Banco de Dados em MySQL. 2007. So Paulo. Digerati
Books.
FOSTER, Ian. O que a Computao em Grelha (Grid Computing)?. 2011.
Disponvel em < http://visibilidade.net/tutorial/computacao-Grid.html> . Acessado em
06 de Maio de 2011.
GOYA, Milton; PL/SQL - Procedures e Funes. 2004. Disponvel em:
<http://www.linhadecodigo.com.br/ArtigoImpressao.aspx?id=335> Acessado em 16
de Abril de 2011.
HELLAND, Pat. Encyclopedia of Database Systems Volume I. Nova York,
Springer Science+Businnes Media, 2009.
JAVA WIKI. Java. 2011. Disponvel em: <http://java.wikia.com/wiki/Java> Acessado
em 29 de Julho de 2011.
81
JAVAFREE.
Tutorial Java: O que Java?. 2009. Disponvel em:
<http://javafree.uol.com.br/artigo/871498/>. Acessado em 23 de Junho de 2011.
KALLAS, Csar. PUC Campinas Apostila de PLSQL. 2008. Disponvel em:
<www.cesarkallas.net/arquivos/faculdade/banco_dados2/PLSQL/Apostila_PLSQL.do
c ->. Acessado em 20 de Abril de 2011.
MENEZES, ANGLO; BARROSO, LISBNIO; TAXIMAN, SERIMAMIS; ALVES,
VAGNER; CARODOSO, ANTNIO. Banco de Dados Uma viso geral. 2008.
Disponvel em < http://pt.scribd.com/doc/15262732/Banco-de-Dados-Uma-VisaoGeral> Acessado em 02 de Maro de 2011.
MOJIAN, Bruce. PostgreSQL: Introduction and Concepts. 2001. Pearson
Education, Upper Saddle River.
NOVELLI, Mrcio. SGBD - Sistema Gerenciador de Banco de Dados. 2006.
Disponvel
em
<
http://www.plugmasters.com.br/sys/materias/108/1/SGBD--Sistema-Gerenciador-de-Banco-de-Dados> Acessado em 02 de Maro de 2011.
ORACLE. Oracle Database PL/SQL User's Guide and Reference. 2005.
Disponvel
em
<http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/overview.htm#
LNPLS001> . Acessado em 04 de Julho de 2011.
ORACLE. Introduo ao Oracle: SQL e PL/SQL. 2000. Oracle do Brasil Sistemas
Ltda. So Paulo.
ORACLE.
Oracle8i
Concepts.
1999.
Disponvel
em
http://www.cs.umbc.edu/portal/help/oracle8/server.815/a67781/c08schem.htm>
Acessado em 05 de Julho de 2011.
<
.
82
Systems
Third
Edition.