As tabelas são a estrutura básica em que os dados são armazenados numa base de dados.
Dado que na maior parte dos casos não existe uma forma de o vendedor da base de dados saber antecipadamente quais são as suas necessidades em termos de armazenamento de dados, é provável que seja necessário criar tabelas na base de dados.
Muitas ferramentas de bases de dados permitem-lhe criar tabelas sem programar em linguagem SQL, mas como as tabelas são o receptáculo de todos os dados, é importante incluir a sintaxe CREATE TABLE.
Antes de abordarmos a sintaxe SQL para CREATE TABLE, é boa ideia compreender a estrutura de uma tabela.
As tabelas encontram-se divididas em linhas e colunas. Cada linha representa um dado/registo individual e cada coluna pode ser vista como uma representação dessa peça de dados ou um Campo.
Assim, por exemplo, se tivermos uma tabela para registar as informações dos clientes, as colunas podem incluir informações como Primeiro Nome, Apelido, Morada, Cidade, País, Data de Nascimento, etc. Como tal, ao especificarmos uma tabela, incluímos os cabeçalhos das colunas e os tipos de dados para essa coluna em particular.
Assim sendo, quais são os tipos de dados? Normalmente, os dados encontram-se disponíveis numa variedade de formas.
Podem ser um número inteiro (tal como 1), um número real (tal como 0,55), uma cadeia (tal como ‘sql’), uma expressão de data/hora (tal como ‘2014-JAN-25 03:22:22’) ou até mesmo um formato binário.
Ao especificarmos uma tabela, é necessário especificarmos o tipo de dados associados a cada coluna (ou seja, iremos especificar o ‘Primeiro Nome’ do tipo de char(50) – o que significa uma cadeia com 50 caracteres).
Um aspecto a destacar é que diferentes bases de dados relacionais permitem diferentes tipos de dados, pelo que é aconselhável consultar primeiro um documento de referência relativo à base de dados específica.
A sintaxe SQL para CREATE TABLE é:
CREATE TABLE “nome_tabela”
(“coluna 1” “tipo_dados_para_coluna_1”,
“coluna 2” “tipo_dados_para_coluna_2”,
… );
Assim, se pretendermos criar uma tabela de clientes conforme acima especificado, introduziríamos o seguinte:
CREATE TABLE Cliente
(Prim_Nome char(50),
Apelido char(50),
Morada char(50),
Cidade char(50),
País char(25),
Data_Nasc datetime);
Por vezes, pretendemos fornecer um valor padrão para cada coluna. É utilizado um valor padrão quando não especificar um valor para a coluna ao introduzir dados na tabela. Para especificar um valor padrão, adicione “Default [valor]” após a declaração do tipo de dados.
No exemplo acima, que quiser que o padrão da coluna “Morada” passe para “Desconhecido” e “Cidade” para “Lisboa”, escreveria o seguinte código:
CREATE TABLE Cliente
(Prim_Nome char(50),
Apelido char(50),
Morada char(50) default ‘Desconhecido’,
Cidade char(50) default ‘Lisboa,
País char(25),
Data_Nasc datetime);
Também pode limitar o tipo de informações que uma tabela/coluna pode suportar.