欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-01-23 13:29:22
...

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

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

投影的本质及扩展

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

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

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

转载请注明来源: http://blog.csdn.net/attilax

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

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