Álgebra relacional
I) Considere o seguinte esquema de uma base de dados de uma transportadora aérea (onde os atributos chave se encontram sublinhados).
marcas({Marca,Lugares,Autonomia})
pilotos({NomeP,Mor,Localidade,Idade})
aviões({Matr,NomeA,Marca})
voos({Num,Matr,Data,Hora,De,Para,NomeP})
Escreva expressões de álgebra relacional correspondentes a cada uma das perguntas (abaixo):
1. Quais as matrículas dos aviões que têm uma autonomia superior a 5000 quilometros?
consulta1a =
autonomia > 5000 (MARCAS)
consulta1b =
matr ((AVIÕES
CONSULTA1A))
marca = marca
2. Quais os nomes e moradas dos pilotos que alguma vez pilotaram um avião da marca Boeing 737?
consulta2a =
marca = ‘BOEING 737’ (AVIÕES)
consulta2b =
nomep ((VÔOS
CONSULTA2A))
matr = matr
consulta2c =
nomep, mor ((PILOTOS
CONSULTA2B))
nomep = nomep
3. Quais as matrículas dos aviões que tem mais de 100 lugares?
consulta3a =
lugares > 100 (MARCAS)
consulta3b =
matr ((AVIÕES
CONSULTA3A))
marca = marca
4. Quais os pilotos que estavam em vôo na virada do ano de 2001/2002?
consulta4a =
data > ’30-dez-2001’ e data < ’02-jan-2002’ (VÔOS)
consulta4b =
nomep (CONSULTA4A)
5. Selecionem os vôos onde os pilotos morem na mesma cidade de partida.
consulta5 =
num ((PILOTOS
VÔOS))
localidade = de
II) Considere o seguinte esquema de uma base de dados de entregas (onde os atributos chave se encontram sublinhados). tipos({Tipo,FormaP,PrazoP})
encomendas({Num,Data,NcontrF})
fornecedores({NcontrF,NomeF,Morada,Tipo})
linhasEnc({Num,CodP})
produtos({CodP,NomeP,Preço,Quant})
Escreva expressões de álgebra relacional correspondentes a cada uma das perguntas abaixo:
1. Qual o prazo de pagamento da encomenda número 1234?
consulta1a =
num = 1234 (ENCOMENDA)
consulta1b = TIPOS
(FORNECEDORES tipo = tipo
consulta1c =
CONSULTA1A)
ncontrf = ncontrf