Operação cartesiana de produto em álgebra relacional
Pré-requisito - Álgebra Relacional
Já estamos cientes do fato de que as relações nada mais são do que um conjunto de tuplas, e aqui teremos 2 conjuntos de tuplas.
Ao aplicar CARTESIAN PRODUCT em duas relações que estão em dois conjuntos de tuplas, tomará cada tupla uma a uma do conjunto esquerdo (relação) e emparelhará com todas as tuplas do conjunto direito (relação).
Assim, o PRODUTO CRUZADO de duas relações A (R1, R2, R3, ..., Rp) com grau p, e B (S1, S2, S3, ..., Sn) com grau n, é uma relação C (R1, R2, R3, ..., Rp, S1, S2, S3, ..., Sn) com atributos de grau p + n.
CROSS PRODUCT é um meio de operação de conjunto binário, em um momento podemos aplicar a operação em duas relações. Mas as duas relações nas quais estamos realizando as operações não têm o mesmo tipo de tuplas, o que significa que a compatibilidade de união (ou compatibilidade de tipo) das duas relações não é necessária.
Notação:
A ✕ S
onde A e S são as relações,
o símbolo '✕' é usado para denotar o operador CROSS PRODUCT.
Exemplo:
Considere duas relações ESTUDANTE (SNO, FNAME, LNAME) e DETALHE (ROLLNO, IDADE) abaixo:
SNO | FNAME | LNAME |
---|---|---|
1 | Albert | Singh |
2 | Nora | Fatehi |
NÚM. DA LISTA | ERA |
---|---|
5 | 18 |
9 | 21 |
Ao aplicar CROSS PRODUCT em STUDENT e DETAIL:
STUDENT ✕ DETAILS
SNO | FNAME | LNAME | NÚM. DA LISTA | ERA |
---|---|---|---|---|
1 | Albert | Singh | 5 | 18 |
1 | Albert | Singh | 9 | 21 |
2 | Nora | Fatehi | 5 | 18 |
2 | Nora | Fatehi | 9 | 21 |
Podemos observar que o número de tuplas na relação STUDENT é 2, e o número de tuplas em DETAIL é 2. Logo, o número de tuplas na relação resultante na realização de CROSS PRODUCT é 2 * 2 = 4.
Pontos importantes na Operação do PRODUTO CARTESIANO (PRODUTO CRUZADO):
- A cardinalidade (número de tuplas) da relação resultante de uma operação de produto cruzado é igual ao número de atributos (digamos m) na primeira relação multiplicado pelo número de atributos na segunda relação (digamos n).
Cardinalidade = m * n
- O produto cruzado de duas relações A (R1, R2, R3, ..., Rp) com grau p, e B (S1, S2, S3, ..., Sn) com grau n, é uma relação C (R1, R2, R3, …, Rp, S1, S2, S3,…, Sn) com atributos de grau p + n.
Grau = p + n
- Em SQL , CARTESIAN PRODUCT (CROSS PRODUCT) pode ser aplicado usando CROSS JOIN.
- Em geral, não usamos o produto cartesiano desnecessariamente, o que significa que, sem o devido significado, não usamos o produto cartesiano. Geralmente, usamos o Produto Cartesiano seguido por uma operação de Seleção e comparação nos operadores, conforme mostrado abaixo:
σ A = D (A ✕ B)
A consulta acima fornece resultados significativos.
E esta combinação de operação Select e Cross Product é tão popular que a operação JOIN é inspirada por esta combinação.
- CROSS PRODUCT é um meio de operação de conjunto binário, em um momento podemos aplicar a operação em duas relações.
Aprenda todos os conceitos do GATE CS com aulas gratuitas ao vivo em nosso canal do youtube.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva