首页 > 知识点讲解
       嵌套与解除嵌套
知识路径: > 数据库技术 > 数据库标准语言—SQL > SQL-99所支持的对象关系模型 > 与复杂类型有关的查询 > 
相关知识点:3个      
        将一个嵌套关系转换成具有更少(或没有)的关系为值的属性的形式的过程称为解除嵌套(unnesting)。books关系有author-array和keyword-set两个是集合体的属性;同时books关系另外还有title和publisher两个不是集合体的属性。
        
        flat-books的一个1NF实例
        from子句中的变量B被声明为以books为取值范围,变量A被声明为以书B的author-array中的作者为取值范围,同时K被声明为以书B的keyword-set中的关键字为取值范围。上图显示了books关系的一个1NF实例,下图显示了上述查询的结果形成的4NF关系。
        
        分解关系flat-books为4NF的实例
        将一个1NF关系转化为嵌套关系的反向过程称为嵌套(nesting)。嵌套可以用在SQL中的分组操作的一个扩展来完成。在SQL中分组的常规使用中,要对每个组(逻辑上)创建一个临时的多重集合关系,然后在这个临时关系上应用一个聚集函数。我们可以通过返回这个多重集合而不应用聚集函数的方式创建一个嵌套关系。
        
        flat-books的一个1NF实例
        假定我们有一个如上图所示的1NF关系flat-books,下面的查询在属性keyword上对关系进行了嵌套:
        
        
        flat-books的一个1NF实例
        在上图中flat-books关系上执行这个查询的结果如下图所示。
        
        flat-books关系的一个部分嵌套版本
        
        非INF的书籍关系,books
        如果我们要同时对作者属性进行嵌套,而将下图中1NF表flat-books转化为上图所示的嵌套表books,我们可以使用如下查询:
        
        flat-books的一个1NF实例
        
        另一种创建嵌套关系的方法是在select语句中使用子查询。下面的查询阐明了该方法,它与上面的查询执行了同样的任务。
        
        系统对select子句中对外部查询中的from和where子句生成的每一个元组执行嵌套子查询。观察到外部查询中的O.title属性被用到嵌套查询中,以确保对每一本书的题目产生正确的作者和关键字集合。这种方法的优点在于可以在嵌套查询上使用orderby子句生成一个有序的结果。数组或是列表可以从嵌套查询的结果中构造出来。如果没有排序,数组和列表将不能唯一确定。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有