Criando uma Aplicação Orientada pelo Banco de Dados com o PHP

Lição 1: Criando um Banco de Dados MySQL

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.


Registrando um Servidor MySQL

Se você não tiver um servidor de banco de dados MySQL registrado no IDE ou quiser informações gerais sobre como usar MySQL com o NetBeans IDE, consulte Estabelecendo Conexão com um Banco de Dados MySQL.

Criando o Usuário do Banco de Dados

Antes de criar um banco de dados, você precisa criar o usuário que terá o direito de realizar todas as operações no banco de dados. A Criação de um Usuário de Banco de Dados envolve:

  1. Inicie o IDE, alterne para a janela Serviços (Ctrl-5) e expanda o nó do Banco de Dados.
  2. Para conectar ao servidor de banco de dados MySQL, navegue para o nó do Servidor MySQL e, do menu de contexto, selecione Conectar.
    Estabelecendo conexão com o servidor MySQL usando a interface NetBeans IDE: selecionar Conectar no menu de contexto
  3. O NetBeans IDE conecta-se ao servidor MySQL, verifica quais bancos de dados estão disponíveis pelo servidor, detecta o banco de dados do sistema mysql, e adiciona o novo nó correspondente mysql na árvore Bancos de Dados.
    Um novo nó MySQL é adicionado à árvore de Bancos de Dados
  4. Para executar um comando SQL, você precisa estar conectado a um banco de dados. Como somente o sistema MySQL está disponível, você precisa se conectar ao mesmo. Para conectar ao banco de dados do sistema, navegue até o nó mysql e, no menu de contexto, selecione Conectar. Se uma conexão ainda não existir, a caixa de diálogo Nova Conexão de Banco de Dados será exibida. O campo Nome do Usuário está preenchido, por default, com raiz. No campo Senha, insira a senha do usuário raiz.

    Observação: se você estabeleceu conexão ao banco de dados mysql antes, esta caixa de diálogo não aparecerá. Em vez disso, o novo nó de conexão simplesmente aparece na árvore.

    Criando uma nova conexão do banco de dados
    A caixa de diálogo Nova Conexão de Banco de Dados mostra a mensagem "Conexão estabelecida". Clique em OK. Um novo nó chamado jdbc:mysql://localhost:3306/mysql é adicionado na árvore do Bancos de Dados.
  5. Navegue até o nó jdbc:mysql://localhost:3306/mysql e no menu de contexto selecione Executar Comando.
    Selecionando Executar comando no menu de contexto
    Uma janela de Comando SQL é aberta. Na janela Comando SQL, use uma sintaxe similar à seguinte instrução:
    CREATE USER 'phpuser'@'localhost' 
    IDENTIFIED BY 'phpuserpw'
    No menu de contexto, selecione Executar Instrução. Se o comando for executado com êxito, a barra de Status exibirá a mensagem: "Instrução(ões) SQL executada(s) com êxito". Se outra mensagem for exibida, verifique a sintaxe e siga as dicas da mensagem.

Criando um Banco de Dados da Lista de Desejos

Para criar o banco de dados:

  1. Navegue para o nó Servidor MySQL em localhost:3306 e, no menu de contexto, selecione Criar Banco de Dados. A caixa de diálogo Criar Banco de Dados MySQL é exibida. Preencha os campos:
    • No campo Nome do Banco de Dados, insira a lista de desejos.
    • Ative a caixa de seleção Conceder acesso total ao usuário e, na lista drop-down, selecione . Clique em OK.
      Crie a caixa de diálogo banco de dados. Concedendo direitos de acesso para o usuário recém-criado

      A função “Conceder acesso total ao usuário” nem sempre funciona. Caso não funcione, conecte-se ao banco de dados como usuário raiz e envie a consulta SQL GRANT ALL ON wishlist.* TO .

    Uma conexão ao banco de dados é exibida na árvore. No entanto, a conexão é para o usuário raiz. Você precisa de uma conexão para o usuáriophpuser.

Estabelecendo uma Conexão com o Banco de Dados da Lista de Desejos

No fim da seção anterior, você criou o banco de dados wishlist com uma conexão ao usuário raiz. Agora você cria uma nova conexão para o usuário phpuser.

  1. Na janela Serviços, clique com o botão direito do mouse no nó Bancos de Dados e selecione Nova Conexão. O Assistente Nova Conexão será aberto.
    Menu de contexto conexão ao banco de dados mostrando o item Propriedades
  2. No painel Novo Driver de Localização do Assistente de Conexão, selecione o MySQL (Driver Conector/J). Clique em Próximo. O painel Personalizar Conexão é aberto.
    Painel Localizar Driver do Assistente Nova Conexão
  3. No campo Banco de Dados, digite wishlist.
  4. Nas caixas de edição Nome do Usuário e Senha, insira o nome e a senha especificados na seção Criando o Proprietário (Usuário) do Banco de Dados (em nosso exemplo phpuser e !phpuser respectivamente). Marque Lembrar Senha. Clique em Testar Conexão e se a conexão for bem-sucedida, clique em OK.
    Painel Personalizar Conexão Concluído do assistente Nova Conexão

O nó correspondente à nova conexão é exibido na árvore do Bancos de Dados. Agora você pode deletar a conexão do usuário raiz para o banco de dados wishlist. Clique na conexão jdbc:mysql://localhost:3306/wishlist [raiz no esquema Default] e escolha Deletar.

O nó da nova conexão foi adicionado à árvore do Bancos de Dados

Criando a Estrutura do Banco de Dados da Lista de Desejos

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 as Tabelas

  1. Para conectar ao banco de dados, na conexão jdbc:mysql://localhost:3306/wishlist, clique com o botão direito do mouse e selecione Conectar no menu de contexto.
    Observação: se o item de menu estiver desativado, você já está conectado. Prossiga com a etapa 2.
  2. No mesmo menu de contexto, selecione Executar Comando. Uma janela Comando SQL vazia é aberta.
  3. Para criar a tabela de wishers,
    1. Digite a seguinte Consulta SQL (observe que é preciso definir explicitamente os conjuntos de caracteres como URF-8 para internacionalização):
      CREATE TABLE wishers(
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
      name CHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL UNIQUE,
      password CHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
      )
      Observação: você pode obter um número exclusivo gerado automaticamente do MySQL especificando a propriedade AUTO_INCREMENT de um campo. O MySQL irá gerar um número exclusivo incrementando o último número da tabela e adicionará automaticamente ao campo incrementado. No nosso exemplo, o campo ID é incrementado automaticamente.
    2. Clique com o botão direito do mouse na consulta e selecione Executar Instrução no menu de contexto.

      Observação: O mecanismo de armazenamento default do MySQL é o MyISAM, que não é compatível com teclas estrangeiras. Caso deseje usar teclas estrangeiras, considere usar InnoDB como mecanismo de armazenamento.

  4. Para criar a tabela de desejos:
    1. Digite a seguinte consulta SQL:
      CREATE TABLE wishes(
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
      wisher_id INT NOT NULL,
      description CHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      due_date DATE,
      FOREIGN KEY (wisher_id) REFERENCES wishers(id)
      )
    2. Clique com o botão direito do mouse na consulta e selecione Executar Instrução no menu de contexto.
  5. Para verificar se as novas tabelas foram adicionadas ao banco de dados, alterne para a janela Serviços e navegue para o nó da conexão jdbc:mysql://localhost:3306/wishlist.
  6. Clique com o botão direito do mouse e selecione Atualizar. Os nós de wishers e desejos aparecem na árvore.

Observação: você pode fazer download de um conjunto de comandos SQL para criar aqui o banco de dados da lista de desejos MySQL.

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. Na conexão jdbc:mysql://localhost:3306/wishlist, clique com o botão direito do mouse e selecione Executar Comando. Uma janela Comando SQL vazia é aberta.
  2. Para adicionar um wisher, use uma sintaxe similar ao exemplo abaixo:
    INSERT INTO wishers (name, password) 
    VALUES ('Tom', 'tomcat');
    Clique com o botão direito do mouse na consulta e, no menu de contexto, selecione Executar Instrução.
    Observação: a instrução não contém um valor para o campo id. Os valores são inseridos automaticamente porque o tipo de campo é especificado como AUTO_INCREMENT.
    Inserir outro wisher de teste:
    INSERT INTO wishers (name, password) 
    VALUES ('Jerry', 'jerrymouse');
  3. Para adicionar os desejos, use uma sintaxe similar ao exemplo abaixo:
    INSERT INTO wishes (wisher_id, description, due_date) 
    VALUES (1, 'Sausage', 080401);
    INSERT INTO wishes (wisher_id, description)
    VALUES (1, 'Icecream');
    INSERT INTO wishes (wisher_id, description, due_date)
    VALUES (2, 'Cheese', 080501);
    INSERT INTO wishes (wisher_id, description)
    VALUES (2, 'Candle');

    Selecione as consultas, clique com o botão direito do mouse em cada consulta e, no menu de contexto, selecione Executar Seleção.

    Observação: você também pode executar as consultas uma após a outra, conforme descrito no item 2.

  4. Para visualizar 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 de MySQL, consulte http://dev.mysql.com/doc/refman/5.0/en/create-table.html.

Para obter mais informações sobre como inserir valores na tabela, consulte http://dev.mysql.com/doc/refman/5.0/en/insert.html.

Observação: você pode fazer download de um conjunto de comandos SQL para criar aqui o banco de dados da lista de desejos MySQL.

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