Criação de tabelas sql

Em geral, a maioria dos bancos de dados possui potentes editores de bancos que permitem a criação rápida e simples de qualquer tipo de tabela com qualquer tipo de formato.

Entretanto, uma vez que o banco de dados esteja hospedado no servidor, pode acontecer o caso de que queiramos introduzir uma nova tabela já seja com caráter temporário (para gerenciar um carrinho de compra, por exemplo) ou permanente, por necessidades concretas de nossa aplicação.

Nestes casos, podemos, a partir de uma sentença SQL, criar a tabela com o formato que desejarmos, o qual pode nos poupar mais que um quebra-cabeça.

Estes tipos de sentenças são especialmente úteis para bancos de dados como Mysql, os quais trabalham diretamente com comandos SQL e não por meio de editores.

Para criar uma tabela devemos especificar diversos dados: O nome que queremos atribuir, os nomes dos campos e suas características. Ademais, pode ser necessário especificar quais destes campos vão ser índices e de que tipo serão.

A sintaxe de criação pode variar ligeiramente de um banco de dados para outro já que os tipos de campos aceitos, não estarão completamente padronizados.

A seguir explicamos meramente a sintaxe desta sentença e lhes propomos uma série de exemplos:

Sintaxe

Create Table nome_tabela
(
nome_campo_1 tipo_1
nome_campo_2 tipo_2
nome_campo_n tipo_n
Key(campo_x,…)
)

Ponhamos agora como exemplo a criação da tabela pedidos que empregamos em capítulos anteriores:

Create Table pedidos
(
id_pedido INT(4) NOT NULL AUTO_INCREMENT,
id_cliente INT(4) NOT NULL,
id_artigo INT(4)NOT NULL,
data DATE,
quantidade INT(4),
total INT(4), KEY(id_pedido,id_cliente,id_artigo)
)

Neste caso criamos os campos id os quais são considerados de tipo inteiro de uma longitude especificada pelo número entre parênteses. Para id_pedido requeremos que tal campo se incremente automaticamente (AUTO_INCREMENT) de uma unidade a cada introdução a um novo registro para, desta forma, automatizar sua criação. Por outro lado, para evitar uma mensagem de erro, é necessário requerer que os campos que vão ser definidos como índices não possam ser nulos (NOT NULL).

O campo data é armazenado com formato de data (DATE) para permitir sua correta exploração a partir das funções previstas a tal efeito.

Finalmente, definimos os índices numerando-os entre parênteses precedidos da palavra KEY ou INDEX.

Da mesma forma poderíamos criar a tabela de artigos com uma sentença como esta:

Create Table artigos
(
id_artigo INT(4) NOT NULL AUTO_INCREMENT,
titulo VARCHAR(50),
autor VARCHAR(25),
editorial VARCHAR(25),
preco REAL,
KEY(id_artigo)
)

Neste caso pode-se ver que os campos alfanuméricos são introduzidos da mesma forma que os numéricos. Voltemos a recordar que em tabelas que têm campos comuns é de vital importância definir estes campos da mesma forma para o bom funcionamento da base.

Muitas são as opções que se oferecem ao gerar tabelas. Não vamos a trata-las detalhadamente, pois sai do estritamente prático. Mostraremos somente alguns dos tipos de campos que podem ser empregados na criação de tabelas com suas características:

Tipo Bytes Descrição
INT ou INTEGER 4 Números inteiros. Existem outros tipos de maior ou menor longitude específicos de cada banco de dados.
DOUBLE ou REAL 8 Números reais (grandes e com decimais). Permitem armazenar todo tipo de número não inteiro.
CHAR 1/caractere Alfanuméricos de longitude fixa pré-definida
VARCHAR 1/caractere+1 Alfanuméricos de longitude variável
DATE 3 Datas, existem múltiplos formatos específicos de cada banco de dados
BLOB 1/caractere+2 Grandes textos não indexáveis
BIT ou BOOLEAN 1 Armazenam um bit de informação (verdadeiro ou falso)

Deixe um comentário