Translate

Criação e Inserção de Valores em uma Tabela

Criação e Inserção de Valores em uma Tabela

Criação e Inserção de Valores em uma Tabela

Autor: Profº Paulo Kaupa

 

Um Banco de Dados é formado por Tabelas. Cada tabela é composta por linhas e colunas, onde as colunas identificam a informação que será inserida e as linhas são os registros inseridos, a Figura 1 a seguir exemplifica a formação de uma Tabela.

Figura 1: Exemplo de Tabela

 

A Figura 1 demonstra uma tabela chamada TB_PRODUTO que é composta por duas colunas, CODIGO_PRODUTO e PRODUTO. A coluna CODIGO_PRODUTO é um identificador dos produtos inseridos, é uma coluna chave que irá receber valores numéricos sequencias e que não podem ser repetidos, esta coluna será a chave primária da Tabela (PRIMARY KEY). Já a coluna PRODUTO irá receber o nome do produto, receberá informações do tipo texto que pode receber qualquer caractere.

Foram inseridos na TB_PRODUTO três registros (1, Impressora – 2 Celular – 3 Cabo USB), caso esta tabela receba mais um produto o valor para a coluna CODIGO_PRODUTO receberá o valor 4 e assim sucessivamente (recomenda-se a leitura do artigo Campos auto incremento no Oracle).

Nomenclatura dos campos

Os nomes de Tabelas e dos campos devem seguir um padrão:

  • Sempre iniciar com uma Letra (Entre A até Z).
  • Não pode conter espaços (Utilize Underline/Underscore _ ).
  • Não pode conter caracteres especiais como: &%$*#@
  • Pode conter Números somente a partir do segundo caractere, não pode ser o primeiro.

Por convenção os nomes das tabelas devem ser auto descritivos assim como os nomes das colunas, por exemplo, uma tabela que irá receber informações sobre produtos será nomeada TB_PRODUTO (no singular), assim facilita a compreensão do conteúdo que aquela tabela irá armazenar. Note que foi usado o prefixo TB_, o que facilita a identificação do objeto, quando for visualizado um objeto que tem TB_ em seu nome é possível identificar facilmente que se trata de uma tabela.

As colunas também devem seguir o mesmo padrão adotado para os nomes das tabelas, devem descrever o conteúdo que será inserido, por exemplo a coluna CODIGO_PRODUTO identifica facilmente que as informações ali inseridas serão códigos de produtos.

 

 

Criação da Tabela (TB_PRODUTO)

A primeira etapa para a criação de uma Tabela é identificar quais serão as colunas que irão compor esta Tabela, no caso da TB_PRODUTO as colunas são:

  • CODIGO_PRODUTO
  • PRODUTO

Após identificar as colunas, é necessário analisar os tipos de dados que cada coluna irá armazenar (Para mais informações sobre tipos de dados consulte o artigo Tipos de Dados do Oracle). A coluna CODIGO_PRODUTO será responsável por identificar cada produto com o objetivo de diferenciar este produtos, como se fosse um CPF ou RG que identifica unicamente cada pessoa (não podem existir duas pessoas com o mesmo identificador).

Logo para esta coluna (CODIGO_PRODUTO) identifica-se a necessidade de armazenar valores numéricos e sequenciais. O tipo de dados será numérico inteiro, no PL/SQL usa-se o tipo NUMBER(38).

Para a coluna que receberá o nome do produto (PRODUTO) usa-se o tipo VARCHAR2 que permite valores com caracteres de texto, como é o caso de um nome dado a determinado produto. A Figura 2 mostra como ficará a composição da TB_PRODUTO:

Figura 2: TB_PRODUTO com colunas e tipos

Com as informações da Figura 2 já é possível passar para a próxima etapa, codificação.

Codificação para a criação de Tabelas

A criação de tabelas em um Banco de Dados é feita com o comando CREATE TABLE, este comando pertence ao subconjunto Data Definition language DDL.

Sintaxe do comando:

 CREATE TABLE TB_NOME_TABELA

(

               COLUNA1           TIPO de DADOS,

               COLUNA2           TIPO de DADOS,

               COLUNA3           TIPO de DADOS

);

COMMIT;

 

OBS.: Entre os parênteses são listadas colunas que irão compor a tabela, nota-se que as colunas são separadas por uma vírgula e após a última coluna não há vírgula.

 

 

 

Script para a criação da TB_PRODUTO

CREATE TABLE TB_PRODUTO

(

               CODIGO_PRODUTO        NUMBER(38),

               PRODUTO                          VARCHAR(40)

);

COMMIT;

 

Após executar o script descrito anteriormente a tabela será criada no Banco de Dados.

Para visualizar a estrutura criada o comando DESCRIBE pode ser usado, a sintaxe do comando é a seguinte:

               DESC TB_NOME_TABELA;

Assim, para visualizar a estrutura da TB_PRODUTO basta substituir TB_NOME_TABELA por TB_PRODUTO:

DESC TB_PRODUTO;

O resultado da execução será:

Inserção de Valores em uma Tabela

A inserção de valores em uma tabelas de Banco de Dados é feita com o comando INSERT INTO, este comando pertence ao subconjunto Data Manipulation language DML.

Sintaxe do comando:

 INSERT INTO TB_NOME_TABELA

(

               COLUNA1,

               COLUNA2,

               COLUNA3

)

VALUES

(

               Valor Coluna 1,

               Valor Coluna 2,

               Valor Coluna 3

 

);

COMMIT;

 

O comando INSERT INTO é composto por duas partes identificadas por parênteses, na primeira parte logo após o nome da tabela estão listadas todas as colunas que estão presentes na tabela, exatamente com o mesmo nome. Em seguida temos a segunda parte do comando, que é iniciada com a palavra VALUES, nesta parte são listados os valores que serão inseridos em cada uma das colunas da tabela, exatamente na mesma ordem que os nomes das colunas foram listadas.

OBS.: Se o valor for inserido em uma coluna de tipo texto este valor deverá ser inserido entre aspas simples, caso o valor for inserido em uma coluna de tipo numérica, este valor não deve estar entre aspas simples.

Script para a inserção de valores na TB_PRODUTO

INSERT INTO TB_PRODUTO

(

               CODIGO_PRODUTO,

               PRODUTO

)

VALUES

(

               1,

               ‘Impressora’

);

COMMIT;

 

Note que as colunas bem como os valores inseridos são separados por vírgula e que o último valor não é sucedido de virgula.

Para Inserir o próximo valor, basta substituir o item desejado:

INSERT INTO TB_PRODUTO

(

               CODIGO_PRODUTO,

               PRODUTO

)

VALUES

(

               2,

               ‘Celular’

);

COMMIT;

 

Observe que o valor para a coluna CODIGO_PRODUTO deve ser numérico e sequencial. Para gerar valor numéricos sequencias de forma automática acesse o artigo Campos auto incremento no Oracle

Para consultar os valores inseridos na tabela basta usar o comando SELECT:

 

 

Sintaxe do comando:

SELECT

               COLUNA1,

               COLUNA2,

               COLUNA3

FROM

TB_NOME_TABELA;

 

Script para a seleção dos valores da TB_PRODUTO

SELECT

               CODIGO_PRODUTO,

               PRODUTO

FROM

TB_PRODUTO;

 

Caso seja necessário consultar apenas os valores de um determinada coluna, basta escrever o script descrevendo apenas a coluna que deseja obter os valores:

 

SELECT

               PRODUTO

FROM

TB_PRODUTO;

 

O script anterior apenas retorna a relação de produtos que foi inserida na Tabela TB_PRODUTO.

 

Note que após o comando SELECT não foi usado o comando COMMIT, pois, nada foi alterado ou criado no banco. O COMMIT só é usado para efetivar alguma Inserção, criação ou alteração em um Banco de Dados. No caso do comando SELECT apenas são retornados valores.

 

 

Exercício Proposto

 

1 – Crie uma tabela que irá armazenar informações de Alunos.

2 – Esta tabela deverá conter um identificador para cada aluno.

3 – Além do Identificador a tabela deverá conter as seguintes colunas:

  • Nome do aluno – Campo texto que armazenará até 50 caracteres.
  • Sexo – Campo texto que deverá receber ‘M’ ou ‘F’

4 – Após a criação da tabela verifique a estrutura criada, use o comando DESC (DESCRIBE).

5 – Insira dois registros diferentes na tabela criada.

6 – Com o comando SELECT selecione as informações inseridas.

 

Sobre o Autor:

Mestre em Engenharia de Produção pela Universidade Nove de Julho. Bacharel em Ciência da Computação também pela Universidade Nove de Julho. Atualmente é Professor de ensino superior (Universidade Nove de Julho), Analista de Sistemas na Empresa Atento e Pesquisador na área de Inteligência Computacional aplicada em investimentos na Bolsa de Valores de São Paulo. Possui experiência em Análise e desenvolvimento de sistemas, aplicações de Inteligência Computacional no Mercado de Ações, Análise Técnica para seleção de ações para investimentos na Bolsa de Valores. Curriculo Lattes: http://lattes.cnpq.br/0074185478343196