数据库

 首页 > 数据库 > MySql > atitit.软件开发概念--过滤和投影 数据操作投影的本质及扩展参考

atitit.软件开发概念--过滤和投影 数据操作投影的本质及扩展参考

分享到:
【字体:
导读:
         摘要:atitit.软件开发概念--过滤和投影 数据操作投影的本质及扩展物体在太阳光的照射下形成的影子(简称日影)就是平行投影。日影的方向可以反映时间投影还比喻此物通过彼物表现出来的迹象。 作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com转载请注明来源: ht...

atitit.软件开发概念--过滤和投影 数据操作

atitit.软件开发概念--过滤和投影 数据操作

投影的本质及扩展

物体在太阳光的照射下形成的影子(简称日影)就是平行投影。日影的方向可以反映时间

投影还比喻此物通过彼物表现出来的迹象。

 

作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com

 http://blog.csdn.net/attilax

 

 

 

过滤和投影(projecting)集合,如books.{?#this.price<100}

 

OGNL支持类似数据库中的投影(projection) 和选择(selection)。 

投影就是选出集合中每个元素的相同属性组成新的集合,类似于关系数据库的字段操作。投影操作语法为 collection.{XXX},其中XXX 是这个集合中每个元素的公共属性。

 

选择就是过滤满足selection 条件的集合元素,类似于关系数据库的纪录操作。选择操作的语法为:collection.{X YYY},其中X 是一个选择操作符,后面则是选择用的逻辑表达式。而选择操作符有三种: 
? 选择满足条件的所有元素 
^ 选择满足条件的第一个元素 
$ 选择满足条件的最后一个元素 

例如:group.userList.{? #this.name != null}将获得某个group中user的name不为空的user的列表。

 

 

投影运算的含义简单点就是:从表中选择需要的属性列。

列是属性,行是元组..
而且作投影之后可能会出现重复项,比如:
 A B C  
a1 b1 c1  
a1 b2 c2  
a2 b2 c3  
作A的投影就是a1, a2;  减少了一行
总结: 
并:属性不变,元组可能增加(集合相等时不增加) 
交:属性不变,元组可能减少(集合相等时不减少) 
投影:属性可能减少(全投影时不减少),元组可能减少(投影后无重复项时不减少) 
笛卡尔积:属性增加,元组可能增加(只有1个元组时不增加)

 

影也是单目运算,该运算从表中选出指定的属性值组成一个新表,记为:∏A(R)。
其中A是属性名(即列名)表,R是表名。

 

投影运算 从指定关系的属性(字段)集合中选取部分属性组成同类的一个新关系。由于属性减少而出现的重复元组被自动删除。投影运算针对的是属性。

数据库中的投影">数据库中的投影

在SQL中,从一个表中选择确定列的操作,称为投影。

 

 

参考

数据库~~~投影与除操作 - 夜雨阑珊 - 博客园.htm

 

atitit.软件开发概念--过滤和投影 数据操作
分享到:
Atitit.故障排除系列---php 程序网站数据...
Atitit.故障排除系列---php 程序网站数据库错误排除流程Atitit.故障排除系列---php 程序网站数据库错误排除流程   Php页面报告的错误不能定位到myusql的db配置上...字说是db conn err   Mysql 接入错误...大概查看哈能不能行上配置文件..三,心不死,子能trace兰...   作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@...
Atitit.解决org.hibernate.DuplicateMapp...
Atitit.解决org.hibernate.DuplicateMappingException: Duplicate class/entity mappingAtitit.解决org.hibernate.DuplicateMappingException: Duplicate class/entity mapping   1. 排除流程::: @Deprecated public class HibernateSessionFactory { static {     try {      configuration.configure(p...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……