Buscar

video_ads_banco_II_u2.pdf

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 76 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 76 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 76 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROFESSOR
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
BANCO DE DADOS - II 
Video Aula 1
Replicas de Banco de Dados
REPLICAÇÃO DE BANCO DE DADOS
Replicas On-Line.
Replicas Stand by DataBase.
Replicas Snap Shot.
REPLICAS ON-LINE
Os dados que são armazenados em uma base 
de dados são replicados imediatamente em 
outra base de dados.
Usa um protocolo chamado ‘two phase
commit’, ou seja, commit em duas fases.
A transação não se completa se houver falha 
no outro banco de dados.
TWO PHASE COMMIT
Banco A Banco B
Lado A confirma transação
Lado B recebe transação
Lado B confirma transação
Lado A recebe confirmação
Lado A conclui a transação
STAND BY DATABASE
Uma cópia fiel do banco de dados fica a 
disposição em outro servidor.
A cada arquivo de log gerado, este é copiado 
para o ‘stand by database’ e é aplicado as 
transações.
Em caso de falha do banco principal, o stand by
database pode assumir o papel do banco 
principal.
STAND BY DATABASE
O atraso é de no máximo 1 log de banco de 
dados a ser reprocessado.
O banco principal e o stand by database não 
podem ficar ‘on-line’ ao mesmo tempo.
Este é um recurso muito utilizado pois não 
custa caro.
SNAP SHOT
É um ‘clone’ do seu banco de dados.
Geralmente depende de recursos de um 
Storage SAN.
Tira uma fotografia instantânea do seu banco 
de dados e copia para um outro local, 
permitindo o uso imediato dos dados.
Conforme vai copiando vai atualizando.
STORAGE - SAN
PROFESSOR
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
BANCO DE DADOS - II
Video Aula 2
Alta Disponibilidade de Banco de Dados
HA (High Availability)
ALTA DISPONIBILIDADE DE BANCO DE 
DADOS
Ambiente de Alta Disponibilidade – High Availability.
Conhecido como Cluster de banco de dados.
A Oracle chama de RAC – Real Application Cluster.
É a capacidade de fazer um banco de dados ‘rodar’ em 
dois ou mais servidores ao mesmo tempo.
Custo elevado x Necessidade do negócio.
ALTA DISPONIBILIDADE DE BANCO DE 
DADOS
CONCLUSÃO
A distribuição dos dados precisa de um planejamento 
cuidadoso, pois a performance e a segurança são 
imprescindíveis.
A maioria dos SGBDs possuem recursos para tal 
finalidade.
É preciso encontrar o equilíbrio entre o uso da 
tecnologia e o custo envolvido (custo benefício).
PROFESSOR
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
BANCO DE DADOS - II
Video Aula 3
ENTENDENDO A ESTRUTURA DE COMANDOS SQL 
– Linguagem de Definição de Dados - DDL
INTRODUÇÃO
Foi o principal fator para que os SGBDs
comerciais terem sucesso de mercado.
Linguagem de Consulta Estruturada ou 
Structure Query Language surgiu dentro dos 
laboratórios de pesquisa da IBM na 
década de 70.
INTRODUÇÃO
A semântica dos comandos facilita a 
compreensão do que esta se querendo fazer.
A leitura do comando é muito intuitiva.
A adoção por vários SGBDs fez com que os 
programas pudessem ser mais independentes 
do SGBD para o qual foi desenvolvido.
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Os comandos DDL servem para a criação das 
estrutura de armazenamento e a sua 
manutenção também.
Comandos DDL não acessam os dados, porém 
interferem em sua existência ou forma de 
armazenamento e acesso.
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Criação de uma tabela fisicamente dentro do 
banco de dados.
–Create table <nome da tabela> ( <nome 
campo1>, <nome campo2>, <nome campo3>, 
<nome campo4> ) 
<opções>
* Pequenas variações podem ocorrer de SGBD 
para SGBD.
PROFESSOR
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
BANCO DE DADOS - II
Video Aula 4
ENTENDENDO A ESTRUTURA DE COMANDOS SQL 
– Linguagem de Definição de Dados - DDL
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Deleção de uma tabela existente fisicamente no 
banco de dados.
–Drop table <nome da tabela>
Os relacionamentos da tabela a ser deletada 
devem ser desativados antes da deleção senão 
o comando poderá não funcionar.
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Alteração de uma tabela existente fisicamente dentro 
do banco de dados.
– Alter table <nome da tabela> add ( <nome 
campo1>)
– Alter table <nome da tabela> modify (<nome 
campo1> <tipo campo> <opções> )
– Alter table <nome da tabela> drop (<nome campo1> 
) 
* As regras de negócio não podem ser violadas.
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Inclusão de um novo atributo na tabela coloca 
este atributo no final do registro.
As opções escolhidas para o campo novo valem 
para todos os registros já gravados no banco de 
dados.
A Deleção de um campo só precisa de maior 
atenção se este campo for parte de algum tipo 
de chave primária ou estrangeira.
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Um campo novo com opção de ‘not null’ ou seja 
preenchimento obrigatório.
Se a tabela estiver vazia, vai ser implementado 
sem nenhum problema.
Porém se a tabela já contiver algum registro 
gravado, vai dar erro.
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Como é possível incluir um campo novo com 
uma regra de negócio que obrigue o campo a 
ter um valor se o campo é novo.
Incluir sem a opção de ‘not null’.
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Carregar dados para todos os registros da 
tabela neste campo.
Salvar os dados.
Fazer a modificação desta opção ‘not null’.
Salvar novamente os dados.
PROFESSOR
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
BANCO DE DADOS - II
Video Aula 5
ENTENDENDO A ESTRUTURA DE COMANDOS SQL 
– Linguagem de Definição de Dados - DDL
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Atualizações que modificam as características 
de armazenamento devem ser observado os 
relacionamentos com outras tabelas, para que 
não haja problemas de relacionamento.
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Modificar o tipo do campo também pode trazer 
alguns problemas, pois algumas modificações 
podem ser realizadas e outras não.
Um campo numérico para alfanumérico.
Um campo alfanumérico para numérico.
Um campo data para booleano.
Um campo binário para alfanumérico.
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Modificar o tamanho do campo é outro ponto 
muito polêmico também, pois algumas 
modificações podem ser realizadas e outras 
não.
Aumentar o tamanho de um campo.
Diminuir o tamanho de um campo.
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
No geral, as modificações que forem realizadas 
com a tabela vazia, a maioria deve funcionar.
E as modificações com a tabela contendo 
registros gravados nem sempre vai ser tão fácil 
de se realizar.
PROFESSOR
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
BANCO DE DADOS - II
Video Aula 6
Linguagem de Definição de Dados – DDL
Chaves Primárias e Estrangeiras
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Definição de uma chave primária.
Pode ser feita no momento da criação da tabela.
– Create table T1 ( <campo> PRIMARY KEY, 
<campo>);
ou
– Create table T1 ( <campo>, <campo>, PRIMARY 
KEY (<campo>) );
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Pode ser feita depois que uma tabela já exista.
– Alter table T1 ADD PRIMARY KEY (<campo>); 
O <campo> deve ser definido como ‘not null’.
O <campo> deve estar preenchido em todos os 
registros da tabela e não pode ter nenhum dados 
duplicado.
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Definição de uma chave estrangeira.
Pode ser feita no momento da criação da tabela.
– Create table T2 ( <campo> REFERENCES T1 
(<campo_pk_T1>);
ou– Create table T2 ( <campo>, FOREIGN KEY (<campo>) 
REFERENCES T1 (<campo_pk_T1>));
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Pode ser feita depois que uma tabela já exista.
–Alter table T2 ADD (CONSTRAINT fk_campo) 
FOREIGN KEY (<campo>) REFERENCES T1 
(<campo_pk_T1>); 
–Alter table T2 ADD FOREIGN KEY (<campo>) 
REFERENCES T1 (<campo_pk_T1>);
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Definição de um campo UNIQUE.
–O conteúdo não pode ser repetido.
–Aceita 1 registro com o conteúdo vazio nulo).
–Create table T1 ( <campo> varchar2(1) 
UNIQUE);
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Definição de um campo com valor DEFAULT.
–Quando o conteúdo não é indicado, recebe o 
valor ‘default’ definido.
–Create table T1 ( <campo> varchar2(1) 
DEFAULT ‘X’);
LINGUAGEM DE DEFINIÇÃO DE 
DADOS - DDL
Definição de um campo com valor restrito 
(CHECK).
– Só aceita o conteúdo que satisfazer a regra 
de CHECK estabelecida.
– Create table T1 ( <campo> number(3) CHECK 
(<campo> < 50);
PROFESSOR
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
BANCO DE DADOS - II
Video Aula 7
Visões Lógicas - VIEWs
COMANDO VIEW
Vamos praticar a criação e manipulação de 
visões lógicas (view).
Os SGBDs possuem uma facilidade que é a 
possibilidade de criação de visões lógicas de 
tabelas, onde somente os dados pré-
selecionados estarão disponíveis ao usuário.
COMANDO VIEW
Os filtros podem ser:
–Por linha (registro).
–Por coluna (campo).
–Por tabela (tabela).
Uma visão só permite leitura (select).
COMANDO VIEW
Create view <visão> as select <campo> from
<tabela> where <condição>;
Ex.
–Create view v_cliente as select nome_cliente, 
sexo_cliente from cliente where
cidade_cliente = ‘londrina’;
COMANDO VIEW
Create table montadora ( id_montadora
varchar2(3), nom_montadora varchar2(20), 
pais_montadora varchar2(20));
Create table carro (nom_carro varchar2(15), 
id_montadora varchar2(3), combustivel_carro
varchar2(1), cor_carro varchar2(15)); 
COMANDO VIEW
Vamos gravar 5 montadoras.
–1, honda, japao
–2, nissan, japao
–3, renault, franca
–4, mercedes, alemanha
–5, fiat, italia
COMANDO VIEW
Vamos gravar 8 carros.
–Civic, 1, f, cinza
–City, 1, f, preto
– Sentra, 2, g, prata
– Fluence, 3, g, preto
–ClasseA, 4, g, branco
– Strada adv, 5, f, vermelho
PROFESSOR
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
BANCO DE DADOS - II
Video Aula 8
Prática SQL – Visões Lógicas
COMANDO VIEW
Vamos criar as visões.
–Create view visao1 as select
nom_montadora, nom_carro from
montadora, carro;
–Create view visao2 as select
nom_montadora, nom_carro from
montadora m, carro c where
m.id_montadora = c.id_montadora;
COMANDO VIEW
Vamos criar as visões.
–Create view visao3 as select
nom_montadora, nom_carro from
montadora m, carro c where m.id_montadora
= c.id_montadora and pais_montadora = 
‘japao’;
COMANDO VIEW
Vamos criar as visões.
–Create view visao4 as select
nom_montadora, pais_montadora, 
nom_carro, cor_carro from montadora m, 
carro c where m.id_montadora = 
c.id_montadora and
cor_carro = ‘preto’;
COMANDO VIEW
Utilizando as visões.
– Select * from visao1;
– Select * from visao2;
– Select * from visao3;
– Select * from visao4;
–Desc visao1;
– Select * from user_views;
PROFESSOR
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
BANCO DE DADOS - II
Video Aula 9
Prática SQL - Triggers
TRIGGER
São gatilhos disparados automaticamente pelo 
BD sempre que acontecem algum evento que 
modifique os dados das tabelas no BD.
O gatilho é individual por tabela.
O gatilho executa uma lógica programada.
TRIGGER
O gatilho pode ser acionado quando um dos 
seguintes comandos é executado:
– Insert – um novo registro é gravado na 
tabela.
–Update – um registro existente na tabela é 
atualizado.
–Delete – um registro existente na tabela é 
removido.
TRIGGER
Depois que o comando é direcionado ao banco 
de dados, e a necessidade de execução de um 
gatilho é verificada, ainda tem mais duas 
situações a serem analisadas:
–Before – acionar o gatilho antes de executar o 
comando.
–After – acionar o gatilho depois de executar o 
comando.
TRIGGER
Portanto temos 6 combinações de gatilhos 
possíveis por tabela.
–Before insert.
–After insert.
–Before update.
–After update.
–Before delete.
–After delete.
TRIGGER
O gatilho é acionado uma única vez.
Porém, existe uma variação sintática que 
permite a sua execução, uma vez para cada 
registro afetado pelo comando.
– For each row.
TRIGGER
Create or replace trigger <nome trigger> 
<nome do evento> 
on <nome da tabela>
<Lógica programada / bloco PL/SQL>
end;
TRIGGER
Para testarmos as triggers, vamos gravar uma 
mensagem na tabela TABLOG sempre que uma 
trigger da tabela TB1 for acionada.
Create table TABLOG (msg varchar2(50));
Create table TB1 (nome varchar2(20));
PROFESSOR
ROBERTO YUKIO NISHIMURA
ESPECIALISTA EM ADMINISTRAÇÃO DA 
ENGENHARIA DE SOFTWARE
BANCO DE DADOS - II
Video Aula 10
Prática SQL - Triggers
TRIGGER
Create trigger T_TB1_B_I before insert on TB1
Begin
Insert into TABLOG values (‘before insert 
tb1’);
End;
/
TRIGGER
Create trigger T_TB1_A_U after update on TB1 
for each row
Begin
Insert into TABLOG values (‘after update 
tb1’);
End;
/
TRIGGER
Create trigger T_TB1_X before delete OR after 
delete on TB1
Begin
Insert into TABLOG values (‘delete tb1’);
End;
/
TRIGGER
Controlando as triggers.
Eliminar uma trigger.
–Drop trigger <nome_trigger>;
TRIGGER
Desabilitando uma trigger.
–Alter trigger <nome_trigger> disable;
Reativando uma trigger.
–Alter trigger <nome_trigger> enable;
TRIGGER
Informações úteis.
– Show errors triggers <nome_trigger>;
– Show errors;
–Desc user_triggers;

Outros materiais