MULTISET 是元素的集合,在这个集合中,元素可以有重复值。例如:整数的 MULTISET 可包含集合 {1,3,4,3,3},此集合有重复的元素。当要存储元素具有下列特征的集合时,可将列定义为
MULTISET 集合类型:
- 元素可能不是唯一的。
- 元素不具有与它们相关联的特定顺序。
为了说明可以如何使用 MULTISET,假定人力资源部门想要跟踪奖励给公司雇员的奖金。要跟踪每个雇员一段时间内的奖金,可使用 MULTISET 来在表中定义一个列,这个列记录每个雇员得到的所有奖金。在以下示例中,
bonus 列是一个 MULTISET:
CREATE TABLE employee
(
name CHAR(30),
address CHAR (40),
salary INTEGER,
bonus MULTISET(MONEY NOT NULL)
);
可使用此语句中的 bonus
列来存储和访问每个雇员的奖金集合。对任何给定行的 bonus
列执行的查询都将返回雇员已收到的每笔奖金的美元金额。由于雇员可能会收到多笔相同金额的奖金(导致集合包含的元素并不全是唯一的),所以将 bonus 列定义为允许重复值的 MULTISET。