Saltar para o conteúdo

Produto cartesiano (álgebra relacional)

Origem: Wikipédia, a enciclopédia livre.

O operador Produto Cartesiano é um operador relacional binário, representado por X. Resulta em uma combinação de todas as tuplas entre as duas relações de entrada, e é utilizado quando se necessita obter dados presentes em duas ou mais relações. A quantidade de linhas resultantes de um produto cartesiano será exatamente o produto entre a quantidade de linhas das relações de entrada.

A sintaxe do operador Produto Cartesiano é definida da seguinte forma: <Relação S> X <Relação T>

Levando em consideração R e S como entrada, faremos R X S:

Relação R

C1
30
57
70
120

Relação S

C1 C2
42 2,00
21 3,00
34 4,00
86 5,00

Aplicando o operador Produto Cartesiano, teremos:

Relação R X S

R.C1 S.C1 S.C2
30 42 2,00
30 21 3,00
30 34 4,00
30 86 5,00
57 42 2,00
57 21 3,00
57 34 4,00
57 86 5,00
70 42 2,00
70 21 3,00
70 34 4,00
70 86 5,00
120 42 2,00
120 21 3,00
120 34 4,00
120 86 5,00

Exemplo no Mundo Real

[editar | editar código-fonte]

Tendo como relações de entrada as tabelas Cliente e Pedido, faremos Cliente X Pedido:

Cliente

CD_CLIENTE NM_CLIENTE DT_CADASTRO
1 Pedro Paulo da Silva 25/05/2009
2 João de Souza 28/05/2009

Pedido

NR_PEDIDO CD_CLIENTE QT_TOTAL VL_TOTAL
10 1 20 34,00
20 2 50 100,00

Aplicando Cliente X Pedido, teremos:

Cliente X Pedido

Cliente.CD_CLIENTE Cliente.NM_CLIENTE Cliente.DT_CADASTRO Pedido.NR_PEDIDO Pedido.CD_CLIENTE Pedido.QT_TOTAL Pedido.VL_TOTAL
1 Pedro Paulo da Silva 25/05/2009 10 1 20 34,00
1 Pedro Paulo da Silva 25/05/2009 20 2 50 100,00
2 João de Souza 28/05/2009 10 1 20 34,00
2 João de Souza 28/05/2009 20 2 50 100,00

Utilizando SQL, e as tabelas Cliente e Pedido, acima exemplicadas, como entrada, teríamos:

SELECT * FROM Cliente, Pedido;