Treinamento Java Oracle nos padrões KMM

Propaganda
Treinamento Java Oracle nos padrões KMM
Marcos Vinicius Borck
Banco de dados I
• Criação de estruturas:
–
–
–
–
–
–
Tabelas
Sequences
Triggers
Views
Constraints
Grants
• Utilização de Geradores
• Nomenclatura de arquivos e SVN
• Aplicação prática
Tabelas
•
•
•
•
Owner;
Nome;
Tablespace;
Temporária;
Tabelas - Colunas
• Tipos de dados:
–
–
–
–
–
–
DATE
VARCHAR2
NUMBER
INTEGER
CLOB
BLOB
• Nulo ou não nulo?
• Comentários
Tabela - Exemplo
Comentarios - Exemplo
Owner . Tabela . Coluna
Tabela Temporária – Exemplo
Tabelas - Constraints
•
•
•
•
•
PK – Primary key
UK – Unique key
FK – Foreign key
Índices
Checkcontraints
Constraints - Exemplo
Triggers e sequences
• Uso prático na KMM
• PKC - Sequences
• Auditoria
• Geradores:
– \SVN\Software\_dev\Padroes\Oracle\Geradores\gerador
_de_triggers_PKC_com_SQE.tst
– \SVN\Software\_dev\Padroes\Oracle\Geradores\gerador
_de_triggers_AUDIT.tst
Triggers e sequences - Exemplo
Triggers e sequences - Exemplo
Views
• Consultas
• Interface entre usuário e tabela
• Gerador de view:
– \SVN\Software\_dev\Padroes\Oracle\Geradores
– Arquivo: gerador_de_view.tst
Roles e Grants
• Roles
– Controle de permissões
– São concedidas aos usuários
• Grants
– Concede permissões
• Execução: EXECUTE (Packages)
• Consulta: SELECT (Views)
– As permissões podem ser concedidas para
• Usuários
• Roles
Views - Exemplo
Consultas e Indentação
• Consulta e indentação simples:
select *
from kmm.professor
• Consultas e indentação com INNER JOIN
select
,
from
inner
on
p.nome
d.descricao
kmm.professor p
join kmm.graduacao g
g.graduacao_id = p.graduacao_id
Consultas – INNER JOIN
• Exemplo de consulta INNER JOIN
select
,
,
,
,
,
,
,
,
from
inner
on
inner
on
inner
on
ptd.professor_turma_disciplina_id
p.professor_id
p.nome
d.disciplina_id
d.cod_disciplina
d.descricao
t.turma_id
t.cod_turma
t.descricao
kmm.professor_turma_disc ptd
join kmm.professor p
p.professor_id = ptd.professor_id
join kmm.disciplina d
d.disciplina_id = ptd.disciplina_id
join kmm.turma t
t.turma_id = ptd.turma_id
Consultas – LEFT JOIN
• Exemplo de consulta LEFT JOIN
select
,
,
,
,
,
,
,
,
from
LEFT
on
inner
on
inner
on
ptd.professor_turma_disc_id
p.professor_id
p.nome
d.disciplina_id
d.cod_disciplina
d.descricao
t.turma_id
t.cod_turma
t.descricao
kmm.professor_turma_disc ptd
join kmm.professor p
p.professor_id = ptd.professor_id
join kmm.disciplina d
d.disciplina_id = ptd.disciplina_id
join kmm.turma t
t.turma_id = ptd.turma_id
Sintaxe Insert
• Sintaxe INSERT sem retorno do ID
insert into [OWNER].[TABELA] ([CAMPO1],
[CAMPO2],...) values ([VALOR1], [VALOR2])...
• EXEMPLO
insert into kmm.graduacao (cor, descricao)
values ('#0033FF', 'Técnico');
Sintaxe Insert
• Sintaxe INSERT com retorno do ID
insert into [OWNER].[TABELA] ([CAMPO1],
[CAMPO2],...) values ([VALOR1], [VALOR2])
returning [CAMPO_RETORNO] into [VARIAVEL]
• Insert com retorno do ID da tabela
insert into kmm.graduacao (cor, descricao)
values ('#0033FF', ‘Graduando') returning
graduacao_id into v_graduacao_id;
Sintaxe Update
• Sintaxe
update [OWNER].[TABELA]
set [CAMPO] = [VALOR]
where [CAMPO_CONDICAO] = [VALOR_CONDICAO]
• Exemplo
update kmm.graduacao
set descricao = ‘Graduando 999’
where descricao = ‘Graduando’
Sintaxe Delete
• Sintaxe
delete [OWNER].[TABELA]
where [CAMPO_CONDICAO] = [VALOR_CONDICAO]
• Exemplo
delete kmm.graducao
where descricao = ‘Graduando 999’
Exemplo prático
• Criar tabelas conforme modelo apresentado na wiki
•
http://wiki.kmm.com.br/index.php/Treinamento_de_Programação_KMM#Banco_de_dados
Dúvidas
Treinamento Java Oracle nos padrões KMM
[email protected]
Download