1、问题的提出
��除运算用符号"÷"表示,适合于包含诸如"对所有的……"此类短语的查询。假设希望找出在Brooklyn市的所有分支机构中都有帐户的客户姓名,可以分步求解如下:
  位于Brooklyn市的所有分支机构的名称:

�客户在分支机构中有帐户的所有(customer-name, branch-name)对:
�现在需要找出这样的客户:他(她)与r1中每个分支机构名称的结对都在r2中出现。而给出所有这样的客户的运算是除运算,即r2÷r1
此表达式产生的关系模式为(customer-name),结果元组为(Johnson)。具体示例如图3-2-13所示:
图3-2-13:参与除运算的关系r2和r1

��2、除运算的形式化定义

��设r(R)和s(S)是两个关系,并且S≤R,即模式S中的每个属性都在模式R中出现。关系r÷s是模式R-S上的关系,即此模式中包含所有在R中而不在S中的属性。若元组t属于r÷s,当且仅当以下两个条件同时成立:
��第一:t在∏r-S(R)中;
��第二:对于s中的每一个元组ts,在r中都有元组tr同时满足以下两个条件:
��①�tr[S]=ts;�②�tr[R-S]=t
��特别要注意的是:①和②的含义是说r中的元组tr不仅在S上,而且在R-S上都有相同的值!即R-S中的元组t与S中的每一个元组ts的结对就是R中的元组tr,如图3-2-14所示:
图3-2-14:R-S中的元组t与S中的元组ts及其r中的元组tr的关系