corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

Criando um aplicativo direcionado a banco de dados com o PHP

Lição 1b: Criando tabelas do banco de dados Oracle

O conteúdo desta página se aplica ao NetBeans IDE 6.9-7.0

Esta lição descreve a última etapa preliminar no desenvolvimento do aplicativo de lista de desejos: a criação de um banco de dados de exemplo com dados de teste. Para concluir as etapas neste tutorial, você precisará de um banco de dados no qual armazenar os dados dos criadores de desejos. Com o NetBeans IDE, você pode realizar todas essas atividades através da interface do IDE.
Antes de começar, veja os requisitos do tutorial descritos em Criando um aplicativo CRUD com PHP - Página principal.

O documento atual é uma parte do tutorial Criando um aplicativo CRUD no NetBeans IDE para PHP.


Criando usuário do banco de dados

Neste procedimento, primeiro você cria um usuário e, a seguir, cria as tabelas como aquele usuário.

É possível criar um usuário com as ferramentas do Oracle ou conetando o NetBeans IDE ao banco de dados e usando o editor SQL do IDE. O NetBeans 7.0, atualmente disponível apenas como compilações beta ou de desenvolvimento, fornece conexão aprimorada a bancos de dados Oracle. Para saber como conectar o NetBeans IDE ao banco de dados Oracle e como criar um usuário naquele banco de dados, veja o tutorial Conectando a um banco de dados Oracle.

Usando a ferramenta de sua preferência, crie o seguinte usuário:

Nome do usuário phpuser
Password phpuserpw
Privilégios do sistema CREATE TABLE
CREATE VIEW
CREATE SEQUENCE
CREATE TRIGGER
Funções (Banco de dados Oracle 10.x) CONNECT
RESOURCE

Segue um exemplo de conjunto de comandos SQL para criar este usuário. Esses comandos presumem que o banco de dados tem os espaços de tabela USERS e TEMP.

drop user phpuser cascade;

create user phpuser identified by phpuserpw;

grant connect, resource to phpuser;

alter user phpuser default tablespace users temporary tablespace temp account unlock;

Criando a estrutura do banco de dados de exemplo

Para organizar e armazenar todos os dados necessários, você precisa de duas tabelas:

  • Uma tabela de criadores de desejos para armazenar nomes e senhas de usuários registrados
  • Uma tabela de desejos para armazenar descrições de desejos
A estrutura do banco de dados de exemplo: duas tabelas são relacionadas através de wisher-id

A tabela de criadores de desejos contém três campos:

  1. id - a identificação exclusiva de um criador de desejos. Este campo é usado como a Chave primária
  2. nome
  3. password

A tabela de desejos contém quatro campos:

  1. id - a identificação exclusiva de um desejo. O campo é usado como a Chave primária
  2. wisher_id - a identificação do criador a quem o desejo pertence. O campo é usado como a Chave estrangeira.
  3. descrição
  4. due_date - a data para a qual o desejo foi solicitado

As tabelas são relacionadas através da id do criador de desejos. Todos os campos são obrigatórios, exceto due_date em desejos.

Criando o esquema do banco de dados

  1. Faça logon no banco de dados como o usuário que você criou.

    Se estiver se conectando por meio do NetBeans IDE, crie uma conexão com o nome e a senha do novo usuário. Assegure-se de selecionar o esquema com o mesmo nome que o do usuário. (Veja a seção Estabelecendo uma conexão ao banco de dados Oracle do tutorial Conectando a um banco de dados Oracle.)

  2. Para criar a tabela wishers, execute a seguinte consulta SQL:
    create table wishers (
    id number not null,
    name varchar2(50) unique not null,
    password varchar2(50) not null,
    constraint wishers_pk primary key(id)
    );
  3. Para criar a tabela de desejos. execute a consulta SQL a seguir. Observe que você cria uma chave estrangeira que associa wishes com um wisher.
    create table wishes (
    id number not null,
    wisher_id number not null,
    description varchar2(255) not null,
    due_date date,
    constraint wishes_pk primary key(id),
    constraint wishes_fk1 foreign key(wisher_id) references wishers(id)
    );
  4. Verifique se as novas tabelas estão adicionadas no banco de dados. Se você estiver usando o NetBeans IDE para se conetar ao banco de dados, acesse a janela Serviços do nó de conexão jdbc:oracle:thin:@localhost:1521:XE [phpuser on PHPUSER]. As novas tabelas estão listadas no nó Tabelas. (Se elas não aparecerem, clique com o botão direito do mouse na conexão e selecione Atualizar.)
    As tabelas do banco de dados como mostradas na janela Serviços do NetBeans IDE

Observação: Você pode baixar um conjunto de comandos SQL para criar as tabelas do banco de dados aqui.

Adicionando sequências e acionadores para incrementar os valores de ID

Com o banco de dados Oracle, você deve especificar uma sequência para incrementar um valor. Para que o valor seja incrementado quando um novo membro é adicionado a uma tabela, você adiciona um acionador.

  1. Para adicionar uma sequência na tabela wishers, execute o seguinte comando SQL:
    create sequence wishers_id_seq start with 1 increment by 1;
  2. Para acionar a sequência na coluna ID da tabela wishers quando você adiciona um novo wisher, execute o seguinte comando SQL:
    create or replace trigger wishers_insert
    before insert on wishers
    for each row
    begin
    select wishers_id_seq.nextval into :new.id from dual;
    end;
    /
  3. Adicione uma sequência para a tabela wishes.
    create sequence wishes_id_seq start with 1 increment by 1;
  4. Adicione um acionador para executar a sequência na coluna ID da tabela wishes quando você adiciona um novo wish.
    create or replace trigger wishes_insert
    before insert on wishes
    for each row
    begin
    select wishes_id_seq.nextval into :new.id from dual;
    end;
    /

Observação: Você pode baixar um conjunto de comandos SQL para criar as tabelas do banco de dados, incluindo sequências e acionadores, aqui.

Inserindo os dados de teste

Para testar o aplicativo, você precisará de alguns dados no banco de dados. O exemplo abaixo mostra como adicionar dois criadores de desejos e quatro desejos.

  1. Adicione um wisher chamado Tom com a senha 'tomcat'.
    insert into wishers (name, password) values ('Tom','tomcat');
  2. Adicione um wisher chamado Jerry com a senha 'jerrymouse'.
    insert into wishers (name, password) values ('Jerry', 'jerrymouse');
    commit;
  3. Adicione os wishes.
    insert into wishes (wisher_id, description, due_date) 
    values (1, 'Sausage', to_date('2008-04-01', 'YYYY-MM-DD'));

    insert into wishes (wisher_id, description)
    values (1, 'Icecream');


    insert into wishes (wisher_id, description, due_date) values (2, 'Cheese', to_date('2008-05-01', 'YYYY-MM-DD'));

    insert into wishes (wisher_id, description)
    values (2, 'Candle');
    commit;
  4. Verifique se você adicionou dados de teste. Se você estiver usando o NetBeans IDE para visualizar os dados de teste, clique com o botão direito do mouse na tabela relevante e, do menu de contexto, escolha Exibir dados.
    Exibindo os dados de teste inseridos usando a interface do NetBeans IDE

Para obter um conhecimento geral dos princípios de bancos de dados e padrões de design, consulte o seguinte tutorial: http://www.tekstenuitleg.net/en/articles/database_design_tutorial/1.

Para obter mais informações sobre a sintaxe das declarações de CREATE TABLE do Oracle, consulte http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7002.htm.

Observação: Você pode baixar um conjunto de comandos SQL para criar as tabelas do banco de dados aqui.

Próxima etapa

Próxima lição >>

Voltar à página principal do tutorial



Para enviar comentários e sugestões, obter suporte e manter-se informado sobre os desenvolvimentos mais recentes dos recursos de desenvolvimento em PHP no NetBeans IDE, junte-se à lista de usuários .

Voltar à trilha do aprendizado PHP