Data Definition Language
A Linguagem de Definição de Dados (DDL) é usada para criar e destruir os bancos de dados e objetos de banco de dados. Os objetos de banco de dados incluem views, schemas, tables, indexes, etc. As instruções DDL mais comuns são CREATE, DROP e ALTER.
A sintaxe genérica para as instruções DDL são:
CREATE
Este comando cria uma nova tabela e tem uma sintaxe pré-definida. A sintaxe da instrução CREATE é CREATE TABLE [nome da tabela] ([definições de coluna]) [parâmetros da tabela].
CREATE TABLE Tabela (Empregado INTEGER PRIMARY KEY,
Nome CHAR (50) NULL,
Sobrenome CHAR (75) NOT NULL).
ALTER
Um comando de alteração modifica uma tabela do banco de dados existente. Este comando pode somar uma coluna adicional, eliminar colunas existentes e até mesmo alterar os tipos de colunas envolvidas em uma tabela do banco de dados. Uma sintaxe do comando de alteração ALTER é composto do tipo de objeto e os parâmetros do objeto.
ALTER TABLE Tabela ADD campo CHAR(10).
DROP
Um comando DROP exclui uma tabela, índice ou view. Sintaxe da instrução é DROP tipo de objeto nome do objeto.
DROP TABLE Tabela.
Criando Tabelas utilizando DDL
A sintaxe SQL para criar as tabelas nos diferentes bancos de dados é a mesma, porem cada um dos banco de dados possui seus próprios tipos de dados para os diferentes valores no qual será armazenado nas tabelas. Para saber mais sobre os tipos de dados de cada um dos bancos de dados utilize os links abaixo:
Data Types
Oracle: http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm
Microsoft SQL Server: http://msdn.microsoft.com/en-us/library/ms187752.aspx
Oracle:
IBM DB2:
Microsoft SQL Server:
Exemplo:
Neste exemplo criamos duas tabelas utilizando a linguagem DDL para escrever um script SQL.
Oracle
CREATE TABLE tabela1 ( IdTabela NUMBER(5), DescTabela VARCHAR2(50) ); / CREATE TABLE tabela2 ( IdTabela NUMBER(5), DescTabela VARCHAR2(50) );
IBM DB2
CREATE TABLE DA.tabela1 ( IdTabela INTEGER, DescTabela VARCHAR(50) ); CREATE TABLE DA.tabela2 ( IdTabela INTEGER, DescTabela VARCHAR(50) );
Microsoft SQL Server
CREATE TABLE tabela1 ( IdTabela int, DescTabela NVarchar(50) ); CREATE TABLE tabela2 ( IdTabela int, DescTabela NVarchar(50) );