Você está na página 1de 45

MATEMÁTICA DISCRETA – AULA 8

PROFESSORA HELGA BODSTEIN, D.Sc.


Aula 8

Relações e Banco de Dados e


Operações Relacionais
Fundamentais
Conteúdo
• Álgebra Relacional e seus conceitos básicos
• Relação em um Banco de Dados
• Sintaxes das operações relacionais de seleção,
projeção e junção natural
• Aplicação das operações de seleção, projeção e
junção natural em uma ou mais relações
• Pesquisas em um banco de dados relacionais
utilizando expressões algébricas relacionais
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Introdução

Um modelo relacional representa o banco de dados como um


conjunto de relações.

Uma relação pode ser pensada como uma tabela de valores.

Cada linha na tabela representa uma coleção de valores de


dados relacionados.
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Introdução

A Álgebra Relacional é uma linguagem de consulta formal,


porém procedimental, ou seja, o usuário dá as instruções ao
sistema para que o mesmo realize uma sequência de
operações na base de dados para calcular o resultado
desejado.
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Introdução

A Álgebra Relacional define operadores para atuar nas


tabelas (semelhante aos operadores +, -, etc. da álgebra que
estamos acostumados) para chegar ao resultado desejado.
A forma de trabalho desta linguagem de consulta é a de pegar
uma ou mais tabelas (conforme necessidade) como entrada
de dados e produzir uma nova tabela como resultado das
operações.
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Terminologia
Na terminologia formal de modelo relacional, temos:

• A tabela é chamada de relação

RELAÇÃO
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Terminologia

• Uma linha é chamada de tupla

TUPLA →
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Terminologia

• O cabeçalho da coluna é chamado de atributo

ATRIBUTO →
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Terminologia

• O tipo de dados que descreve os tipos de valores que


podem aparecer em cada coluna é chamado de domínio.

O esquema de uma relação R é denotado por


R(A1,A2,…,An), sendo Ai o nome de um atributo
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo:
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Funções da Álgebra Relacional

São definidas as seguintes operações para se trabalhar com


álgebra relacional:

• União;
• Intersecção;
• Diferença;
• Produto Cartesiano.
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Funções da Álgebra Relacional

• Seleção;
• Projeção;
• Junção;
• Divisão.
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Operação de Seleção

É utilizada para selecionar um subconjunto de tuplas numa


relação que satisfaça uma condição de seleção predefinida.

Indicada por  (letra grega sigma) ou s


Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Operação de Seleção

• Sintaxe para a operação de Seleção:

Relação 2 ←  (critério da seleção) (Relação1)

ou

 (critério da seleção) (Relação1)


Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Operação de Seleção

O critério de seleção deve ser uma expressão lógica que


atenda a propriedade de seleção e deve ser através:
Operadores aritméticos: >, <, =, <>, >=, <=

Operadores lógicos:  (e),  (ou),  (not)

Exemplo de predicado:
((cor = ‘azul’)  (cidade = ‘Curitiba’))  ((nome=‘Parafuso’)
Aula 8 – Relações e Banco de Dados

Álgebra Relacional
PEÇA
Exemplo:
CODIGO NOME COR CIDADE
P1 PREGO VERMELHO RJ
P2 PORCA VERDE SP
P3 PARAFUSO AZUL CURITIBA

FORNECIMENTO
FORNECEDOR

COD_FORN COD_PECA QTDE


CODIGO NOME CIDADE
S1 P1 300
S1 SILVA RJ
S1 P2 200
S2 JOÃO SP
S1 P3 400
S2 P1 300
S2 P2 400
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo: Obter a relação de todas as peças de cor azul

cor = azul (Peca)

Resultado

CÓDIGO NOME COR CIDADE

P3 PARAFUSO AZUL CURITIBA


Aula 8 – Relações e Banco de Dados

Álgebra Relacional

PEÇA

CODIGO NOME COR CIDADE


P1 PREGO VERMELHO RJ
P2 PORCA VERDE SP
Tupla P3 PARAFUSO AZUL CURITIBA

cor = azul (Peca)


Resultado

CÓDIGO NOME COR CIDADE

P3 PARAFUSO AZUL CURITIBA


Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo: Obter a relação de todas as peças

(Peca)
Resultado

CODIGO NOME COR CIDADE


P1 PREGO VERMELHO RJ
P2 PORCA VERDE SP
P3 PARAFUSO AZUL CURITIBA
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Operação de Projeção

A operação de Projeção seleciona colunas específicas numa


relação, isto é, efetua um corte vertical na relação.

Geralmente indicada por  (letra grega pi maiúsculo) ou


p.

Por operar sobre apenas um conjunto de entrada, a


projeção é classificada como uma operação unária.
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Operação de Projeção

Sintaxe para a operação de Projeção:

Relação 2 ←  colunas desejadas(Relação 1)

Ou

 colunas desejadas(Relação 1)
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Operação de Projeção

Exemplo: Obter o nome e a cor de todas as peças

nome, cor (Peca)

Resultado

NOME COR
PREGO VERMELHO
PORCA VERDE
PARAFUSO AZUL
Aula 8 – Relações e Banco de Dados

Álgebra Relacional
PEÇA

CODIGO NOME COR CIDADE


P1 PREGO VERMELHO RJ
P2 PORCA VERDE SP
P3 PARAFUSO AZUL CURITIBA

nome, cor (Peca)


Resultado

NOME COR
PREGO VERMELHO
PORCA VERDE
PARAFUSO AZUL
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Operação de Projeção

Exemplo: Obter o nome e a cidade de todas as peças de cor


azul
nome, cidade (cor = azul (Peca) )

Resultado

NOME CIDADE
PARAFUSO CURITIBA
Aula 8 – Relações e Banco de Dados

Álgebra Relacional
PEÇA

CODIGO NOME COR CIDADE


P1 PREGO VERMELHO RJ
P2 PORCA VERDE SP
P3 PARAFUSO AZUL CURITIBA

nome, cidade (cor = azul (Peca) )

Resultado

NOME CIDADE
PARAFUSO CURITIBA
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Junção Natural

É uma operação binária denotada por (R1 R2) onde R1 e R2


são relações com uma coluna em comum. O resultado da
junção natural é uma relação com todas as linhas de R1 e de
R2 que possuem a coluna em comum .
A coluna comum as relações R1 e R2 aparece uma única vez
no resultado.
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Junção Natural
Exemplo: Sejam as relações:

Pessoa Dados Residenciais


Nome Registro Registro Endereço
João 1 1 R.Flores, 9
Maria 2 2 R. Rosa,16
José 3 3 R. Cravo, 7

- Determine Pessoa Dados Residenciais.


Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Pessoa Dados Residenciais

Nome Registro Endereço


João 1 R.Flores, 9
Maria 2 R. Rosa,16
José 3 R. Cravo, 7
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Expressões com Operações Seleção e Projeção em


Conjunto

A combinação das operações relacionais leva a uma


expressão algébrica que age sobre uma ou mais relações.
Essa combinação funciona como uma linha de montagem
onde o resultado de uma operação é o operando da próxima.
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo: Seja a relação Conta. Selecione os clientes que


possuem saldo maior ou igual a R$500,00.

Conta
Nome da agência Num da conta saldo
Bandeira 110 2000
Várzea 201 300
Centro 556 5000
Jacarépagua 36 150
Bandeira 430 4000
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo:
A sintaxe da operação relacional da seleção será dada por
 saldo >= 500 (conta)

Nome da agência Num da conta saldo


Bandeira
Conta
110 2000
Várzea 201 300
Centro 556 5000
Jacarépagua 36 150
Bandeira 430 4000
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo:
 saldo >= 500 (conta)

Resultado
Nome da agência Num da conta saldo
Bandeira 110 2000
Centro 556 5000
Bandeira 430 4000
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo:
Fazendo a projeção do atributo Num da conta para a relação
anterior:
num da conta ( saldo >= 500 (conta))

Nome da agência Num da conta saldo


Resultado
Bandeira 110 2000
Centro 556 5000
Bandeira 430 4000
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo:
num da conta ( saldo >= 500 (conta))

Resultado
Num da conta
110
556
430
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo: Descobrir o nome completo e a data de admissão


de todos os funcionários do sexo feminino.
funcionário
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo:

1º - Selecionar os funcionários do sexo feminino 


Seleção: sexo = F (funcionários)
Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo:

Seleção: sexo = F (funcionários)


Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo:
2º - Projetar os atributos de interesse: NmFunc e DtAdm

Projeção: NmFunc,DtAdm (sexo = F (funcionários))


Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo:

NmFunc,DtAdm (sexo = F (funcionários))


Aula 8 – Relações e Banco de Dados

Álgebra Relacional

Exemplo: Considere o BD de peças apresentado abaixo.


Elabore os seguintes comandos em Álgebra Relacional:
PEÇA

CODIGO NOME COR CIDADE


P1 PREGO VERMELHO RJ
P2 PORCA VERDE SP
P3 PARAFUSO AZUL CURITIBA

a) Recuperar o nome e a cor das peças em SP.


b) Recuperar o código e o nome das peças que são
vermelhas.
Aula 8 – Relações e Banco de Dados

a) Recuperar o nome e a cor das peças em SP.

1 – Seleção – SP: CIDADE = SP (PEÇA)

PEÇA

CODIGO NOME COR CIDADE


P1 PREGO VERMELHO RJ
P2 PORCA VERDE SP
P3 PARAFUSO AZUL CURITIBA

CODIGO NOME COR CIDADE


P2 PORCA VERDE SP
Aula 8 – Relações e Banco de Dados

a) Recuperar o nome e a cor das peças em SP.


2 – Projeção – NOME E COR:

NOME,COR (CIDADE = SP (PEÇA))

CODIGO NOME COR CIDADE


P2 PORCA VERDE SP

NOME COR
PORCA VERDE
Aula 8 – Relações e Banco de Dados

b) Recuperar o código e o nome das peças que são


vermelhas.

1 – Seleção – peças vermelhas: COR = VERMELHO (PEÇA)


PEÇA

CODIGO NOME COR CIDADE


P1 PREGO VERMELHO RJ
P2 PORCA VERDE SP
P3 PARAFUSO AZUL CURITIBA

CODIGO NOME COR CIDADE


P1 PREGO VERMELHO RJ
Aula 8 – Relações e Banco de Dados

b) Recuperar o código e o nome das peças que são


vermelhas.
2 – Projeção – CÓDIGO E NOME:

CÓDIGO, NOME (COR=VERMELHO(PEÇA))

CODIGO NOME COR CIDADE


P1 PREGO VERMELHO RJ

CODIGO NOME
P1 PREGO

Você também pode gostar