-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCapitulo 03 Laboratorio - Adm Objetos com Views DD.sql
130 lines (65 loc) · 2.91 KB
/
Capitulo 03 Laboratorio - Adm Objetos com Views DD.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/* Exercício 01
Consulte as tabelas do dicionário de dados */
select * from user_tables; -- all_tables dba_tables
/* Exercício 02
Consulte as tabelas do dicionário de dados que você tem acesso, tabelas que estão no dicionário de dados*/
select * from all_tables;
/* Exercício 03
Crie um relatório que mostre as colunas, tipos de dados e tamanho e se são permitidos nulos ou não
Coloque para ser digitado o nome da tabela em prompt
E seus aliases DATA_PRECISION DATA_SCALE */
select column_name, data_type, data_length, data_precision PRECISION, data_scale SCALE, nullable
from user_tab_columns
where table_name = UPPER('&nome');
/* Exercício 04
Crie um relatório que mostre o nome da coluna, a constraint, o tipo de constraint, sua condição, e o status da tabela.
Você deve usar a user_constraints e user_cons_columns para obter essas informações.
O nome da tabela deve vir de um prompt*/
select ucc.column_name, uc.constraint_name, uc.constraint_type, uc.search_condition, uc.status
from user_constraints uc join user_cons_columns ucc
on uc.table_name = ucc.table_name
and uc.constraint_name = ucc.constraint_name
and uc.table_name = UPPER('&nome');
/* Exercício 05
Adicione um comentário para a tabela departments
Depois demonstre esse comentário
*/
comment on table departments is 'Tabela Departamentos';
select * from user_tab_comments
where table_name = 'DEPARTMENTS'
/* Exercício 06
Crie um sinonimo para a tabela empregados, chame de emp e depois faça busca por este
*/
create synonym emp for employees;
select * from user_synonyms
CREATE SYNONYM -- habilitar esse privilegio
/* Exercício 07
Crie uma tabela dept80 vindo da tabela employees, após isso crie uma view que mostre somente os primeiros 3 registros
Após isso verifique essa view em sua view administrativa*/
create table dept80 as select * from employees
create or replace view v_dept80 as select employee_id, first_name, last_name from dept80;
select * from user_views
/* Exercício 08
Busque os nomes das sequences em seu banco de dados, liste suas caracteristicas*/
select * from user_sequences;
/* Exercício 09
Confirme as tabelas dept2 e emp2 se estão armazenadas em nosso dicionario de dados*/
select * from user_tables
/* Exercício 10
Consulte no dicionário de dados o nomes e tipos de constraints para o esquema HR*/
select * from user_constraints
/* Exercício 11
Consulte no dicionário de dados os objetos do esquema HR*/
select * from user_objects
/* Exercício 12
Crie uma tabela sales_dept com um indice primary key ´para a coluna sales_pk_idx
Após isso consulte na view administrativa esse indice
Column Name Team_Id Location
Primary Key Yes
Data Type Number VARCHAR2
Length 3 30
*/
create table sales_dept
(team_id number(3) primary key using index (create index sales_pk_idx on sales_dept(team_id)),
location varchar(30));
select * from user_indexes;