Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dicionário de Dados
- dicionário de dados grava todas AS informações dos objetos, ou seja, uma package a gente consegue ver linha por linha por ser salva na tabela SOURCE.
- Tipos de VIEWs
- ALL: todos os objetos de que o seu usário pode acessar;
- USER: Somente os objetos do seu usário;
- DBA: Esta somente os DBAS tem acesso e conseguem ver todos os objetos de todos os usuários;
- V$: São VIEWs que estão relacionadascom o desempenho do bancode dados
- Para acessar todos os nomes das VIEWs do dicionário de dados temos a VIEW DICTIONARY, com ela você consegue saber todas AS informações de todas AS VIEWs do dicionário de dados;*/
- /*USER_OBJECTs
- Com essa VIEW você consegue visualizar todas as informações dos objetos do seu usuario(schema). nesta view estão contidas as seguintes informações:
- OBJECT_NAME: Nome do objeto;
- SUBOBJECT_NAME: Nome do subobjeto, como por exemplo uma partição.
- OBJECT_ID: Identificador do objeto no dicionário de dados;
- DATA_OBJECT_ID: Identificador do seguimento onde o objeto está contido;
- OBJECT_TYPE: Tipo de objeto;
- CREATED: Data de criação do objeto;
- LAST_DDL_TIME: ultima vez que tivemos um DDL no objeto;
- TIMESTAMP: Data da especificação do objeto;
- STATUS: status do objeto (Válido ou inválido);
- TEMPORARY: verifica se o objeto é temporário ou não (N,Y);
- GENERATED: foi um nome criado pelo Oracle ou pelo usuário (N,Y);
- SECUNDARY: define se é um objeto secundário criado como parte de indes de dominio (Y,N);
- NAMESPACE: nome da namespace onde o objeto foi criado;
- EDTION_NAME: Nome a edição do objeto;*/
- SELECT * FROM dictionary;
- SELECT * FROM user_objects
- WHERE object_type = 'TABLE';
- /* Informações de Tabelas
- Existem 4 VIEWs importantes onde encontramos informações de tabelas, que estão descritas abaixo:
- USER_TABLES: Informações das tabelas do usuário que está verificando está informação;
- USER_TAB_COLUMNS: Informação das colunas tabelas do usuário;
- USER_CONSTRAINTS: Definição das constraints nas tabelas;
- USER_CONS_COLUMNS: Colunas que estão nas constraints
- definidas.
- VIEW USER_TABLES: A View USER_TABLES é uma das mais importantes do dicionário de dados, nela você encontra todas as informações das tabelas do usuário. Está VIEW possui muitas informações de configurações que são importantes para a manuntenção do banco de dados, abaixo seguem as informações mais importantes:
- TABLE_NAME: Nome da tabela;
- TABLESPACE_NAME: Nome do tablespace onde a VIEW está localizada.
- STATUS: Existem dois status UNUSABLE, para os casos onde houver um DROP TABLE a tabela ficou inutilizavel e VALID;
- BACKED_UP: Se a tabela teve um backup desde a sua criação em caso positivo Y, se não o valor é N;
- AVG_SPACE: Média de espaço livre na tabela para utilização;
- PARTIONED(Recurso de banco de dados Oracle): Se a tabela foi particionada ou não;
- Além das tabelas também temos uma VIEW com as informações das colunas das tabelas, está view é a USER_TAB_COLUMNS, abaixo segue um descritivo dos principais campos dessa VIEW:
- TABLE_NAME: Nome da tabela à qual as colunas pertencem;
- COLUMN_NAME: Nome da coluna;
- DATA_TYPE: Tipo da coluna;
- DATA_LENGTH: Tamanho da coluna;
- DATA_PRECISION: Percisão do campo(Casas decimais);
- NULLABLE: Y se a coluna pode receber um valor nulo e N para os casos contrários
- DATA_DEFAULT: valores Padrão da coluna;
- Informações sobre Constraints
- Para verificarmos as informações sobre as constraints temos duas views para isso, a USER_CONSTRAINTS e a USER_CONS_COLUMNS, abaixo segue um descritivo sobre elas:
- USER_CONSTRAINTS: Nesta view estão contidas as informações da constraints propriamente ditas;
- USER_CONS_COLUMNS: Nesta view estão as colunas especificadas nas constraits;
- VIEW USER_CONSTRAINTS:
- Abaixo seguem as colunas mais importantes desta VIEW:
- OWNER: Nome do usuário dono da CONSTRAINT;
- CONSTRAINT_NAME: Nome da constraint;
- CONSTRAINT_TYPE: Tipo de constraint;
- C: Constraint de verificação;
- P: Chave primária;
- U: Chave exclusiva;
- R: Integridade Referencial (Chave Estrangeira);
- V: Com opção de verificação, somente para VIEWs;
- O: Somente para leitura, esta constraint se aplica somente nas VIEWs.
- TABLE_NAME: Nome da tabela;
- SEARCH_CONDITION: Condição da constraint de CHECK;
- R_OWNER: Nome do owner da tabela referenciada;
- R_CONSTRAINT_NAME: Nome da constraint referenciada;
- DELETE_RULE: Regra de deleção da constraint referenciada;
- STATUS: Para ver se a constraint está habilitada ou não;
- DEFERRABLE(É um recurso que só acontece após o commit, utilizado para melhorar performance da consulta): Se a constraint é DEFERRABLE ou NOT DEFERRABLE;
- GENERATED: Se o nome da constraint foi gerado pelo sistema;
- VIEW USER_CONS_COLUMNS
- Abaixo seguem as colunas da VIEW USER_CONS_COLUMNS:
- OWNER: Nome do usuário dono da constraint;
- CONSTRAINT_NAME: Nome da constraint;
- TABLE_NAME: Nome da tabela;
- COLUMN_NAME: Nome da coluna;
- POSITION: Posição da coluna na tabela;
- Informações de VIEWs e SEQUENCES
- Dicionário de dados de uma VIEW
- AS VIEWs assim como os outros objetos de dados também possuem uma VIEW que armazena as informações de suas configurações, esta VIEW se cham USER_VIEW e dentro dela temos os seguintes campos:
- VIEW_NAME: Nome da VIEW;
- TEXT_LENGTH: Quantidade de caracteres contidos no código que formou a VIEW;
- TEXT: Código que formou a VIEW;
- EDITION_VIEW: Y se a view pode ser editado e N caso não;
- READ_ONLY: Y se a view só for para leitura, N caso não;
- VIEW USER_SEQUENCES:
- Na VIEW USER_SEQUENCES você encontra todas as informações de configuração de uma SEQUENCE, abaixo segue um descritivo dos seus campos:
- SEQUENCE_NAME: Nome da SEQUENCE;
- MIN_VALUE: Menor valor da SEQUENCE;
- MAX_VALUE: Maior valor de uma SEQUENCE;
- INCREMENT_BY: Valor que é incrementado na SEQUENCE;
- CYCLE_FLAG: Y caso de positivo e N em caso que não tempos CYCLE;
- CACHE_SIZE: Tamanho do cache da SEQUENCE;
- LAST_NUMBER: Ultimo número da SEQUENCE, no momento da consulta;
- Informações de sinonimos e como adicionar um comentário a uma tabela ou a uma coluna.
- Dicionário de dados de um sinônimo:
- Assim como os outros objetos os sinonimos também possuem uma VIEW onde ficam armazenadas as suas configurações, abaixo segue um descritivo das colunas da VIEW USER_SYNONYMS:
- SYNONYM_NAME: Nome do sinonimo;
- TABLE_OWNER: usuário proprietário do objeto que é referenciado pelo sinonimo;
- TABLE_NAME: Nome do objeto referenciado;
- DB_LINK: Link referenciado para um sinonimo remoto;
- COMO ADICIONAR COMENTÁRIO EM UMA TABELA OU COLUNA:
- USER_COL_COMMENTS: Comentários adicionados nas colunas;
- USER_TAB_COMMENTS Comentários adicionados nas tabelas;
- */
- COMMENT ON TABLE hr.employees
- IS 'Informações dos empregados';
- COMMENT ON COLUMN hr.employees.employee_id
- IS 'Identificação dos funcionários';
- SELECT * FROM ALL_TAB_COMMENTS;
- SELECT * FROM ALL_COL_COMMENTS;
- SELECT * FROM ALL_TAB_COMMENTS
- WHERE TABLE = 'HR.EMPLOYEES;
- SELECT * FROM ALL_COL_COMMENTS
- WHERE TABLE_NAME = 'hr.employees'
- AND COLUMN_NAME = 'employee_id';
- /* Crie uma consulta que exiba o nome das colunas, os tipos de dados, o tamanho dos dados e se eles podem ser nulos da tabela JOBS*/
- SELECT table_name, column_name
- data_type, data_length,
- nullable
- FROM USER_TAB_COLUMNS
- WHERE TABLE_NAME = 'hr.jobs';
- /* Agora faça uma consulta que exiba o nome da coluna, nome da constraint,
- o tipo da constraint(nome descritivo, use o DECODE com o descritivo passado na aula para exibir essa informação)
- a condição de pesquisa e o seu STATUS. Para fazer esse exercício faça um JOIN das tabelas USER_CONSTRAINTS e USER_CONS_COLUMNS
- */
- SELECT uc.constraint_name, ucolum.column_name,
- DECODE(
- uc.constraint_type,
- 'C', 'CONSTRAINT de verificação',
- 'P', 'Chave Primária',
- 'U', 'Chave exclusiva',
- 'R', 'Integridade Referencial',
- 'V', 'Com opção de verificação',
- 'O', 'Somente para leitura') 'Tipo',
- uc.search_condition, uc.status
- FROM USER_CONSTRAINTS uc
- INNER JOIN USER_CONS_COLUMNS ucolum
- ON uc.CONSTRAINT_NAME = ucolum.CONSTRAINT_NAME;
- /* Crie uma consulta para exibir as informações sobre suas seqüências: nome, valor máximo, tamanho do incremento e último número.*/
- SELECT sequence_name, max_value,
- increment_by, last_number
- FROM USER_SEQUENCES;
- /* Adicione um comentário a coluna department_id da tabela departments,
- este comentário deve ser a tradução do comentário atual. Após fazer isso exiba este comentário.*/
- COMMENT ON COLUMN hr.departments.department_id
- IS 'Tradução do comentário atual';
- SELECT * FROM ALL_COL_COMMENTS;
- WHERE TABLE_NAME = 'hr.departments'
- AND COLUMN_NAME = 'department_id';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement