Álgebra Relacional em SGBD: Operações com exemplos

Álgebra Relacional

ÁLGEBRA RELACIONAL é uma linguagem de consulta processual amplamente utilizada. Ele coleta instâncias de relações como entrada e fornece ocorrências de relações como saída. Ele usa várias operações para executar esta ação. As operações de consulta de álgebra relacional SQL são executadas recursivamente em uma relação. A saída destas operações é uma nova relação, que pode ser formada a partir de uma ou mais relações de entrada.

Álgebra Relacional SQL Básica Operações

Álgebra Relacional dividida em vários grupos

Unário Relacional Operações

  • SELECIONAR (símbolo: σ)
  • PROJETO (símbolo: π)
  • RENOMEAR (símbolo: ρ)

Álgebra Relacional Operações da teoria dos conjuntos

  • UNIÃO (υ)
  • INTERSEÇÃO ( ),
  • DIFERENÇA (-)
  • PRODUTO CARTESIANO ( x )

Binário Relacional Operações

  • Cadastre-se
  • DIVISÃO

Vamos estudá-los detalhadamente com soluções:

SELECIONE (σ)

A operação SELECT é usada para selecionar um subconjunto de tuplas de acordo com uma determinada condição de seleção. O símbolo Sigma (σ) denota isso. É usado como uma expressão para escolher tuplas que atendam à condição de seleção. O operador Select seleciona tuplas que satisfazem um determinado predicado.

σp(r)

σ é o predicado

r significa relação que é o nome da tabela

p é lógica preposicional

Exemplo 1

σ topic = "Database" (Tutorials)

saída – Seleciona tuplas de Tutoriais onde topic = 'Database'.

Exemplo 2

σ topic = "Database" and author = "guru99"( Tutorials)

saída – Seleciona tuplas de Tutoriais onde o tópico é 'Banco de dados' e 'autor' é guru99.

Exemplo 3

σ sales > 50000 (Customers)

saída – Seleciona tuplas de Clientes onde as vendas são maiores que 50000

Projeção (π)

A projeção elimina todos os atributos da relação de entrada, exceto aqueles mencionados na lista de projeções. O método de projeção define uma relação que contém um subconjunto vertical de Relação.

Isso ajuda a extrair os valores dos atributos especificados para eliminar valores duplicados. O símbolo (pi) é usado para escolher atributos de uma relação. Este operador ajuda a manter colunas específicas de uma relação e descarta as outras colunas.

Exemplo de projeção:

Considere a seguinte tabela

Identificação do Cliente Nome do cliente Status
1 Google Ativo
2 Amazon Ativo
3 Apple Inativo
4 Alibaba Ativo

Aqui, a projeção de CustomerName e status dará

Π CustomerName, Status (Customers)
Nome do cliente Status
Google Ativo
Amazon Ativo
Apple Inativo
Alibaba Ativo

Renomear (ρ)

Renomear é uma operação unária usada para renomear atributos de uma relação.

ρ (a/b)R renomeará o atributo 'b' da relação por 'a'.

Operação da União (υ)

UNIÃO é simbolizada pelo símbolo ∪. Inclui todas as tuplas que estão nas tabelas A ou B. Também elimina tuplas duplicadas. Portanto, o conjunto A UNION conjunto B seria expresso como:

O resultado <- A ∪ B

Para que uma operação sindical seja válida, as seguintes condições devem ser atendidas -

  • R e S devem ter o mesmo número de atributos.
  • Os domínios de atributos precisam ser compatíveis.
  • Tuplas duplicadas devem ser removidas automaticamente.

Exemplo

Considere as tabelas a seguir.

Tabela A
Tabela B
coluna 1 coluna 2 coluna 1 coluna 2
1 1 1 1
1 2 1 3

A ∪ B dá

Tabela A ∪ B
coluna 1 coluna 2
1 1
1 2
1 3

Definir Diferença (-)

– O símbolo denota isso. O resultado de A – B é uma relação que inclui todas as tuplas que estão em A, mas não em B.

  • O nome do atributo de A deve corresponder ao nome do atributo de B.
  • As relações de dois operandos A e B devem ser compatíveis ou compatíveis com a União.
  • Deve-se definir relação constituída pelas tuplas que estão na relação A, mas não em B.

Exemplo

A-B
Tabela A – B
coluna 1 coluna 2
1 2

Interseção

Uma interseção é definida pelo símbolo ∩

A∩B

Define uma relação que consiste em um conjunto de todas as tuplas que estão em A e B. No entanto, A e B devem ser compatíveis com união.

Interseção
Definição Visual de Interseção

Exemplo:

A ∩ B
Tabela A ∩ B
coluna 1 coluna 2
1 1

Produto Cartesiano (X) em SGBD

Produto Cartesiano em SGBD é uma operação usada para mesclar colunas de duas relações. Geralmente, um produto cartesiano nunca é uma operação significativa quando executado sozinho. No entanto, torna-se significativo quando é seguido por outras operações. Também é chamado de Produto Cruzado ou Junção Cruzada.

Exemplo – produto cartesiano

σ coluna 2 = '1' (AXB)

Saída – O exemplo acima mostra todas as linhas da relação A e B cuja coluna 2 tem valor 1

σ coluna 2 = '1' (AXB)
coluna 1 coluna 2
1 1
1 1

Cadastra-se Operações

A operação join é essencialmente um produto cartesiano seguido por um critério de seleção.

Operação de junção denotada por ⋈.

A operação JOIN também permite unir tuplas relacionadas de diferentes relações.

Tipos de JOIN:

Várias formas de operação de junção são:

Junções internas:

  • Theta junta-se
  • Junte-se à EQUI
  • Junção natural

Junção externa:

  • União Externa Esquerda
  • Junção Externa Direita
  • Junção Externa Completa

Junção interna

Em uma junção interna, apenas as tuplas que satisfazem os critérios de correspondência são incluídas, enquanto o restante é excluído. Vamos estudar vários tipos de Inner Joins:

União Theta

O caso geral da operação JOIN é chamado de junção Theta. É denotado pelo símbolo θ

Exemplo

A ⋈θ B

A junção Theta pode usar qualquer condição nos critérios de seleção.

Por exemplo:

A ⋈ A.column 2 >  B.column 2 (B)
A ⋈ A.coluna 2 > B.coluna 2 (B)
coluna 1 coluna 2
1 2

Junte-se à EQUI

Quando uma junção theta usa apenas condições de equivalência, ela se torna uma junção equi.

Por exemplo:

A ⋈ A.column 2 =  B.column 2 (B)
A ⋈ A.coluna 2 = B.coluna 2 (B)
coluna 1 coluna 2
1 1

A junção EQUI é a operação mais difícil de implementar eficientemente usando SQL em um RDBMS e uma razão pela qual RDBMS têm problemas essenciais de desempenho.

JUNÇÃO NATURAL (⋈)

A junção natural só pode ser realizada se houver um atributo comum (coluna) entre as relações. O nome e o tipo do atributo devem ser iguais.

Exemplo

Considere as duas tabelas a seguir

C
Num Quadrado
2 4
3 9
D
Num Cubo
2 8
3 27
C ⋈ D
C ⋈ D
Num Quadrado Cubo
2 4 8
3 9 27

JUNÇÃO EXTERNA

Em uma junção externa, junto com as tuplas que atendem aos critérios de correspondência, também incluímos algumas ou todas as tuplas que não atendem aos critérios.

Junção externa esquerda (A ⟕ B)

Na junção externa esquerda, a operação permite manter todas as tuplas na relação esquerda. No entanto, se não houver nenhuma tupla correspondente encontrada na relação correta, então os atributos da relação correta no resultado da junção serão preenchidos com valores nulos.

União Externa Esquerda

Considere as 2 tabelas a seguir

A
Num Quadrado
2 4
3 9
4 16
B
Num Cubo
2 8
3 18
5 75
A Left Outer Join B
A ⋈ B
Num Quadrado Cubo
2 4 8
3 9 18
4 16 -

Junção externa direita (A ⟖ B)

Na junção externa direita, a operação permite manter todas as tuplas na relação correta. No entanto, se não houver nenhuma tupla correspondente encontrada na relação esquerda, então os atributos da relação esquerda no resultado da junção serão preenchidos com valores nulos.

Junção Externa Direita

A Right Outer Join B
A ⋈ B
Num Cubo Quadrado
2 8 4
3 18 9
5 75 -

Junção externa completa (A ⟗ B)

Numa junção externa completa, todas as tuplas de ambas as relações são incluídas no resultado, independentemente da condição de correspondência.

A Full Outer Join B
A ⋈ B
Num Cubo Quadrado
2 4 8
3 9 18
4 16 -
5 - 75

Resumo

Operação(Símbolos) Propósito
Selecione(σ) A operação SELECT é usada para selecionar um subconjunto de tuplas de acordo com uma determinada condição de seleção
Projeção (π) A projeção elimina todos os atributos da relação de entrada, exceto aqueles mencionados na lista de projeções.
União Operação(∪) UNIÃO é simbolizada por símbolo. Inclui todas as tuplas que estão nas tabelas A ou B.
Definir diferença(-) – O símbolo denota isso. O resultado de A – B é uma relação que inclui todas as tuplas que estão em A, mas não em B.
Interseção (∩) A interseção define uma relação que consiste em um conjunto de todas as tuplas que estão em A e B.
Produto Cartesiano (X) A operação cartesiana é útil para mesclar colunas de duas relações.
Junção interna A junção interna inclui apenas as tuplas que satisfazem os critérios de correspondência.
Junção Teta (θ) O caso geral da operação JOIN é chamado de junção Theta. É denotado pelo símbolo θ.
Junte-se à EQUI Quando uma junção theta usa apenas condições de equivalência, ela se torna uma junção equi.
Junção Natural (⋈) A junção natural só pode ser realizada se houver um atributo comum (coluna) entre as relações.
Junção Externa Em uma junção externa, junto com tuplas que atendem aos critérios de correspondência.
Junção externa esquerda (União Externa Esquerda) Na junção externa esquerda, a operação permite manter todas as tuplas na relação esquerda.
Junção externa direita (Junção externa direita) Na junção externa direita, a operação permite manter todas as tuplas na relação correta.
Junção externa completa (Junção Externa Completa) Numa junção externa completa, todas as tuplas de ambas as relações são incluídas no resultado, independentemente da condição de correspondência.