Criando uma Aplicação Orientada pelo 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 7.2, 7.3, 7.4 e 8.0

Esta lição descreve a última etapa preliminar no desenvolvimento da aplicação da Lista de Desejos: a criação de um banco de dados de amostra com dados de teste. Para concluir as etapas deste tutorial, você precisará de um banco de dados para armazenar os dados dos wishers. Com o NetBeans IDE, você pode realizar todas essas atividades usando a interface do IDE.
Antes de começar, veja os requisitos do tutorial descritos em Criando uma Aplicação CRUD com PHP - Página Principal.

O documento atual é uma parte do tutorial Criando uma Aplicação CRUD no NetBeans IDE para PHP.


Criando o Usuário do Banco de Dados

Nesse procedimento, primeiro você cria um usuário e, em seguida, cria as tabelas como aquele usuário.

Você pode 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 buids 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, consulte o tutorial Conectando-se 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
Atribuições (Banco de Dados Oracle 10.x) CONNECT
RESOURCE

Segue um exemplo de conjunto de comandos SQL para criar esst 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 Amostra

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

  • Uma tabela de wishers para armazenar nomes e senhas de usuários registrados
  • Uma tabela de desejos para armazenar descrições de desejos
Estrutura do banco de dados de amostra: duas tabelas estão relacionadas por meio do wisher ID

A tabela de wishers contém três campos:

  1. id - a identificação exclusiva de um wisher. Este campo é usado como a Chave Primária
  2. nome
  3. senha

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 wisher 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 por meio do wisher ID. Todos os campos são obrigatórios, exceto due_date em desejos.

Criando o Esquema do Banco de Dados Oracle

  1. Faça log-in 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. (Consulte a seção Estabelecendo uma Conexão com o Banco de Dados Oracle do tutorial Conectando-se 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 wishes, 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 sã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 serão listadas no nó Tabelas. (Se elas não aparecerem, clique com o botão direito do mouse na conexão e selecione Atualizar.)
    Tabelas do banco de dados, conforme mostrado na janela Serviços do NetBeans IDE

Observação: Você pode fazer download de um conjunto de comandos SQL para criar as tabelas do Banco de Dados Oracle aqui.

Adicionando Sequências e triggers 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 trigger.

  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 à tabela wishes.
    create sequence wishes_id_seq start with 1 increment by 1;
  4. Adicione um trigger 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 fazer download de um conjunto de comandos SQL para criar as tabelas do Banco de Dados Oracle, incluindo sequências e triggers, aqui.

Inserindo os Dados de Teste

Para testar a aplicação, você precisará de alguns dados no banco de dados. O exemplo abaixo mostra como adicionar dois wishers 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 exibir os dados de teste, clique com o botão direito do mouse na tabela relevante e, no menu de contexto, selecione Exibir Dados.
    Visualizando os dados de teste inseridos usando a interface do NetBeans IDE

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

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

Observação: Você pode fazer download de um conjunto de comandos SQL para criar as tabelas do Banco de Dados Oracle 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 das funcionalidades de desenvolvimento PHP do NetBeans IDE, junte-se à lista de correspondência .

Voltar à Trilha de Aprendizado PHP
get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo