Você está na página 1de 20

Banco de Dados

Aula 09 – PostgreSQL – Consulta com Múltiplas Tabelas (JOIN)


Join
• Operação multi-tabelas;

• Select: o nome da coluna deve ser precedido pelo nome da


tabela;

• From: indicamos duas ou mais tabelas ao SGBD;

• Where: deve haver comparação de colunas com valores


similares.

Prof. Victor Sotero 2


Join
• Não precisam possuir o mesmo tipo de dados, mas tem que
ser de um tipo que o SGBD consiga converter;

• Valores nulos nunca se unem.

• Não precisamos declarar no select as colunas que estejam


em condição de join.

Prof. Victor Sotero 3


Sintaxe Simplificada
select [tabela].nome_de_coluna, [,...]
from lista_de_tabelas
[where condições_de_pesquisa]

• Select professor.nome, disciplina.nome from


professor,disciplina where
professor.codigo=disciplina.cod_professor;
PK FK

Prof. Victor Sotero 4


Aliases
• Função que serve para apelidar consultas.
• Muitas vezes, o comando select pode ficar extenso. Usamos
o aliases para diminuir.

Ex: Select a.nome,d.nome


from aluno a, disciplina d
where a.mat>30 and d.nome=‘BDD’;

Prof. Victor Sotero 5


Self Joins
• Podemos utilizar o join dentro da mesma tabela e utilizando
dois aliases.
• Ex: Que autores possuem o mesmo sobrenome?

select a1.Snome, a1.Pnome


from autor a1, autor a2
where a1.Snome=a2.Snome and
a1.codigo!=a2.codigo;

Prof. Victor Sotero 6


Outer Join
• Mostra se determinadas linhas de uma tabela, estão relacionadas( chave
estrangeira) com outra tabela.
• Left outer join: são incluídas todas as linhas da tabela mais a esquerda da
expressão.
Select cliente.nome, pedido.codigo_cliente,pedido.num_pedido
from cliente left outer join pedido
on cliente.codigo_cliente=pedido.codigo_cliente;

• Right outer join: são incluídas todas as linhas da tabela mais a esquerda da
expressão.
Select cliente.nome, pedido.codigo_cliente,pedido.num_pedido
from cliente right outer join pedido
on cliente.codigo_cliente=pedido.codigo_cliente;

Prof. Victor Sotero 7


Left Outer Join

Prof. Victor Sotero 8


Right Outer Join

Prof. Victor Sotero 9


Criando uma Variável de Ambiente - Windows
• Ao invés de percorrer todo o diretório dentro do CMD, para
abrir um executável específico, podemos criar uma variável
de ambiente e automatizar essa atividade.

• Por exemplo, precisamos percorrer o seguinte caminho para


abrir o pg_dump: C:\Program Files\PostgreSQL\15\bin

Prof. Victor Sotero 10


Criando uma Variável de Ambiente - Windows

• No campo de busca do
Windows pesquise por
“sistema”

Prof. Victor Sotero 11


Criando uma Variável de Ambiente - Windows

• Na tela que abrir clique


na opção “Configurações
Avançadas do Sistema”

Prof. Victor Sotero 12


Criando uma Variável de Ambiente - Windows

• Será aberta uma janela
“Propriedades dos
Sistema”. Escolha a
opção variável de
ambiente

Prof. Victor Sotero 13


Criando uma Variável de Ambiente - Windows

• Localize “path” e clique na opção
de editar.
• Na próxima janela clique na
opção “novo” e adicione o
diretório padrão do PostgreSQL.
• Clique em “OK”.

Prof. Victor Sotero 14


Criando uma Variável de Ambiente - Windows

• Depois disso, não será preciso entrar pasta por pasta para
utilizar algum programa do PostgreSQL.

Prof. Victor Sotero 15


Pg_dump
• Utilitário para fazer uma cópia de segurança da base de
dados;
• Pode ser utilizado mesmo com o banco recebendo
transações;
• Os backups podem ser feitos em forma de scripts ou tar;
• No formato de script é salvo um arquivo do modo texto que
contém todos os comandos de criação do banco;
• No formato TAR é preciso utilizar um utilitário pg_restore

Prof. Victor Sotero 16


Efetuando Backup via Linha de Comando - TAR
• Ao abrir o prompt de comando (cmd) digite:

• Onde
• --username postgres: corresponde ao usuário que vai efetuar o
backup.
• --format tar: é o formato escolhido para o backup.
• --file: corresponde ao nome do backup e onde ele será salvo.
• Nomedobanco: já diz tudo.

Prof. Victor Sotero 17


Restaurando Backup via Linha de Comando
• Para restaurar usamos o utilitário pg_restore

• Onde
• --host: indicamos a localização do backup.
• --port: diz respeito a porta utilizada.
• --dbname: nome do banco e diretório do backup

• Obs.: o banco precisa existir no PostgreSQL.

Prof. Victor Sotero 18


Efetuando Backup via Linha de Comando - SQL
• Backup via script - sql

• Restaurando via script - sql

Prof. Victor Sotero 19


fim

Prof. Victor Sotero

Você também pode gostar