Exercício 1-L (Cálculo de Tuplas)

Exercício 1-L (Cálculo de Tuplas)

por Vinicius Daguano Gastaldi -
Número de respostas: 4

Olá,

 

Fui conferir o gabarito para o item L do exercício 1 e fiquei com uma dúvida. Por que utilizamos a relação Peças nesse caso?

 

Não seria possível usar só Catálogo e Fornecedor? Já que se as peças não são fornecidas não precisam aparecer.

Em resposta à Vinicius Daguano Gastaldi

Re: Exercício 1-L (Cálculo de Tuplas)

por Kelly Rosa Braghetto -

Oi, Vinicius.


Dá para substituir a relação Peças por Catálogo nesse item:

Resposta do gabarito:

{ p.codp | Peca(p) AND (  NOT(∃f)( Fornecedores(f) AND NOT ( (∃c)( Catalogo(c) AND c.codf = f.codf AND c.codp = p.codp AND c.preco <= 200 ) ) ) ) }

Nova resposta:

{ c1.codp | Catalogo(c1) AND (  NOT(∃f)( Fornecedores(f) AND NOT ( (∃c2)( Catalogo(c2) AND c2.codf = f.codf AND c2.codp = c1.codp AND c2.preco <= 200 ) ) ) ) }

 

Se tiremos Peças, não temos como escapar de usar duas variáveis-tupla diferentes para "percorrer" Catálogo.  triste

Você tem alguma outra sugestão de resposta?

 

Kelly

Em resposta à Kelly Rosa Braghetto

Re: Exercício 1-L (Cálculo de Tuplas)

por Vinicius Daguano Gastaldi -

A minha resposta tinha sido:

 

{ C.codp | Catalogo(C) and (∀F)((NOT Fornecedores(F) or (C.codf=F.codf and C.preço <= 200))}

 

Não entendi direito a questão de "percorrer" o Catálogo.

Em resposta à Vinicius Daguano Gastaldi

Re: Exercício 1-L (Cálculo de Tuplas)

por Kelly Rosa Braghetto -

Vinicius,

 

Você escreveu a seguinte consulta:

Para cada tupla C em Catálogo, exiba C.codp se (C.preço <= 200 e , para todas as tuplas F em Fornecedor, é verdade que C.codf = F.codf ).

O resultado dessa consulta vai ser sempre vazio, pois a parte em negrito só pode ser verdade para, no máximo, uma só tupla de Fornecedor (e não todas).

 

Kelly