Back to blog

Linguagem SQL - 1 Comandos DDL (Data Definition Language)

3 min de leitura
855 palavras

Introdução

A linguagem SQL é a base para interagir com Sistemas Gerenciadores de Banco de Dados (SGBD). Ela é categorizada em quatro principais tipos de comandos:

  1. DDL (Data Definition Language): Definição de estruturas (tabelas, índices, etc.);
  2. DML (Data Manipulation Language): Manipulação de dados;
  3. DCL (Data Control Language): Controle de permissões;
  4. DQL (Data Query Language): Consultas aos dados.
  5. **TCL (**Transaction Control Language):

6ed1518d-99f3-40a2-83c7-00edbf174026.png


Comandos DDL – Criando e Manipulando Tabelas


Os comandos DDL são utilizados para criar, alterar e excluir tabelas e suas estruturas no banco de dados. São os principais comandos:

ComandoDescriçãoExemplo
CREATECria tabelas e outros objetos no banco de dados.CREATE TABLE funcionarios (id INT, nome VARCHAR(50));
DROPDeleta objetos do banco.DROP TABLE funcionarios;
ALTERAltera a estrutura da tabela.ALTER TABLE funcionarios ADD telefone VARCHAR(15);
TRUNCATERemove todos os registros da tabela.TRUNCATE TABLE funcionarios;
COMMENTAdiciona comentários à tabela.COMMENT ON TABLE funcionarios IS 'Dados dos funcionários';
RENAMERenomeia objetos existentes.RENAME TABLE funcionarios TO colaboradores;

CREATE

CREATE TABLE nome_da_tabela (
    nome_da_coluna tipo_de_dado [DEFAULT valor] [CONSTRAINT restricao],
    ...
    [CONSTRAINT restricao_da_tabela]
);
  • nome_da_tabela: Nome da tabela.
  • nome_da_coluna: Nome da coluna.
  • tipo_de_dado: Define o tipo de valor permitido (ex: NUMBER, VARCHAR).
  • DEFAULT: Valor padrão.
  • CONSTRAINT: Define restrições (chaves primárias, estrangeiras, etc.).

Exemplo Prático

Suponha que estamos criando um jogo com tabelas para personagens, tipos e poderes. Veja a estrutura básica:

Criação da Tabela "tipo"

CREATE TABLE tipo (
    idTipo NUMBER PRIMARY KEY,
    nomeTipo VARCHAR2(50) NOT NULL
);

Criação da Tabela "poder"

CREATE TABLE poder (
    idPoder NUMBER PRIMARY KEY,
    descricao VARCHAR2(100) NOT NULL
);

Criação da Tabela "personagem"

CREATE TABLE personagem (
    idPersonagem NUMBER PRIMARY KEY,
    nomePersonagem VARCHAR2(50) NOT NULL,
    altura NUMBER,
    idTipo NUMBER,
    CONSTRAINT fk_tipo FOREIGN KEY (idTipo) REFERENCES tipo (idTipo)
);

Tabela de Relacionamento "personagem_poder"

CREATE TABLE personagem_poder (
    idPersonagem NUMBER,
    idPoder NUMBER,
    CONSTRAINT fk_personagem FOREIGN KEY (idPersonagem) REFERENCES personagem (idPersonagem),
    CONSTRAINT fk_poder FOREIGN KEY (idPoder) REFERENCES poder (idPoder),
    PRIMARY KEY (idPersonagem, idPoder)
);

ALTER TABLE e DROP TABLE

  • ALTER TABLE: Altera a estrutura da tabela.

Adicionando uma nova coluna:

ALTER TABLE personagem ADD idade NUMBER(2);

Modificando uma coluna para não permitir valores nulos:

ALTER TABLE personagem MODIFY (altura NOT NULL);
  • DROP TABLE: Remove uma tabela do banco de dados.
DROP TABLE tipo;

TRUNCATE

Objetivo: Remover todos os registros da tabela funcionarios sem apagar sua estrutura.

TRUNCATE TABLE funcionarios;

Explicação:

  • Remove todos os registros existentes da tabela, liberando o espaço alocado.
  • A estrutura da tabela é preservada.

COMMENT

Objetivo: Adicionar um comentário à tabela funcionarios.

COMMENT ON TABLE funcionarios IS 'Tabela que armazena dados dos funcionários da empresa';

Explicação:

  • O comando COMMENT adiciona informações descritivas sobre o objeto funcionarios.
  • Comentários ajudam a documentar o propósito das tabelas no banco de dados.

RENAME

Objetivo: Renomear a tabela funcionarios para colaboradores.

RENAME TABLE funcionarios TO colaboradores;

Explicação:

  • A tabela original funcionarios passa a ser referenciada como colaboradores.
  • Útil para padronização de nomes ou ajuste na nomenclatura do banco.

Restrições de Integridade

As CONSTRAINTS garantem a consistência e integridade dos dados no banco. Os principais tipos incluem:

  1. NOT NULL: Coluna não pode ter valores vazios.
  2. UNIQUE: Valores únicos na coluna.
  3. PRIMARY KEY: Combina NOT NULL + UNIQUE.
  4. FOREIGN KEY: Define a chave estrangeira e a referência a outra tabela.
  5. CHECK: Define regras para valores permitidos.
  6. DEFAULT: Define um valor padrão.

Exemplo de Restrições

CREATE TABLE exemplo (
    id NUMBER PRIMARY KEY,
    nome VARCHAR2(50) NOT NULL,
    email VARCHAR2(100) UNIQUE,
    idade NUMBER CHECK (idade >= 18),
    pais VARCHAR2(30) DEFAULT 'Brasil'
);

Convenções de Nomeação

  • Nomes devem começar com letras.
  • Podem conter até 30 caracteres.
  • Aceitam letras, números e os símbolos _, $ e #.
  • Evite nomes duplicados ou palavras reservadas.
  • Nao utilize palavras restritas

Tipos de Dados no SQL

Além dos comandos DDL, é importante conhecer os principais tipos de dados disponíveis em SQL para definir as colunas corretamente. Aqui estão os mais comuns:

Tipos de Dados Numéricos

TipoDescriçãoExemplo
INTNúmeros inteiros.id INT
DECIMAL(p,s)Números decimais com precisão.salario DECIMAL(10,2)
FLOATNúmeros de ponto flutuante.nota FLOAT

Tipos de Dados de Texto

TipoDescriçãoExemplo
VARCHAR(n)Texto de comprimento variável.nome VARCHAR(50)
CHAR(n)Texto de comprimento fixo.codigo CHAR(10)
TEXTTexto longo.descricao TEXT

Tipos de Dados de Data e Hora

TipoDescriçãoExemplo
DATESomente data.data_contratacao DATE
TIMESomente hora.horario TIME
TIMESTAMPData e hora combinadas.criado_em TIMESTAMP