Aula de Bando de Dados

Modelo relacional
Consiste em uma coleção de tabelas cada uma com um nome único, uma linha em uma tabela representa um relacionamento entre um conjunto de valores
  • Não existe a noção de ordem
  • Nomenclatura
Tabela e chamada de relação linha é chamada de tupla, coluna é chamada de atributo, o tipo de dado que descreve cada coluna é chamado de domino

Álgebra Relacional
Conjunto de operações para utilizar o modelo relacional
Seleção σ 
  • Seleciona tuplas ex:  σ nome=José (aluno)
Projeção π
  • Ex: πrg (Alunos)
  • O resultado será uma nova relação
Quais são os cursos que possuem turmas no primeiro semestre
πcurso(σsemestre=1(Turmas))
 Exercícios de (Notas de aula - BD Prof. Darlon Vasata)

Os códigos dos clientes que possuem saldo maior que 400 
πcod_cliente(σsaldo>400(conta))
Os códigos dos clientes que possuem saldo maior que 500 na agencia de codigos "ag2"
 πcod_cliente(σsaldo>500 ^ σcod_agencia="ag2"(conta))
Nomes de todos os gerentes
 gerente(agencia)
Nomes dos gerentes e suas agencias
gerente,cod_agencia(agencia)

Uniao
Adição de tuplas a uma relação, para produzir uma terceira relação
Exemplo:
Os codigos de todos os clientes uqe possuem contas ou que fizeram emprestimos na agencia "ag3" 
πcod_clienteσcod_agencia="ag3"(conta) U  πcod_clienteσcod_agencia="ag3"(emprestimo)

Interseção
Utilizando duas relações produz uma terceira relação apenas com as tuplas comum entre ambas
Ex. Codigos de todos os clientes que possuem contas e tambem que realizaram emprestimos 
πcod_cliente(conta)  πcod_clente(emprestimo)
Diferença
Resultado em uma terceira relação apartir de duas realações  , resultado apenas nas tuplas que aparecem na primeira relação e nao aparecem na segunda relação
Ex Codigos de clientes que não fizeram emprestimos
πcod_clente(conta)   - πcod_clente(emprestimo)
 Produto Cartesiano
Concatenação de tuplas
Todas as tuplas da primeira relação com as tuplas da segunda relação
Simbolo X

Ex Encontre o nome dos clientes e o numero de suas respectivas contas bancarias que possuem saldo maior que 450
πnome_cliente,numero_conta(σconta.cod_cliente,cliente.cod_cliente (σsaldo>450(conta) x πcod_clente,nome_cleinte(cliente))) 
ou
R1= (πcod_cliente,numero_conta (σsaldo>450(conta))
R2= (πcod_cliente,nome_cliente(cliente))
R3= (R1 X R2)
R4(R1.cod_cliente = R2.cod_cliente(R3))
πnome_cliente,numero_cliente(R4) 

Exercicios
1 -  Liste os codigos dos clientes que possuem saldo maior que 450 ou realizaram emprestimos de valor menor que 1000.
πcod_cliente saldo>450(conta)) U πcod_clientevalor<1000 (emprestimo))
2 -  Liste os codigos dos clientes que possuem saldo menor que 400 ou realizaram emprestimos de valor maior que 1000.
πcod_cliente saldo<400(conta))  πcod_cliente valor>1000 (emprestimo)) 
3 - Liste os nomes dos clientes dos exercios 1 e 2
R1=πcod_cliente saldo>450) U πcod_clientevalor<1000 (emprestimo)) 
R2= πcod_cliente,nome_cliente (cliente)
R1XR2
R3=R1XR2 
πnome_cliente(σR1.cod_cliente=R2.cod_cliente (R3))

R1=πcod_cliente saldo<400(conta))  πcod_cliente valor>1000 (emprestimo)) 
R2= πcod_cliente,nome_cliente (cliente)
R1XR2
R3=R1XR2 
πnome_cliente(σR1.cod_cliente=R2.cod_cliente (R3))

 4 - Liste os nomes do todos os clientes que possuem conta na agencia "ag2"
R1=πcod_cliente (σcod_agencia=ag2(conta))
R2=πcod_cliente,nome_cliente(cliente) 
R3=R1XR2
πnome_cliente(σR1.cod_cliente=R2.cod_cliente (R3))

5 - Liste os nomes de todos os clientes que realizaram emprestimos

6 - Liste os nomes de todos os clientes que possuem conta com saldo maior ou igual a 400

7 - Liste os nomes de todos os clientes que possuem conta nas agencias da cidade de São Paulo

Nenhum comentário:

Postar um comentário