BDA - DDL

Revisão de 03h38min de 1 de agosto de 2013 por Lucas Carvalho (discussão | contribs) (Criou página com '= DDL = <br> DDL (''Data Definition Language''), ou para o português linguagem de definição de dados, é uma linguagem de computador usada para a definição de estruturas...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

DDL


DDL (Data Definition Language), ou para o português linguagem de definição de dados, é uma linguagem de computador usada para a definição de estruturas de dados, especialmente para esquematizar bancos de dados. No caso, será apresentado o DDL SQL (Structured Query Language) ou Linguagem de Consulta Estruturada, que é a linguagem de pesquisa declarativa padrão para banco de dados relacional.

Declarações DDL SQL


Permite ao usuário definir tabelas e seus elementos. Os comandos básicos da DDL são o CREATE, para criar um objeto dentro da base de dados e o DROP, que apaga um objeto do banco. Alguns SGBDs usam o comando ALTER, que permite ao usuário alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente. Exemplos do uso dos comandos DDL são:

  • CREATE TABLE
  • CREATE INDEX
  • CREATE VIEW
  • ALTER TABLE
  • ALTER INDEX
  • DROP INDEX
  • DROP VIEW


CREATE


Utilizada para construir um novo banco de dados, tabela, índice ou consulta armazenada Os tipos de objetos que podem ser criados dependem de qual SGBD está sendo utilizado, porém a maioria suporta a criação de tabelas, índices, usuários e banco de dados. Alguns sistemas (tais como PostgreSQL) suportam o comando CREATE, e outros comandos DDL, dentro de uma transação e portanto suportam rollback.

CREATE TABLE


Talvez o comando mais comum da declaração CREATE seja o comando CREATE TABLE. A sintaxe típica é: CREATE [TEMPORARY] TABLE [nome da tabela] ([definições de colunas]) [parâmetros da tabela].

  • Definições de colunas: Uma lista separada por vírgulas consistindo de qualquer uma das seguintes
  • Definição de coluna: [nome da coluna] [tipo de dado] {NULL|NOT NULL} {opções de coluna}
  • Definição de chave primária: PRIMARY KEY([lista de colunas separadas por vírgulas])
  • CONSTRAINTS:{CONSTRAINT} [definição de limite]
  • Funcionalidade específica de SGBDR

Um exemplo de comando para criação de uma tabela chamada empregados com algumas colunas, em alguns SGBDs seria:

CREATE TABLE empregados (
   id                    INTEGER   PRIMARY KEY,
   nome                  CHAR(50)  NULL,
   sobrenome             CHAR(75)  NOT NULL,
   data_de_aniversario   DATE      NULL
);

A instrução de criação de tabela a seguir cria uma tabela de teste com algumas das DDL disponível para diferentes tipos de dados: CREATE TABLE TestAllTypes

  (
     MyText       TEXT(50),
     MyMemo       MEMO,
     MyByte       BYTE,
     MyInteger    INTEGER,
     MyLong       LONG,
     MyAutoNumber COUNTER,
     MySingle     SINGLE,
     MyDouble     DOUBLE,
     MyCurrency   CURRENCY,
     MyReplicaID  GUID,
     MyDateTime   DATETIME,
     MyYesNo      YESNO,
     MyOleObject  LONGBINARY,
     MyBinary     BINARY(50)
   )

Outro exemplo, para criar uma tabela com uma chave primária de campo único com uma única instrução DDL, está na instrução a seguir, que cria uma tabela chamada TestPrimaryKey com uma chave primária no campo MyID chamado PK_MyID:

  CREATE TABLE TestPrimaryKey
  (
     MyID LONG CONSTRAINT PK_MyID PRIMARY KEY,
     FirstName TEXT(20),
     LastName  TEXT(20)
  )


CREATE INDEX


Outro uso do CREATE é para criar índices adicionais em uma tabela existente. Os índices são utilizados principalmente para melhorar o desempenho do banco de dados, e o uso inadequado pode resultar em um pior desempenho.

CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ name ] ON table_name [ USING method ]
   ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] )
   [ WITH ( storage_parameter = value [, ... ] ) ]
   [ TABLESPACE tablespace_name ]
   [ WHERE predicate ]