Uma das necessidades de uma aplicação que irá armazenar seus dados em um sistema de banco de dados relacional é criar uma identidade para o conjunto de tabelas de sua aplicação. Esse mecanismo não é padronizado em SQL, podendo variar de fornecedor a fornecedor de banco de dados. Algumas possibilidades incluem
CREATE SCHEMA name [AUTHORIZATION {user | group}]
ou
CREATE DATABASE name [On {default | device}] [Log On device [= size]]
Para criar uma tabela, o comando CREATE TABLE é utilizado:
CREATE TABLE name ( ATTRIBUTE DOMAIN [UNIQUE] [{NULL | NOT NULL}])
Alguns fabricantes adotam, ao invés da forma UNIQUE para indicação de chave da relação, um comando Primary Key após a criação da tabela para indicar qual atributo formará ou quais atributos comporão a chave primária da relação.
O campo ATTRIBUTE especifica o nome para a aplicação da coluna da tabela, enquanto DOMAIN especifica o tipo de dado para a coluna. Alguns tipos de dados usuais em SQL são apresentados na tabela abaixo:
Tipo de dados | Descrição |
---|---|
INTEGER | Um valor inteiro com sinal |
DECIMAL(p,q) | Um número decimal de p dígitos, dos quais q são casas decimais |
FLOAT(p) | Um valor real com precisão p |
CHARACTER(n) | Uma string de exatamente n caracteres |
BIT(n) | Uma seqüência de exatamente n valores booleanos (true/false) |
DATE | Uma data, com subcampos YEAR, MONTH e DAY |
TIME | Um momento do dia, com subcampos HOUR, MINUTE e SECOND |
TIMESTAMP | Um "carimbo temporal" contendo uma data e momento específicos |
Além desses comandos, ALTER TABLE permite modificar a estrutura de uma tabela existente e DROP TABLE permite remover uma tabela.