Linguagem de Definição de Dados de SQL

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.