Junção theta (álgebra relacional)
Este artigo é órfão, pois não contém artigos que apontem para ele. |
A Junção Theta, também conhecida como Junção Condicional é representada pelo símbolo ⋈, e baseia-se em uma combinação dos operadores produto cartesiano e seleção. Ela cria uma relação pela combinação dos campos de uma relação com aquelas de uma outra baseada em uma comparação de valores entre colunas que não necessariamente tem o mesmo nome.
Sintaxe
[editar | editar código-fonte]A sintaxe da junção theta é:
<tabela1> ⋈ <critério de seleção> <tabela2>
Onde:
<tabela> é o nome de uma tabela, ou expressão algébrica que resulte em uma tabela
<critério de seleção> é uma expressão booleana envolvendo literais e valores das colunas das duas tabelas envolvidas.
Exemplo Tabelas Hipotéticas
[editar | editar código-fonte]A seguir um exemplo com tabelas hipotéticas:
Imaginemos que possuímos as tabelas TabelaA e TabelaB conforme mostra abaixo:
TabelaA
c | d |
ValorA | 50 |
ValorB | 65 |
ValorC | 70 |
TabelaB
e | f |
ValorD | 50 |
ValorE | 80 |
ValorF | 70 |
Com a relação abaixo iremos reproduzir um produto cartesiano das duas tabelas selecionando apenas as linhas em que a coluna "d" da tabela "TabelaA" seja igual a coluna "f" da tabela "TabelaB".
TabelaA ⋈ TabelaA.d = TabelaB.f TabelaB
c | d | e | f |
ValorA | 50 | ValorD | 50 |
ValorC | 70 | ValorF | 70 |
Exemplo Real
[editar | editar código-fonte]A seguir um exemplo com tabelas reais:
Suponhamos que temos as tabelas "Emprestimo" e "Conta" que guardam respectivamente informações das contas dos clientes de um banco e informações de empréstimos realizados a esses clientes:
Emprestimo
nomeAgencia | nroEmprestimo | nomeCliente | valor |
Assis Brasil | 100 | Pedro | 7000 |
Verde | 200 | Maria | 11000 |
Assis Brasil | 400 | João | 5000 |
São João | 500 | Ana | 35000 |
Conta
nomeAgencia | nroConta | nomeCliente | saldo |
Verde | 50 | Maria | 3000 |
Farrapos | 100 | Denise | 2000 |
Farrapos | 200 | Pedro | 300 |
São João | 300 | Ana | 2500 |
São João | 400 | João | 1000 |
A seguir desejamos obter os dados dos empréstimos e das contas onde o nome do cliente da conta e o nome do cliente do empréstimo sejam iguais e o valor do empréstimo é maior que o saldo da conta do cliente.
Empréstimo ⋈ Conta.nomeCliente = Emprestimo.nomeCliente e Emprestimo.valor > Conta.saldo Conta
Conta.nomeAgencia | nroConta | Conta.nomeCliente | saldo | Emprestimo.nomeAgencia | nroEmprestimo | Emprestimo.nomeCliente | valor |
Farrapos | 200 | Pedro | 300 | Assis Brasil | 100 | Pedro | 7000 |
Verde | 50 | Maria | 3000 | Verde | 200 | Maria | 11000 |
São João | 400 | João | 1000 | Assis Brasil | 400 | João | 5000 |
São João | 300 | Ana | 2500 | São João | 500 | Ana | 35000 |
Referências gerais
[editar | editar código-fonte]- «Banco de Dados I – Introdução - Unisinos»
- «Banco de Dados I - Fernando Siqueira» (PDF)
- «BANCO DE DADOS - Coordenação de Informática do CEFET-Campos»
- «Definição do Plano de Execução Estimativas sobre os Dados - UFSC» (PDF)