phpmyadmin

#5 Curso CodeIgniter – Banco de Dados

Criando o banco de dados

Vamos criar um sistema para suas anotações nesse primeiro sistema, para isso iremos criar um banco de dados que ira conter imagens, anotações, a categoria a qual pertence, o slug da mesma, dentre outras informações. Iremos fazer uma ligação entre as tabelas através do ID de cada anotação gravada, terá também uma gravação automática da data que a anotação foi gravada.

Começaremos criando um banco no PhpMyAdmin ou em outro software de sua escolha que proponha a conexão com bando de dados de seu servidor local.

 

Primeiro passo

Esse banco deverá ser utf8_general_ci, se chamara anotacoes.

 

Segundo passo

Agora devemos criar as tabelas, a primeira ira ser a categorias, para isso basta executar o comando SQL:

 

CREATE TABLE anotacoes.categorias(

   id_categoria INTEGER UNSIGNED  AUTO_INCREMENT NOT NULL,

   categoria VARCHAR(45) NOT NULL,

   slug_categoria VARCHAR(255) NOT NULL,

PRIMARY KEY (id_categoria)

) ENGINE = InnoDB;

 

O tipo varchar especifica o total máximo de caracteres aceitos, e o valor auto_increment significa que ele vai ser acrescentado automaticamente ao adicionar mais uma linha na tabela. Se preferir pode criar manualmente a tabela desde que ela seja da seguinte maneira.

  • id_categoria – Inteiro, auto incremento.
  • categoria – Até 45 caracteres de texto.
  • slug_categoria – Até 255 caracteres de texto.

Terceiro passo

A próxima tabela a ser criada vai ser  a tabela de anotações que se chamara anotacoes, iremos executar o seguinte código:

 

DROP TABLE IF EXISTS anotacoes.anotacoes;

CREATE TABLE anotacoes.anotacoes (

id_anotacao int unsigned AUTO_INCREMENT PRIMARY KEY NOT NULL,

nome VARCHAR(255) NOT NULL,

slug_anotacao VARCHAR(255) NOT NULL,

texto TEXT NOT NULL,

categoria int UNSIGNED NOT NULL,

foto VARCHAR(45) DEFAULT NULL,

data TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,

KEY FK_anotacoes_categoria (categoria),

CONSTRAINT FK_anotacoes_categoria FOREIGN KEY (categoria)

REFERENCES categorias (id_categoria) ON UPDATE CASCADE

) ENGINE = InnoDB;

Após ter criado essa segunda table, agora temos que configurar os arquivos para conectar com o banco de dados.

 

Quarto passo

Vamos habilitar a biblioteca database, para possibilitar a comunicação com o banco. Aba o arquivo:

config/autoload.php

 

Após abrir o arquivo edite a linha 55 para ficar igual a essa:

$autoload[‘libraries’] = array(‘database’);

 

Quinto passo

Na mesma pasta haverá outro arquivo chamado database.php no fim dele você poderá editar as configurações de conexão, no meu caso o usuário do banco de dados e senha são respectivamente:

  • rafael
  • 123456

Sendo assim você configurará de acordo com seus dados de acesso, as informações desse arquivo.

 

Exemplo:

Segue apenas o final do código, que é a parte referente a conexão que você configurará.

 

$db[‘default’][‘hostname’] = ‘localhost’;

$db[‘default’][‘username’] = ‘rafael’;

$db[‘default’][‘password’] = ‘123456’;

$db[‘default’][‘database’] = ‘anotacoes’;

$db[‘default’][‘dbdriver’] = ‘mysql’;

$db[‘default’][‘dbprefix’] = ”;

$db[‘default’][‘pconnect’] = TRUE;

$db[‘default’][‘db_debug’] = TRUE;

$db[‘default’][‘cache_on’] = FALSE;

$db[‘default’][‘cachedir’] = ”;

$db[‘default’][‘char_set’] = ‘utf8’;

$db[‘default’][‘dbcollat’] = ‘utf8_general_ci’;

$db[‘default’][‘swap_pre’] = ”;

$db[‘default’][‘autoinit’] = TRUE;

$db[‘default’][‘stricton’] = FALSE;