Linguagem de Definição de Dados

DDL, do inglês Data Definition Language, é uma pequena parte da linguagem SQL, que permite a criação, a alteração e a remoção de databases e objetos do banco de dados. Os objetos podem ser tabelas, índices, views, qualquer outro objeto criado pelo usuário para armazenar ou apresentar informações. Desta forma, a DDL permite a manutenção do dicionário de dados.

Comandos de DDL

Os comandos DDL são 3 abaixo:
CREATE – Cria uma database ou objeto no banco de dados
ALTER – Altera um objeto no banco de dados
DROP – Remove uma database ou um objeto no banco de dados

Os dados nos exemplos aqui, não estão de acordo com as formas de normalização de dados.
Formas de Normalização, pode ser assunto para um próximo post

  • Comando CREATE
    Vamos para os exemplos, começaremos criando o banco de dados:
CREATE DATABASE WILLDEGLAN
GO
-- abaixo selecionaremos o banco criado acima
USE WILLDEGLAN
GO

Vamos criar tabelas dentro dessa database:

CREATE TABLE funcionario(
	matr_func INT IDENTITY NOT NULL
	, nome_func VARCHAR(40)
	, ruanome_func VARCHAR (40)
	, bairro_func VARCHAR(40)
	, cidade_func VARCHAR(40)
);
GO

CREATE TABLE departamento(
	cod_dep INT IDENTITY NOT NULL
	, nome_dep VARCHAR(40)
	, Local_dep VARCHAR(40)
);
GO

CREATE TABLE tabela1(
	coluna1 INT IDENTITY NOT NULL
	, coluna2 VARCHAR(40)
	, coluna3 DATE DEFAULT GETDATE()
);
GO
  • Comando ALTER
    Vamos realizar algumas alterações nas tabelas, como acrescentar uma coluna que não foi criada ou aumentar o tamanho do espaço de um campo que ficou insuficiente.

Acrescentando coluna a tabela departamento:

ALTER TABLE departamento
	ADD coordenador_dep VARCHAR(40)
GO

Alterando o tamanho do campo nome_func da tabela funcionario:

ALTER TABLE funcionario
	ALTER COLUMN nome_func VARCHAR(100)
GO
  • Comando DROP
    Vamos excluir a tabela tabela1
DROP TABLE tabela1
GO

Agora que ja conhecemos os três (03) comandos do grupo DDL, vamos praticar um pouco mais. Vamos criar uma VIEW com apenas duas colunas (nome_dep e cod_dep) da tabela departamento filtrando apenas os que se localizam em Brasília.

CREATE VIEW vw_exemplo AS
	SELECT nome_dep
		,cod_dep
	FROM departamento
	WHERE local_dep = 'BRASILIA'
GO

Para visualizar os dados pela view criada, a sintaxe é bem parecida com a de um select comum. Lembrando que não temos nenhum registro nas tabelas, então trará somente os campos sem registro.

SELECT * FROM vw_exemplo

Para remover uma VIEW é tão simples como remover qualquer outro objeto. Veja abaixo:

DROP VIEW vw_exemplo
GO

Criando os relacionamentos entre as tabelas

Os banco de dados relacionais tem que garantir de alguma forma integridade referencial entre as tabelas, para isso, existem dois objetos que realizam a associação a uma tabela: Primary Key (PK) e Foreign Key (FK).

Todas as colunas definidas em uma restrição PRIMARY KEY devem ser definidas como NOT NULL e uma tabela pode conter apenas uma restrição PRIMARY KEY.

Uma chave estrangeira (FK) é uma coluna ou combinação de colunas usada para estabelecer e impor um link entre os dados de duas tabelas

Logo abaixo tem um exemplo de como criar uma PK na criação da tabela.

CREATE TABLE filial( 
	  CD_EMPRESA INT NOT NULL
	, CD_FILIAL INT NOT NULL
	, CD_TIPO VARCHAR (30)
	, DT_CADASTRO DATE
	, CONSTRAINT PK_FILIAL PRIMARY KEY(CD_EMPRESA,CD_FILIAL)
);
GO

Aqui, um exemplo de como alterar uma tabela para adicionar a FK e assim criar o relacionamento entre duas tabelas.

CREATE TABLE empresa( 
	  CD_EMPRESA INT NOT NULL
	, NM_EMPRESA VARCHAR(80) NOT NULL
	, CONSTRAINT PK_EMPRESA PRIMARY KEY(CD_EMPRESA)
);
GO


ALTER TABLE filial ADD CONSTRAINT FK_FILIAL_EMPRESA 
	FOREIGN KEY(CD_EMPRESA) REFERENCES empresa(CD_EMPRESA);
GO

Então galera, espero que tenha ficado claro os comandos DDL. A usabilidade e variação desses três comando são gigantes, não dar pra colocar tudo aqui, mas espero ter alcançado o objetivo de explicá-los.
No próximo post vou falar um pouco sobre DML, e caso queriam ler tbm sobre DQL, leiam Trabalhando com SELECT.

Deixe um Comentário