O resumo anterior fechou o trio de operadores herdados da teoria de conjuntos — união, interseção e diferença —, todos exigindo união-compatibilidade entre as relações envolvidas. Agora entra um operador binário completamente diferente nesse quesito: o produto cartesiano (×), que combina duas relações sem nenhuma exigência de compatibilidade. E é exatamente a partir dele que se define formalmente a junção (⋈), um dos operadores mais cobrados de toda a álgebra relacional.
Neste resumo, você vai entender como o produto cartesiano combina relações de graus diferentes, por que sua cardinalidade cresce tão rápido, e a definição que costuma pegar o candidato de surpresa: junção não é um operador novo e independente — é produto cartesiano seguido de seleção.
📲 Canal Oficial do Dicionário do Concurseiro no WhatsApp
Receba resumos, questões comentadas e novidades diretamente no seu celular!
💡 Conteúdo exclusivo para concurseiros. Totalmente gratuito!
✖️ Produto cartesiano (×)
R × S combina cada tupla de R com cada tupla de S, gerando todas as combinações possíveis entre as duas relações — sem verificar se existe qualquer correspondência lógica entre os dados. Diferente de união, interseção e diferença, o produto cartesiano não exige união-compatibilidade: R e S podem ter graus completamente diferentes, domínios diferentes, até esquemas sem nenhuma relação lógica entre si.
Efeito sobre grau e cardinalidade: o grau do resultado é a soma dos graus de R e S (todos os atributos de R seguidos de todos os atributos de S); a cardinalidade do resultado é o produto das cardinalidades — |R| × |S| —, dando nome ao operador. Esse crescimento multiplicativo é rápido: cruzar uma relação de 1.000 tuplas com outra de 1.000 tuplas gera 1.000.000 de tuplas no resultado, a maioria delas combinações sem qualquer sentido para a aplicação.
Se R e S tiverem atributos com o mesmo nome, o resultado fica ambíguo — para referenciar esses atributos é preciso qualificá-los com o nome da relação de origem (R.atributo, S.atributo).
🔗 Junção (⋈): produto cartesiano com filtro
Por si só, o produto cartesiano quase nunca é o que se quer: a esmagadora maioria das combinações geradas não representa nenhuma correspondência real entre os dados. Na prática, ele é seguido de uma seleção que filtra só as combinações que atendem a uma condição — e é exatamente esse encadeamento — produto cartesiano seguido de seleção — que define formalmente a junção: R ⋈condição S = σcondição(R × S) (a condição aparece como subscrito, a mesma lógica da notação σ<condição>(R) vista no resumo de seleção e projeção, só que agora representada de forma mais explícita).
Esse é o ponto conceitual mais cobrado do tema: junção não é um operador primitivo independente — ela é definida em termos de dois operadores já vistos (produto cartesiano e seleção), na mesma linha em que a interseção foi definida em termos de diferença no resumo anterior. Quando a condição da junção é uma comparação genérica (=, <, >, ≠, ≤, ≥) entre atributos de R e S, chama-se junção-theta (θ-join); quando a condição usa exclusivamente igualdade, chama-se equijunção — um caso particular da junção-theta.
⚠️ Pegadinhas comuns
- Produto cartesiano é a exceção à regra de compatibilidade: união, interseção e diferença exigem mesmo grau; produto cartesiano faz o oposto — nem exige grau igual, nem domínios compatíveis;
- Grau soma, cardinalidade multiplica: não confundir com os operadores de conjunto do resumo anterior, onde o grau do resultado é sempre igual ao de R e S, e a cardinalidade no máximo soma (união) ou é limitada pela menor relação (interseção) — no produto cartesiano o grau soma e a cardinalidade multiplica;
- Junção é derivada, não primitiva: formalmente,
R ⋈cSé só uma abreviação deσc(R × S)— a banca pode pedir para “expandir” uma junção em produto cartesiano + seleção, ou o contrário; - Equijunção é um caso particular de junção-theta, não um operador à parte: toda equijunção é junção-theta (com condição restrita à igualdade), mas nem toda junção-theta é equijunção.
🎯 Dica Final para a Prova
Sempre que a questão definir formalmente uma junção, espere ver exatamente a fórmula σcondição(R × S) — se a banca perguntar “de quais operadores a junção deriva”, a resposta é produto cartesiano e seleção, nessa ordem lógica. E lembre que “produto cartesiano sem filtro” e “junção” não são sinônimos: o primeiro é o material bruto, a segunda é o resultado depois de aplicar a condição que dá sentido à combinação.
✓ Agora que você entende como a junção deriva do produto cartesiano, o próximo passo é ver os tipos de junção usados na prática: interna, externa e natural.
📍Gostou do conteúdo? Deixe um comentário, compartilhe e continue acompanhando o Dicionário do Concurseiro para mais Resumos de TI – Banco de Dados. Aqui você encontra explicações claras, atualizadas e com foco total no que cai em prova!
👉 Leia também no Dicionário do Concurseiro: Resumo TI Banco de Dados: Junções Interna, Externa e Natural
📘 Junção não é operador primitivo — é produto cartesiano com uma seleção aplicada sobre o resultado. Decorar essa derivação resolve boa parte das questões formais sobre o tema. Continue estudando!
Comentários
Seja o primeiro a comentar.
Você precisa fazer o login para publicar um comentário.