Advertisement
dzocesrce

[BNP] Pizza For Everyone

Nov 14th, 2024 (edited)
1,176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.45 KB | None | 0 0
  1. Вашата задача ќе биде да се напишат и извршат изразите во релациона алгебра врз базата на податоци UIBK - PS Databse Systems - Exercise Sheet 5 (Pizza). Оваа база на податоци содржи пет табели:
  2.  
  3. Person(name, age, gender) // клуч е name
  4. Frequents(name, pizzeria) // клуч е [name, pizzeria]
  5. Eats(name, pizza) // клуч е [name, pizza]
  6. Serves(pizzeria, pizza, price) // клуч е [pizzeria, pizza]
  7.  
  8. 1. Излистај ги пиците што биле нарачани од најмалку една девојка на возраст над 20 години.
  9. π pizza ((σ age>20 and gender='female' (Person)) ⨝ Eats)
  10.  
  11. 2.Најди ги имињата на сите девојки што нарачале најмалку една пица што се служи во Straw Hat. (Забелешка: Пицата не мора да биде нарачана од Straw Hat.)
  12. π name (σ gender='female' (((π pizza (σ pizzeria='Straw Hat'(Serves))) ⨝ Eats) ⨝ Person))
  13.  
  14. 3.Најди ги сите пицерии што служат пици што биле нарачани од Amy или од Fay (или од двете), а се поефтини од $10.
  15. π pizzeria ( σ price<10 (Serves) ⨝ σ name='Amy' or name='Fay' (Eats) )
  16.  
  17. 4.Најди ги сите пицерии што служат пици што биле нарачани од Amy или од Fay (или од двете), а се не поевтини од $10.
  18. π pizzeria ( σ price>=10 (Serves) ⨝ σ name='Amy' or name='Fay' (Eats) )
  19.  
  20. 5.Најди ги сите пицерии што служат пици кои биле нарачани од Amy и од Fay, а се поефтини од $10.
  21. π pizzeria (((π pizza(σ name='Amy' or name='Fay' (Eats))) - ((π pizza(σ name='Amy' (Eats)) - π pizza(σ name='Fay' (Eats))) ∪ (π pizza(σ name='Fay' (Eats)) - π pizza(σ name='Amy' (Eats))))) ⨝ (σ price<10 (Serves)))
  22.  
  23. 6.Излистај ги имињата на сите луѓе што нарачале барем една пица што се служи во Dominos, но истите не го посетиле Dominos.
  24. (π name ((π pizza (σ pizzeria='Dominos' (Serves))) ⨝ Eats)) - (π name(σ pizzeria='Dominos' (Frequents)))
  25.  
  26. 7.Најди ги сите пици што биле нарачувани од луѓе помлади од 24 години, или што чинат најмногу $10 без разлика каде се служат.
  27. π pizza((σ age<24 (Person)) ⨝ (π pizza(σ price<=10 (Serves)) ⨝ Eats))
  28.  
  29. 8.Најди ја возраста на најстарото лице (или лица) што нарачало пица со печурки (mushroom pizza).
  30. γ max (age)->age((σ pizza='mushroom' (Eats)) ⨝ Person)
  31.  
  32. 9.Излистај ги сите пицерии што служат пици кои биле нарачувани од луѓе постари од 30 години.
  33. π pizzeria(π pizza((σ age>30 (Person)) ⨝ Eats) ⨝ Serves)
  34.  
  35. 10.Излистај ги сите пицерии што служат пици кои биле нарачувани само од луѓе постари од 30 години.
  36. π pizzeria((π pizza((σ age>30 (Person)) ⨝ Eats) - π pizza((σ age<=30 (Person)) ⨝ Eats)) ⨝ Serves)
  37.  
  38. 11.Најди ги сите пицерии што биле посетени од лица помлади од 18 години.
  39. π pizzeria (σ age<18 (Person) ⨝ Frequents)
  40.  
  41. 12.Излистај ги имињата на сите девојки што јадат пица со печурки (mushroom pizza) или пица со кулен (pepperoni pizza) (или двете).
  42. π name ((σ pizza='mushroom' or pizza='pepperoni' (Eats)) ⨝ (σ gender='female' (Person)))
  43.  
  44. 13.Излистај ги имињата на сите девојки што јадат и пица со печурки (mushroom pizza) и пица со кулен (pepperoni pizza).
  45. (π name((σ gender='female' (Person)) ⨝ (σ pizza='pepperoni' (Eats)))) ∩ (π name((σ gender='female' (Person)) ⨝ (σ pizza='mushroom' (Eats))))
  46.  
  47. 14.Најди ги сите пицерии што служат барем една пица што е поефтина од $10 и Amy ја јаде.
  48. π pizzeria(σ price<10 (Serves) ⨝ (σ name='Amy' (Eats)))
  49.  
  50. 15.Најди ги пицериите што ги посетуваат само девојки или само момчиња.
  51. ((π pizzeria((σ gender='female' (Person)) ⨝ Frequents)) - (π pizzeria((σ gender='male' (Person)) ⨝ Frequents))) ∪ ((π pizzeria((σ gender='male' (Person)) ⨝ Frequents)) - (π pizzeria((σ gender='female' (Person)) ⨝ Frequents)))
  52.  
  53. 16.За секое лице, најди ги пиците што лицето ги јаде, но не се служат во ниедна од пицериите што лицето ги посетува (да се вратат паровите име на лице – име на пица).
  54. (π name,pizza(( (Person) ⨝ Eats) ⨝ Frequents)) - (π name,pizza (Serves ⨝ (Frequents)))
  55.  
  56. 17.Најди ги имињата на лицата што посетуваат само пицерии што служат пици кои тие ги јадат (барем една пица).
  57. (π name(Person)) - (π name(((π name,pizzeria((Person) ⨝ Frequents)) - (π name,pizzeria((Person) ⨝ Eats ⨝ Serves)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement