quinta-feira, 16 de dezembro de 2010

Comandos DDL - Data Definition Language

Comandos DDL - Data Definition Language

Comandos DDL - Data Definition Language

Para você entender corretamente vou te explicar o que é Linguagem de definição de dados (LDD ou DDL, do Inglês Data Definition Language) é uma linguagem de computador usada para a definição de estruturas de dados. O termo foi inicialmente introduzido em relação ao modelo de banco de dados Codasyl, onde o esquema de banco de dados era escrito em uma Linguagem de Definição de Dados descrevendo os registros, campos e "conjuntos" que consituíam o Modelo de dados do usuário. Inicialmente referia-se a um subconjunto da SQL, mas hoje é usada em um sentido genérico para referir-se a qualquer linguagem formal para descrição de estruturas de dados ou informação.

Um subconjunto de instruções SQL formam outra 'DDL'. Estas declarações SQL definem a estrutura de um banco de dados, incluindo linhas, colunas, tabelas, índices e características específicas do banco de dados, tal como localizações de arquivos. Declarações DDL SQL fazem mais parte do SGBD (Sistema de Gerenciamento de Banco de Dados) e possuem grandes diferenças entre as variações da SQL. Comandos DDL SQL incluem os seguintes:

 CREATE TABLE - Cria uma nova tabela no banco de dados


EXEMPLO:

create table CONTATOS
(
NOME                           varchar2(55),
SOBRENOME               varchar2(70),
ANIVERSÁRIO              date,
TELEFONE                    number(10),
EMAIL                           varchar2(100)
);



ALTER TABLE - Alterar uma tabela do banco de dados

EXEMPLO:

 alter table CONTATOS add ENDEREÇO  varchar2(200); - adiciona uma coluna
 alter table CONTATOS drop column  ENDEREÇO; - apaga uma coluna
 alter table CONTATOS modify ( ENDEREÇO varchar2(500); - apaga uma coluna


DROP TABLE - Excluir uma tabela do banco de dados

EXEMPLO:

drop table CONTATOS;

CREATE INDEX – criar index na tabela do banco de dados

Por ser um pouco complicado pra quem tá começando vou explicar o que é um Índice ou index?

Um índice é um objeto de um esquema que pode acelerar a recuperação de linhas usando um ponteiro. Os índices podem ser criados de duas formas: De maneira explícita ou implícita. Caso não exista um índice associado a uma coluna, ocorrerá uma análise em toda a tabela.
Um índice fornece acesso direto e rápido às linhas em uma tabela. Seu objetivo é reduzir a necessidade de I/O do disco usando um caminho indexado para localizar dados de forma mais rápida. O índice é utilizado e mantido automaticamente pelo Oracle Server. Após a criação de um índice, não é necessária nenhuma atividade direta do usuário.
Os índices são lógica e fisicamente independentes da tabela que indexam. Isso significa que eles podem ser criados e eliminados a qualquer momento e não têm nenhum efeito sobre as tabelas-base ou outros índices.
É muito importante lembrar que ao eliminar uma tabela, os índices correspondentes também são eliminados.
É possível criar dois tipos de índices. Um tipo é um índice exclusivo. O Oracle Server cria esse índice automaticamente quando você define que uma coluna de uma tabela tenha uma restrição PRIMARY KEY ou UNIQUE KEY. O nome do índice é o nome dado à restrição.
O outro tipo de índice que um usuário pode criar é um índice não exclusivo. Por exemplo, você pode criar um índice da coluna FOREIGN KEY para uma junção em uma consulta a fim de aumentar a velocidade de recuperação.

Criando um Índice:

create index ÌNDICE on TABELA (COLUNA,[COLUNA]...);


Crie um índice em uma ou mais colunas emitindo uma instrução CREATE INDEX.

Na sintaxe:

índice é o nome do índice
tabela é o nome da tabela
coluna é o nome da coluna na tabela a ser indexada

Possuir mais índices em uma tabela não significa que as consultas serão aceleradas. Cada operação DML que seja submetida a commit em uma tabela com índices significa que os índices devem ser atualizados. Quanto mais índices associados a uma tabela você tiver, maior será o esforço realizado pelo Oracle Server para atualizar todos os índices após uma instrução DML.

Quando pode ser melhor criar um Índice.
. Quando a coluna for usada frequentemente na cláusula WHERE ou em uma condição de junção.
. Quando a coluna contiver uma ampla faixa de valores.
. Quando a coluna contiver um grande número de valores nulos.
. Quando duas ou mais colunas forem usadas juntas com frequência em uma cláusula WHERE ou em uma condição de junção.
. Quando a tabela for grande e se esperar que a maioria das consultas recupere menos
que 2 a 4% das linhas.

Quando pode ser ruim criar um Índice.
. Quando a tabela for pequena.
. Quando as colunas não forem utilizadas com frequência como uma condição na consulta.
. Quando se esperar que a maioria das consultas recupere mais que 2 a 4% das linhas.
. Quando a tabela for atualizada com frequência. Se você tiver um ou mais índices em uma tabela, as instruções DML que acessarem a tabela serão mais lentas.

Confirmação dos Índices.
Podemos confirmar a existência de índices na view do dicionário de dados USER_INDEXES. Também é possível checar as colunas envolvidas em um índice consultando a view USER_IND_COLUMNS.


DROP INDEX – excluir index da tabela

Remoção de um Índice.
Você não pode modificar índices. Para alterar um índice, você deve eliminá-lo e, em seguida, recriá-lo. Remova uma definição de índice do dicionário de dados emitindo a instrução DROP INDEX. Para eliminar um índice, você precisa ser o proprietário do índice ou possuir o privilégio DROP ANY INDEX.

drop index ÍNDICE;

na sintaxe Índice é o nome da INDEX



CAMISETA A VIDA COMEÇA AOS...

COMPRE AGORA A SUA CAMISETA




2 comentários:

Anônimo disse...

Muito útil, obrigado!!!

Isaiassl disse...

Obrigado pela visita...

Postar um comentário

Entre em contato por email: isaiassl@gmail.com

Brindes e presentes personalizados, almofadas, canecas, camisetas etc...

Sublimação | PHI Modas e Cia

PHI Modas e Cia | Presentes personalizados

www.ipstart.com.br

A IP Start trabalha com Criação de Sites, Hospedagem, gerenciamento, criação de Loja Virtual, desenvolvimento de sites e lojas virtuais responsive

Compartilhar no Twitter Compartilhar pelo Gmail Compartilhar no Facebook Adicionar em Favoritos