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 tabela de criadores de desejos contém três campos:
id - a identificação exclusiva de um criador de desejos. Este campo é usado como a Chave primária
nome
password
A tabela de desejos contém quatro campos:
id - a identificação exclusiva de um desejo. O campo é usado como a Chave primária
wisher_id - a identificação do criador a quem o desejo pertence. O campo é usado como a Chave estrangeira.
descrição
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
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.)
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) );
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) );
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.)
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.
Para adicionar uma sequência na tabela wishers, execute o seguinte comando SQL:
create sequence wishers_id_seq start with 1 increment by 1;
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; /
Adicione uma sequência para a tabela wishes.
create sequence wishes_id_seq start with 1 increment by 1;
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.
Adicione um wisher chamado Tom com a senha 'tomcat'.
insert into wishers (name, password) values ('Tom','tomcat');
Adicione um wisher chamado Jerry com a senha 'jerrymouse'.
insert into wishers (name, password) values ('Jerry', 'jerrymouse'); commit;
insert into wishes (wisher_id, description) values (2, 'Candle'); commit;
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.
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 .