quinta-feira, 19 de janeiro de 2012

Exemplo de Aplicação Java Swing com BD Oracle - 1

Hoje vamos iniciar uma série de artigos que culminarão com uma pequena aplicação exemplo de gestão de biblioteca, feita em Java, para ambiente desktop usando classes Java Swing, e acedendo a uma base de dados (BD) Oracle.

Este primeiro artigo trata da criação de uma pequena Base de Dados em Oracle. Foi usado o Oracle Express 10g, o qual pode ser downloaded gratuitamente em http://www.oracle.com/technetwork/database/express-edition/downloads/102xewinsoft-090667.html. Há já uma versão mais recente do Oracle Express, a 11g release 2, a qual pode ser obtida em http://www.oracle.com/technetwork/database/express-edition/downloads/index.html e com a qual o exemplo também deverá funcionar.

Após a instalação do Oracle, podemos aceder à ferramenta de administração da base de dados indo ao botão Iniciar --> Todos os Programas --> Oracle Database 10g Express Edition --> Ir para a Home Page de Banco de Dados  ou, num browser, ir a http://localhost:8080/apex.

Deverá, então, aparecer uma página para efectuarmos o login na ferramenta de administração:



Devemos entrar com o utilizador SYSTEM e a password que definimos para esse utilizador durante o processo de instalação.
Após entrar aparece-nos o ambiente de trabalho:



Neste ponto, devemos, primeiramente, criar um utilizador (Administration --> Database Users --> Create User). Criámos o utilizador libraryuser, o qual irá ser, depois, usado para criar as tabelas da BD e também para aceder à BD a partir da aplicação Java. É necessário dar-lhe permissão de CREATE TABLE e CREATE SEQUENCE, podendo também ser-lhe dada permissão para CREATE VIEW, CREATE PROCEDURE, e CREATE TRIGGER.



O user com que são criadas as tabelas da base de dados irá ficar como prefixo da tabela (schema) e, dependendo dos direitos de acesso, pode ficar restringido a ver apenas as "suas" tabelas.


A referencia a uma coluna de uma tabela, em Oracle, tem a seguinte estrutura:

"schema"."table"."column"
 

O schema pode ter 30 bytes, o nome da tabela mais 30 bytes, e o nome da coluna mais 30 bytes.
O comprimento total máximo de um identificador de coluna é, portanto, de 98 bytes (se contarmos os pontos e aspas).

Não devemos, portanto, usar o user SYSTEM para criar tabelas de utilizador, e muito menos para aceder à base de dados a partir de uma aplicação.

Claro que para uma aplicação brinquedo isso não é importante.

O passo seguinte será, então, fazer logout de SYSTEM na ferramenta de administração, e fazer login com o novo user criado (libraryuser).

Agora, podemos criar as tabelas da nossa base de dados, as quais irão ficar com schema libraryuser, pois é esse o utilizador que vamos usar na sua criação.


Queremos criar as tabelas conforme o seguinte modelo:


Vamos então criar as tabelas:


Aqui estão os passos para criar a tabela AUTHOR:


A tabela Author tem uma chave primária (Primary Key), a qual será povoada a partir de uma nova sequência:


O ORACLE irá criar uma nova sequência e um trigger para povoar a chave primária:

A tabela AUTHOR não tem foreign keys, nem outros check constraints.




Mas, note-se que, no nosso esquema de base de dados, a tabela BookAuthor tem que ter duas chaves estrangeiras (referenciando Book e Author), e a tabela BookCopy tem que ter uma chave estrangeira referenciando Book.

Após a criação de todas as tabelas...




No próximo artigo iremos criar uma classe em Java para aceder à base de dados criada.
Se tiverem problemas, coloquem as vossas perguntas nos comentários a este artigo.

Outros artigos relacionados:
     - Exemplo de Aplicação Java Swing com BD Oracle - 2
     - Exemplo de Aplicacao Java Swing com BD Oracle - 3
     - Exemplo de Aplicacao Java Swing com BD Oracle - 4



Sem comentários:

Enviar um comentário