Álgebra Relacional
RELATIONAL ALGEBRA é uma linguagem de consulta procedural 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 realizar esta ação. As operações de consulta de álgebra relacional SQL são realizadas recursivamente em uma relação. A saída dessas operações é uma nova relação, que pode ser formada a partir de uma ou mais relações de entrada.
Neste tutorial, você aprenderá:
- Álgebra Relacional
- SELECIONE (σ)
- Projeção (π)
- Renomear (ρ)
- Operação de união (υ)
- Definir diferença (-)
- Interseção
- Produto cartesiano (X)
- Operações de junção
- Junção interna:
- Theta Join:
- Junção EQUI:
- JUNÇÃO NATURAL (⋈)
- OUTER JOIN
- União Externa Esquerda (A B)
- Junção Externa Direita: (A B)
- União externa completa: (A B)
Operações básicas de álgebra relacional de SQL
Álgebra Relacional dividida em vários grupos
Operações Relacionais Unárias
- SELECT (símbolo: σ)
- PROJETO (símbolo: π)
- RENAME (símbolo: ρ)
Operações de álgebra relacional a partir da teoria dos conjuntos
- UNION (υ)
- INTERSECTION (),
- DIFERENÇA (-)
- PRODUTO CARTESIANO (x)
Operações binárias relacionais
- JUNTE-SE
- DIVISÃO
Vamos estudá-los em detalhes com soluções:
SELECIONE (σ)
A operação SELECT é usada para selecionar um subconjunto das tuplas de acordo com uma determinada condição de seleção. Sigma (σ) O símbolo indica isso. É usado como uma expressão para escolher tuplas que atendam à condição de seleção. O operador de seleção seleciona tuplas que satisfazem um determinado predicado.
σp(r)
σ
é o predicado r
representa relação que é o nome da mesa p
é lógica preposicional
Exemplo 1
σ topic = "Database" (Tutorials)
Saída - Seleciona tuplas de Tutoriais onde tópico = 'Banco de dados'.
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 Relation.
Isso ajuda a extrair os valores de 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 | Ativo | |
2 | Amazonas | Ativo |
3 | maçã | Inativo |
4 | Alibaba | Ativo |
Aqui, a projeção de CustomerName e status dará
Π CustomerName, Status (Customers)
Nome do cliente | Status |
---|---|
Ativo | |
Amazonas | Ativo |
maçã | 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 de união (υ)
UNION é simbolizado pelo símbolo ∪. Inclui todas as tuplas das 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 mantidas -
- R e S devem ter o mesmo número de atributos.
- Domínios de atributos precisam ser compatíveis.
- As 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 em B.
- As relações de dois operandos A e B devem ser compatíveis ou compatíveis com união.
- Deve ser definida uma relação que consiste nas 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 a união.
Exemplo:
A ∩ B
Tabela A ∩ B | |
coluna 1 | coluna 2 |
---|---|
1 | 1 |
Produto cartesiano (X) em DBMS
Produto cartesiano em DBMS é 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 |
Operações de junção
A operação de junção é essencialmente um produto cartesiano seguido por um critério de seleção.
Operação de junção indicada por ⋈.
A operação JOIN também permite juntar 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
- Junção EQUI
- Junção natural
Junção externa:
- União Externa Esquerda
- Junção Externa Direita
- Full Outer Join
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 junções internas:
Theta Join:
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 quaisquer condições 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 |
Junção EQUI:
Quando uma junção theta usa apenas a condição 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 com eficiência usando SQL em um RDBMS e um dos motivos pelos quais o RDBMS tem 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 | 4 |
3 | 9 | 27 |
OUTER JOIN
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 correspondem aos critérios.
Uniã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 na relação correta, os atributos da relação correta no resultado da junção serão preenchidos com valores nulos.
Considere as 2 tabelas a seguir
UMA | |
Num | Quadrado |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Num | Cubo |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
A B
A ⋈ B | ||
Num | Quadrado | Cubo |
---|---|---|
2 | 4 | 4 |
3 | 9 | 9 |
4 | 16 | - |
Junção Externa Direita: (A B)
Na junção externa direita, a operação permite manter todas as tuplas na relação certa. No entanto, se não houver nenhuma tupla correspondente na relação à esquerda, os atributos da relação à esquerda no resultado da junção serão preenchidos com valores nulos.
A B
A ⋈ B | ||
Num | Cubo | Quadrado |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
União externa completa: (A B)
Em uma 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 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 das 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. |
Operação Sindical (∪) |
UNION é simbolizado por um símbolo. Inclui todas as tuplas das 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. |
Cruzamento (∩) |
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 atendem aos critérios de correspondência. |
Theta Join (θ) |
O caso geral da operação JOIN é chamado de junção Theta. É denotado pelo símbolo θ. |
EQUI Join |
Quando uma junção theta usa apenas a condição de equivalência, ela se torna uma junção equi. |
Uniã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. |
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 ( ) |
Na junção externa direita, a operação permite manter todas as tuplas na relação certa. |
Junção Externa Completa ( ) |
Em uma 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. |