域和元组关系演算中最多如何表述

问题描述 投票:0回答:1

如何在域和元组关系演算中制定“最多”?

查询示例:

Dish: dish_id, name
Have: dish_id, ing_id
Ingredient: ing_id, name
  • 最多两道菜所包含的食材名称是什么?

  • 最多一道菜包含的食材名称是什么?

database relational-database tuple-relational-calculus domain-calculus
1个回答
0
投票

至少存在N个id 当/当且仅当 存在 N 个 id。

-- there exists (at least) 1 id where p
exists x | p

-- there exist (at least) 2 ids where p
exists x,y | x<>y AND p

-- there exist (at least) 3 ids where p
exists x,y,z | x<>y AND x<>z AND y<>z AND p

最多存在N个id 当/当且仅当 不存在 N+1 个 id。

-- there exist at most 2 things where p
-- NOT there exist (at least) 3 ids where p
NOT (exists x,y,z | x<>y AND x<>z AND y<>z AND p)

当/iff时恰好存在N个id 存在(至少)N 个 id 并且最多存在N个id。 这是当/iff 存在(至少)N 个 id 并且不存在另外一个 id。

PS 请务必知道您是否至少想要 1 个。

PS 关系代数和关系微积分的区别

© www.soinside.com 2019 - 2024. All rights reserved.