Вы находитесь на странице: 1из 22

Outros Objetos de Banco de Dados

SQL

Objetivos

Criar, manter e usar seqncias; Criar e manter ndices; Criar sinnimos privados e pblicos.

SQL

Objetos de Banco de Dados


Objeto Tabela View Sequncia ndice Sinnimo Descrio Unidade bsica de armazenamento, composta de linhas e colunas Representa logicamente subconjuntos de uma ou mais tabelas. Gera valores de chave primria Melhora o desempenho de algumas consultas Nome alternativo para um objeto

SQL

O que uma Seqncia?


Uma seqncia:

Gera nmeros exclusivos automaticamente; Pode ser compartilhada; Geralmente usada para criar um valor de chave primria; Acelera a eficcia do acesso a valores de seqncia
quando esto no cache na memria.

SQL

A Sintaxe da Instruo CREATE SEQUENCE

CREATE CREATE SEQUENCE SEQUENCE sequncia sequncia [INCREMENT ] [INCREMENT BY BY n n ] [START ] [START WITH WITH n n ] [{MAXVALUE [{MAXVALUE n n| | NOMAXVALUE}] NOMAXVALUE}] [{MINVALUE [{MINVALUE n n| | NOMINVALUE}] NOMINVALUE}] [{CYCLE [{CYCLE | | NOCYCLE}] NOCYCLE}] [{CACHE [{CACHE n n| | NOCACHE}]; NOCACHE}];

SQL

Criando uma Seqncia

CREATE CREATE SEQUENCE SEQUENCE dept_deptid_seq dept_deptid_seq INCREMENT INCREMENT BY BY 10 10 START START WITH WITH 120 120 MAXVALUE MAXVALUE 9999 9999 NOCACHE NOCACHE NOCYCLE; NOCYCLE; Sequence Sequence created. created.

SQL

Confirmando Seqncias

Verifique a seqncia na tabela

SELECT SELECT FROM FROM

sequence_name, sequence_name, min_value, min_value, max_value, max_value, increment_by, increment_by, last_number last_number user_sequences; user_sequences;

SQL

Pseudocolunas NEXTVAL e CURRVAL

NEXTVAL retorna o prximo valor de seqncia disponvel; CURRVAL obtm o valor de seqncia atual;

SQL

Usando uma Seqncia


Insira um novo departamento denominado "Support" no ID de local 2500.

INSERT INSERT INTO INTO departments(department_id, departments(department_id, department_name, department_name, location_id) location_id) VALUES (dept_deptid_seq.NEXTVAL, VALUES (dept_deptid_seq.NEXTVAL, 'Support', 'Support', 2500); 2500); 1 1 row row created. created.

Exiba o valor atual da seqncia


SELECT SELECT FROM FROM dept_deptid_seq.CURRVAL dept_deptid_seq.CURRVAL dual; dual;

SQL

Usando uma Seqncia


Acesso mais rpido a valores de seqncia armazenados no cache; Podem ocorrer intervalos em valores de seqncia quando:
Ocorre um rollback; Ocorre uma falha no sistema; Uma seqncia usada em outra tabela;

SQL

Modificando uma Seqncia


Alterando uma Seqncia :

ALTER ALTER SEQUENCE SEQUENCE dept_deptid_seq dept_deptid_seq INCREMENT INCREMENT BY BY 20 20 MAXVALUE MAXVALUE 999999 999999 NOCACHE NOCACHE NOCYCLE; NOCYCLE; Sequence Sequence altered. altered.

SQL

Diretrizes para Modificar uma Seqncia


Deve ser o proprietrio ou ter o privilgio ALTER referente seqncia; Somente os nmeros de seqncia futuros so afetados; A seqncia deve ser eliminada e recriada para que seja reiniciada em um valor diferente; Um certo grau de validao executado.

SQL

Removendo uma Seqncia

Remova uma seqncia usando a instruo DROP SEQUENCE.

DROP DROP SEQUENCE SEQUENCE dept_deptid_seq; dept_deptid_seq; Sequence Sequence dropped. dropped.

SQL

O que um ndice?
um objeto de esquema; Acelera a recuperao de linhas usando um ponteiro; Pode reduzir a E/S do disco usando um mtodo de acesso rpido a caminhos; independente da tabela que indexa; usado e mantido automaticamente pelo servidor.
SQL

Como os ndices So Criados?

Automaticamente;

Manualmente;

SQL

Criando um ndice

CREATE CREATE INDEX INDEX ndice ndice ON coluna [, ]...); ON tabela tabela ( ( coluna [, coluna coluna ]...);

Aumente a velocidade de acesso de consulta coluna LAST_NAME da tabela EMPLOYEES.

CREATE CREATE INDEX INDEX emp_last_name_idx emp_last_name_idx ON employees(last_name); ON employees(last_name); Index Index created. created.

SQL

Quando Criar um ndice


Coluna com ampla faixa de valores; Coluna com grande nmero de valores nulos; Uma ou mais colunas forem usadas juntas com freqncia em uma clusula WHERE ou condio de juno; Expectativa de recuperao das consultas for menos que 2 a 4% das linhas.

SQL

Quando No Criar um ndice


A tabela for pequena; As colunas no forem utilizadas com freqncia na condio na consulta; Expectativa de recuperao das consultas for mais que 2 a 4% das linhas; A tabela for atualizada com freqncia; Referncias s colunas indexadas como parte de uma expresso.
SQL

Confirmando ndices

Consulte a view de dicionrio de dados USER_INDEXES que contm o nome do ndice e sua exclusividade; Consulte a view USER_IND_COLUMNS que contm os nomes do ndice, da tabela e da coluna.

SQL

Removendo um ndice

Remova usando o comando DROP INDEX.

DROP ; DROP INDEX INDEX ndice ndice ;

Remova o ndice UPPER_LAST_NAME_IDX do dicionrio de dados.

DROP DROP INDEX INDEX upper_last_name_idx; upper_last_name_idx; Index Index dropped. dropped.

SQL

Sinnimos
Simplifica o acesso aos objetos; Permite referir-se facilmente a uma tabela de propriedade de outro usurio
[PUBLIC] [PUBLIC] SYNONYM SYNONYM sinnimo sinnimo objeto ; objeto ;

CREATE CREATE FOR FOR

SQL

Criando e Removendo Sinnimos

Crie um nome abreviado para a view DEPT_SUM_VU.

CREATE CREATE SYNONYM SYNONYM d_sum d_sum FOR FOR dept_sum_vu; dept_sum_vu; Synonym Synonym Created. Created.

Elimine um sinnimo.

DROP DROP SYNONYM SYNONYM d_sum; d_sum; Synonym Synonym dropped. dropped.

SQL

Вам также может понравиться