12:视图
- 格式:doc
- 大小:104.50 KB
- 文档页数:11
三视图
1.某四面体三视图如图所示,该四面体四个面的面积中最大的是( )
A .8
B .62
C .10
D .82
2.某三棱锥的三视图如图所示,该三梭锥的表面积是( )
A .2865+
B .3065+
C .56125+
D .60125+
3.一个几何体的三视图如图所示,其中正视图和侧视图是腰长为1的两个全等的等腰直角三角形,该几何体的体积是_____;若该几何体的所有顶点在同一球面上,则球的表面积是_____.
4.在空间直角坐标系Oxyz 中,已知(2,0,0),(2,2,0),(0,2,0),(1,1,2)A B C D .若123,,S S S 分别是三棱锥D ABC -在,,xOy yOz zOx 坐标平面上的正投影图形的面积,则( )
A .123S S S ==
B .21S S =且23S S ≠
C .31S S =且32S S ≠
D .32S S =且31S S ≠ 5.一个多面体的三视图如图所示,则该多面体的表面积为( )
A .213+
B .183+
C .21
D .18
4
34
正(主)视图侧(左)视图
俯视图。
12、画册视图NotionChina画册视图 #画册视图是显示带有图片数据库的最佳方式,如情绪板、人员目录、食谱等。
创建一个画册视图的数据库 #有几种方法可以在Notion中添加一个画册。
以下是你的选择。
整页画册 #•在你的工作区创建一个新的页面。
•在提供的灰度菜单中点击Gallery。
在新页面创建整页画册 #•如果你想在另一个页面内创建一个整页画册。
o在新的一行,输入/gallery full并按回车键。
o现在当你回到你的原始页面时,你会看到这个画册嵌套在它里面。
行内画册 #你可以在一个页面上添加一个内联画册,与其他类型的内容,如文本一起。
•在一个新的行中,输入/gallery,然后点击回车键。
注意通过点击右上方的⤢将线上画册扩展到整页。
将鼠标悬停在画册的顶部,可以看到其选项菜单。
点击···可以看到属性Properties、过滤Filter和 Sort选项。
数据库中的画册视图 #你可以把画册添加到一个现有的数据库中,以该格式查看其数据。
•点击+ Add a View或数据库左上方的当前视图的名称。
•从下拉菜单中选择 Gallery 画册,并在文本框中给它一个名字。
•点击创建 Create,你的全新画册就会弹出。
•你仍然可以使用相同的左边下拉菜单切换回其他视图。
将卡片作为一个页面打开 #你的Notion画册中的每张卡片都是它自己的页面,可以被打开和编辑。
•只要点击卡片上的任何地方就可以在预览模式下打开它。
•点击左上角的⤢以页面形式打开,可以使其成为整页。
•你会看到你的所有属性被组织在顶部。
o点击属性名称来编辑它或它的类型。
o点击属性字段来编辑其内容。
o通过悬停和使用⋮⋮将它们向上或向下拖动来重新排列属性。
•你也可以通过点击 + Add a property在页面上为你的画册添加一个新的属性。
•在属性下,有空间可供评论,这些评论将归属于你。
•页面的主体可以像其他Notion页面一样被编辑。
六、TOP-N八、数据字典与动态性能视图第一节什么是视图一、创建视图:创建视图的主法是:CREATE [OR REPLACE] VIEW 视图名AS 查询语句。
例如,如下语句就创建了一个视图:sid=41 pid=17> create view ydsp_v1 as select nvl(spbh,'待定') spbh,sum(nvl(jg,0)) sum from ydsp group by spbh;视图已创建。
视图的名字是YDSP_V1。
哪么,它有什么用呢?很简单,如果以后你再想查看SPBH(商品编号)对JG(价格)列进行分组求和的结果,不必再使用“select nvl(spbh,'待定') spbh,sum(nvl(jg,0)) sum from ydsp group by spbh; ”,直接SELECT 视图即可:sid=41 pid=17> select * from ydsp_v1;SPBH SUM---- ----------101 43500待定0102 6000201 9800202 9800这样比你每次输入分组查询简单一些。
我们可以将常用的比较复杂的查询操作像上面这样,建立为视图。
这样每次查询视图就可看到结果,比输入复杂查询语句更省事。
创建视图命令中的[OR REPLACE]的意义,REPLACE有替换的意思。
它的主要作用是修改视图的定义,也就是修改视图内的SQL语句。
比如说上面的YDSP_V2,我想为YDSP_V2中增加一个COUNT(*),命令如下:create or replace view ydsp_v1 as select nvl(spbh,'待定') spbh,sum(nvl(jg,0)),count(*) CT sum from ydsp group by spbh;这个命令非常简单,我不再试了。
这条命令的意思是把YDSP_V1再创建一次。
用新的YDSP_V1替代老的YDSP_V1,也就是重建视图。
视图在创建后,它的结构、定义等信息不能修改,要想改变视图的定义信息,只能使用CREATE OR REPLACE,用新的定义重建视图。
在创建视图时,对这种使用各种函数,或运算表达式的列,一定要起别名,如没有别名视图创建就会失败,例如:sid=41 pid=17> create view ydsp_v1 as select nvl(spbh,'待定') ,sum(nvl(jg,0)) SUM from ydsp group by spbh;create view ydsp_v1 as select nvl(spbh,'待定') ,sum(nvl(jg,0)) SUM from ydsp group by spbh*第 1 行出现错误:ORA-00998: 必须使用列别名命名此表达式我把NVL()函数后的别名去掉了,创建失败。
ORACLE报出的错误,就是说“我在这里缺少列的别名”。
为什么一定要为列起别名,因为一个创建好的视图,就像一个表一样,就像我们刚开始所举的例子,它有两个列:SPBH和SUM。
用户可以通过select spbh,sum from ydsp_v1来显示这两个列中的数据。
像nvl(spbh,'待定')这样的表达式,如果你没有指定别名的话,ORACLE将无法确定在视图中,它的列名是什么。
因此,在创建视图时,对于这种复杂的表达式,一定要为它起别名。
当使用SELECT查询一个视图时,和查询表是一某一样的,我们就可以把视图当表一样去查询。
SELECT 语句中,所有适用于表特性,都同样适用性视图。
比如我们可以增长条件:sid=41 pid=17> select * from ydsp_v1 where spbh<>'待定';SPBH SUM---- ----------101 43500102 6000201 9800202 9800显示YDSP_V1视图中,SPBH(商品编号)列不等于“待定”的行。
在使用这个命令时,我们完全可以把YDSP_V1当作一个表,它有5行,两列,列名分别是SPBH和SUM。
视图数据的来源,被称为视图的“基表”。
视图的基表可以有多个。
如果我根据连接命令创建一个视图,那么这个视图中的数据可能来自于多个表,这样它就有了多个基表。
基表中的数据变化时,视图也会跟着发生变化。
例如,在YDSP表中我再插入一行:sid=41 pid=17> insert into ydsp values('020-0003','201','2008-06-05',9800,'测试中');已创建1 行。
sid=41 pid=17> commit;提交完成。
我又为201号商品增加了一行。
下面我再显示一下视图:sid=41 pid=17> select * from ydsp_v1;SPBH SUM---- ----------101 43500待定0102 6000201 19600202 9800201号商的销售总额已经是19600了。
也就是说,基表发生了什么变化,不需要任何操作,视图马上就可以反应出来。
这就是视图,我们先不深入的讨论它,仅从外观看,是看不出它和表有什么区别的。
在SELECT时,你根据看不出来你SELECT的是一个表,还是一个视图。
其实很多时候,我们都在SELECT视图,但是我们都以为在SELECT表。
我们还可以以视图为基表,再创建视图,比如上面的例子,我想把显示结果中的SPBH(商品编号),换成商品的型号,这需要和SP表等值连接起来显示:sid=41 pid=17> select xh,sum from ydsp_v1 a , sp b where a.spbh=b.spbh;XH SUM--------------- ----------至尊型43500平民型6000商务型19600个人型9800连接的命令还是稍有点长的,下面我根据此命令,再创建一个视图:sid=41 pid=17> create view ydsp_sp_v1 as select xh,sum from ydsp_v1 a , sp b where a.spbh=b.spbh;视图已创建。
视图的名字是YDSP_SP_V1,名字是根据需要随变定的,如果觉得我这个复杂,可以换成简单的,主要是我想当我看到这个名字时,就能知道这个视图涉及两个表YDSP和SP。
好了,下面我们显示一下这个视图,它的输出结果,将和上面的那条连接SELECT语句一样:sid=41 pid=17> select * from ydsp_sp_v1;XH SUM--------------- ----------至尊型43500平民型6000商务型19600个人型9800这样,以后无论哪种型号的商又被定购,如果我想查看种型号的定购总额。
直接查看这个视图就行了。
这个视图的基表有SP表和YDSP_V1视图,而YDSP_V1的基表是YDSP表。
也就是说一个视图可以作为其它视图的基表。
再强调一下,在进行SELECT操作时,我们可以把视图当作表一样去用,我们干脆暂时称视图为视图表。
我们可以认为视图表的数据,来自于基表。
那么,既然视图是表了,我基于这个表再创建其它视图当然是没有问题的。
二、视图的作用最明显的作用,就是我们上面所验示的那样,是为了简化查询操作。
一个视图,可能代表一串非常复杂的查询操作。
还有,视图可以限制数据的访问,例如:sid=41 pid=17> create view ydsp_v2 as select gkbh,spbh,jg from ydsp;视图已创建。
我选择YDSP(已定商品)表中的三列GKBH、SPBH和JG来创建视图。
视图创建后,我只告诉用户,如果想要查看已定商品的信息,就查看YDSP_V2。
不告诉他还有一个YDSP表。
这样,用户只能通过YDSP_V2看到YDSP的GKBH、SPBH和JG这三个列。
为了更保险,以后我们还可以通过改变数据库权限,让用户只能查看到YDSP_V2视图,而无法查看YDSP表。
这样,可以进一步达到隐藏一些数据的目的。
三、视图的本来面目我刚才一直强调,我们可以把视图当作一种表。
在ORACLE中,称视图为逻辑表。
逻辑二字还是说明了视图不是真正的表。
因为视图内根本就没有数据。
视图的全部家当,也就是你创建视图时的SELECT语句。
没错,视图中只保存这条SELECT语句。
比如YDSP_V2视图,它的创建时SELECT语句是“select gkbh,spbh,jg from ydsp”,YDSP_V2视图中,只保存这条语句。
当你查询YDSP_V2中的数据时,比如用户发出Select * from ydsp_v2 where jg>=10000 后:第一步ORACLE会如上图这样,先把YDSP_V2视图展开。
展开的结果,如上图,创建视图的SQL语句,被融进了用户所发出的语句。
原语句是“Select * from ydsp_v2 where jg>=10000”,FROM后的视图YDSP_V2,被替换为了创建视图的SQL语句,整体语句变成:Select * from (Select gkbh,spbh,jg from ydsp)where jg>=10000 。
FROM后原本是表名,现在被换成了子查询。
这个子查询就是视图。
最后,一步,ORACE执行最终的转化过的SQL语句:Select * from (Select gkbh,spbh,jg from ydsp)where jg>=10000 。
这时,这条语句中,已经没有视图了,只有一个子查询。
如果还有视图,再进行一次转换,直到没有视图。
根据情况,ORACLE有时还会把子查询外的条件挪动子查询中。
ORACLE内部有一个段程序,叫作语句优化器,专门负责这个工作。
这条语句,最终的转换、优化后,将变成这样:Select gkbh,spbh,jg from ydsp where jg>=10000 。
这就是视图的执行过程。
视图中并没有数据,它只是一条SQL语句,ORACLE会把它看作一条子查询。
在执行时,ORACLE会将视图的SQL语句,和你查询视图的语句进行融合。
根据融合难易程序的不同,ORACLE 把视图分为两类:简单视图和复杂视图。
下面我们来看一下视图的分类:四、视图的分类我们上面的例子中的YDSP_V2就是一个简单视图,而YDSP_SP_V1肯定就是一个复杂视图了。