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.