精华内容
下载资源
问答
  • 问题:以下关于Python语言中“缩进”说法正确的是:更多相关问题在金融市场中,既是重要的资金需求者和供给者,又是金融衍生品市场上重要的套期保值主体非现场监管是监管当局分析银行机构经营稳健性和安全性的一种...

    问题:以下关于Python语言中“缩进”说法正确的是:

    pic.png

    更多相关问题

    在金融市场中,既是重要的资金需求者和供给者,又是金融衍生品市场上重要的套期保值主体

    非现场监管是监管当局分析银行机构经营稳健性和安全性的一种方式,其基础是()。

    如果市场投资组合的实际收益率比预期收益率大3%,β=2,则证券i的实际收益率比预期收益率大

    根据下列材料请回答 86~90 题: 第 86 题 这种经济现象属于()。

    同业拆借是指______之间临时融通资金的一种______行为,主要用于应对因转汇或票据交换等引起的______情况的

    财政性存款属于中央银行信贷资金,要______划缴人民银行。一般存款则按其吸收的一般存款总额的一定比例计算缴

    在使用三极管时,若集电极电流IC超过最大允许电流ICm,则β值要下降。

    大、中型水利水电工程项目划分为()。A.单位工程、单项工程、分部工程B.单位工程、分部工程、分项工

    下列关于建设项目论述中错误的是()。A.建设项目是按一个总体设计进行建设的各个单项工程的总

    工程项目的生命周期可分为四个阶段,它们是指()。A.启动阶段、计划阶段、执行阶段和收尾阶段B.启

    患者,女,X岁,双眼睑肿胀伴双颞上眼眶部疼痛2天,检查见:双上睑皮肤红肿,外侧压痛,上睑呈"S"形,伴

    有眼眶血管进出的鼻旁窦是A.筛窦B.上颌窦C.筛窦与蝶窦D.蝶窦E.额窦

    成人双侧眼球突出的最常见的原因为A.甲状腺相关性眼病B.淋巴管瘤C.转移性眼眶肿瘤D.泪腺混合瘤E.

    是经颅开眶和眶减压术的必经之路的眼眶壁为A.眶下壁B.眶上壁C.眶外侧壁D.眶内侧壁和眶外侧壁E.眶

    非面对面交易使客户无需与工作人员直接接触即可办理业务的同时,也使金融机构开展尽职调查的难度随之增大,洗钱风险相应上升,此类业务金融机构可重点审查以下哪个方面()。

    对于风险程度显著较低且能够有效控制其风险的客户,金融机构可直接确定为低风险客户。但此类客户不应具有以下任何一种情形()。

    客户洗钱风险分类标准()。

    胆道闭锁辅助诊断方法是

    每个公民都应该有安全意识.下列做法存在安全隐患的是()①将水沿着烧杯内壁缓缓加入浓硫酸中,并用玻璃棒不

    对下列事故的处理方法正确的是()A.金属钠起火时,用泡沫灭火器灭火B.少量的浓硫酸沾到皮肤上,先用水冲洗,

    在实验室中,对下列实验、事故或药品的处理正确的是()A.加热试管的试管口不能对着自己或别人B.金属钠着火燃

    下列化学事故处理方法正确的是()A.不慎将碱液到眼中,应立即用硫酸溶液冲洗,边洗边眨眼睛B.有大量的氯气泄

    当室内的地面出现高差时,为解决上下交通应采用()设施。A.楼梯B.坡道C.台阶D.爬梯E.电梯

    在零件上标注尺寸时,常采用()A.平行式注法B.交叉式注法C.链式注法D.坐标式注法E.综合式注法

    一张完整的零件图一般包括()。A.一组视图B.全部尺寸C.技术要求D.标题栏E.部分尺寸

    下列属于零件图上孔的公差带代号的是()。A.H8B.F8C.K7D.h6E.p6

    城乡规划管理控制的目的是保证管理目标的实现,控制要做到有效。下列关于其有效控制应符

    根据住房和城乡建设部颁布的《城市规划编制单位资质管理规定》,高等院校、科研单位的城市

    根据住房和城乡建设部颁布的《城市规划编制单位资质管理规定》,丙级城市规划编制单位可以

    历史文化名城保护规划应确定名城保护目标和保护原则,确定名城保护的内容和重点,下列选

    以下哪些是水火共制的方法A.淬B.炙C.蒸D.淖

    隐白可以主治A.月经过多、崩漏B.便血、尿血C.癫狂、多梦D.惊风

    大秦艽汤和九味羌活汤都含A.防风、川芎B.黄芩、生地C.细辛、苍术D.白芷、独活

    麦门冬汤与竹叶石膏汤两方均含有的药物有A.竹叶B.麦冬、人参C.粳米、甘草D.半夏

    ?Read the article below about sales promotion, and the questions.?Choose the correct word

    According to the last paragraph, why is differentiated marketing more suitable for product

    According to the second paragraph, why does the differentiated marketing provide a better

    鲜血便。便秘、疼痛()

    A.24hB.48hC.36h~48hD.24~72hE.72h 三腔二囊管压迫止血一般放置时间()

    阿米巴性肝脓肿()

    关于利润表及其利润分配表的表述不正确的是()。A.利润表是反映企业在特定期间内经营成果及其分配

    下列不属于保险合同包括的事项的是()。A.保险人名称和住所B.保险标的C.保险责任和责任免除D.保

    通过对施工过程的具体活动进行实地观察,详细记录工人和机械的工作时间消耗、完成产品数量及有关影

    两个工程采用同一个施工图,但基础部分和现场条件不同,其新建工程基础以上部分可采用()法,不同

    下列不属于业主的主要权利和义务的是()。A.负责工程勘察B.工程变更C.施工文件的审查D.施工图纸

    20世纪60年代初期,在美国发起课程改革运动的著名心理学家是()

    1903年,在美国出 版第一本《教育心理学》的心理学家是()

    教师资格全国统考与现行考试的有什么区别

    学历证书丢失人员能否申请教师资格?

    患者,男性,70岁,有长期便秘史,突然左下腹绞痛伴明显腹胀,未呕吐,未排气,查体可见全腹高度膨胀,左

    给予该患者的处理措施中不妥的是A.心电监护B.消除恶性心律失常C.减轻疼痛

    最有效的治疗方法是A.应用抗生素B.阑尾切除术C.禁食D.胃肠减压

    武昌起义后,全国革命形势发展的同时也潜伏着失败的危机,这主要是由于()。 A.帝国主义对中国革命的破坏 B

    资金的循环与周转过程不包括()。   A.供应过程   B.生产过程   C.销售过程   D.分

    谁有2012中级会计职称视频课件?会计实务?

    我特想考中级会计职称,可是自己年龄又大,看完书就忘,急死我了,怎么办

    下列经济业务中,()不会发生。   A.资产增加,权益增加;   B.资产减少,权益增加;   C

    生态系统中的物质和能量流动的结构是A.生产者和分解者B.生产者和消费者C.非生物部分和生物部分D.食物链和食

    右图是某生态系统中的食物网简图。请据图回答有关(1)该食物网由条食物链组成。其中最长的一条食物链为(2

    某学生对右图草原生态系统的描述。其中不正确的是()A.该生态系统中共有5条食物链B.最长的一条食物链是草→鼠→

    下列属于生态系统的是A.黄河中的鲤鱼  B.洞庭湖中的所有生物 C.内蒙古草原上的全部羊 D.泰山林区

    治疗护理从润肺着手的属()。A、肺阴虚证B、风寒犯肺证C、寒痰阻肺证D、饮停胸胁证E、肺气虚证

    以下说法正确的是()。A、现代交换理论完善于日本社会B、交易型交换追求利益性的交换C、交易型交换

    为了保证熔剂粉粒度在<3mm以内,其筛网的筛孔直径应控制在__________以内。

    下列选项中,属于单惠型交换的行为是()。A、购买保险B、购买债券C、慈善D、获得报酬

    Mr Green him English five years ago.[ ]A. teach B. taughtC. teaches

    I a new bike yesterday. [ ]A. buy B. boughtC. buys

    Read and complete the sentences. (看图,完成句子。)

    Read and write.1. comecame2. take_____ 3. eat_____4. have_____ 5. go _____ 6. buy_____7. dance _____

    神经元的基本结构包括__________和__________两部分。

    脊髓能对外界或体内的刺激产生__________,这是脊髓的__________功能;脊髓还能将刺激传给大脑,这是脊髓的___

    在我们体内能够获取信息的结构有__________等,能传递信息的结构是__________,能分析处理信息的结构有______

    脑发出的神经大部分分布在躯干、四肢的皮肤和肌肉里。[ ]

    以下关于Python语言中“缩进”说法正确的是:

    展开全文
  • 索引字符串s字符'c',哪个语句是正确的?【单选题】以下哪个方法能够根据','分隔字符串?【单选题】len("I am a student!")的输出结果为( )【单选题】执行下面代码后,程序运行的结果为:( )【单选题】下列...

    【单选题】以下赋值语句中合法的是

    【单选题】字符串:s= abcde',n=len(s)。索引字符串s字符'c',哪个语句是正确的?

    【单选题】以下哪个方法能够根据','分隔字符串?

    【单选题】len("I am a student!")的输出结果为( )

    【单选题】执行下面代码后,程序运行的结果为:( )

    【单选题】下列表达式的值为True的是()

    【单选题】我们通过使用turtle.speed()为小海龟设置爬行的速度,当我们希望跳过小海龟的移动过程,直接得到程序绘制的图形时,speed()的参数值应该是( )

    【单选题】航空运单有正本 份,副本若干份。

    【单选题】下列哪个方法是用来控制画笔的尺寸的( )

    【单选题】s="Python",t="world",s+=t,则s[2:8]的结果是( )

    【单选题】恺撒密码是古罗马恺撒大帝用来对军事情报进行加密的算法,根据它的原理,将明文“python”进行加密后的密文是( )。

    【单选题】math.ceil(2.6+math.floor(-3.5)) 的结果是

    【判断题】控制周边眼的间距及装药量是光面爆破的一项主要指标。

    【单选题】将下列程序运行后的出错部分进行修改后,程序的输出结果是 ( ) >>> s = “hi”; >>> print “hi”, 2*s

    【单选题】Python 中布尔变量的值为( )。

    【单选题】下列代码运行时不会产生错误的是( )。

    【单选题】通常附加或不附加也不附减的等级货物用代号 ( )表示。

    【单选题】当我们想为一个闭合的圆填充红色时,我们会使用语句turtle.begin_fill()和turtle.end_fill(),但当我们忘记使用turtle.end_fill()时,会出现什么现象( )。

    【单选题】杂散电流也成什么?是在城轨交通直流牵引供电回流中产生的。

    【单选题】下列语句没有错误的是( )。

    【单选题】三视图对应 的投影 关系 叙述正确的 是: A 主、俯视图长相等且对正 B 主、左视图高相等可不平齐 C 俯 、左视图宽对齐 D 可以自由排列

    【单选题】一波源以 y=0.04cos2.5 π t ( m ) 的形式作简谐振动,并以 100m / s 的速度在某种介质中传播。在波源起振 1.0s 时,距波源 20m 处质点初相 为

    【多选题】直线的 投影 具有:

    【单选题】超声波由涂在人体皮肤的蓖麻油传入人体,如果蓖麻油和脂肪的声阻抗分别为Z=1.36×10 6 kg/m 2 /s 和1.41×106kg/m 2 /s,则进入的声波强度是入射前强度的

    【单选题】表达式 3 in {1, 2} 的值为()

    【单选题】已知x=4,y=6,执行x,y=y,x之后,x和y的值分别是什么?

    【判断题】我国目前采用光面爆破的特制小药卷直径是 32 mm

    【单选题】Python 语言的特点有:()

    【单选题】回文数判断。如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。从键盘输入一个5位数字,判断是否是回文数的条件是( )

    【判断题】光面爆破时,周边眼应用炮泥封实,且封泥长度不得小于 300mm 。

    【单选题】Python 的输入来源包括( )

    【单选题】关于 Python语言,哪个说法是不正确的?

    【单选题】"abc" 的长度是3,"老师好"的长度是多少?

    【单选题】以下哪个是 Python不支持的数据类型?

    【单选题】以下关于 Python版本的说法中,哪个是正确的?

    【判断题】地面与隧道架空式悬挂都属于刚性接触悬挂。

    【多选题】下列各项符合会计账簿登记规则的有:

    【单选题】以下哪个数字是八进制

    【单选题】名为“text.txt”的文件内有一句话:“中国是一个伟大的国家!”如果执行: >>>s=open("text.txt").readlines() >>>print(s) 输出结果是( )

    【多选题】图样中注写圆或圆弧的直径尺寸时应在尺寸数字前加注符号 ,注写圆或圆弧的半径尺寸时应在尺寸数字前加注符号 。

    【填空题】是一种悬挂在轨道上方或 沿轨道敷设的,和轨顶保持一定距离的 网。

    【单选题】将下列程序运行后的出错部分进行修改后,程序的输出结果是 ( ) x = 1 de fun() global x x = 2 fun() print (x)

    【单选题】已知s=”0123456789”,则( )表示”123”?

    【多选题】接触网按结构可分为

    【单选题】如果我们希望让小海龟的画笔方向朝向上方,应该执行以下哪一个方法?

    【单选题】关于 PIL 库中的 Image 类功能的说法正确的是( )。

    【单选题】执行下面代码后,如果用户输入的任意字母是“python”程序运行的结果为:( )

    【单选题】平面图形的尺寸按作用分为:

    【单选题】“ 世界那么大,我想去看看"[5:-4],输出

    【单选题】质量为5×10 -3 kg的振子做简谐振动,其振动方程为x=6×10 -2 cos(5t+2π/3)m,则t=0时的动能和势能分别为

    展开全文
  • 我们今天主要向大家讲述的是DB2物化视图——MQT 物化查询表使用,以下就是对DB2物化视图之MQT物化查询表的正确使用的主要内容的详细描述,望大家在浏览之后会对其有更深的了解。 MQT 的定义基于查询的结果。MQT ...

    我们今天主要向大家讲述的是DB2物化视图——MQT 物化查询表使用,以下就是对DB2物化视图之MQT物化查询表的正确使用的主要内容的详细描述,望大家在浏览之后会对其有更深的了解。

    MQT 的定义基于查询的结果。MQT 可以显著提高查询的实际操作性能。本教程将介绍 MQT、总结表(summary table)和 staging 表,并通过一些实用的例子展示如何创建和使用物化查询表。

     

    使用 MQT物化查询表(Materialized Query Tables, MQT)

     

    MQT 的定义基于查询的结果。MQT 可以显著提高查询的性能。本教程将介绍 MQT、总结表(summary table)和 staging 表,并通过一些实用的例子展示如何创建和使用物化查询表。

    MQT 是基于查询的结果定义的一个表。MQT 中包含的数据来自 MQT 定义所基于的一个或多个表。总结表(也称自动总结表[AST])对于 IBM DB2物化视图 for Linux, UNIX, and Windows 的用户来说应该感到比较熟悉,它们可以看作是特殊的 MQT。fullselect 是总结表定义的一部分,它包含一个 GROUP BY 子句,该子句总结 fullselect 中所引用表中的数据。

    您可以将 MQT 看作一种物化的视图。视图和 MQT 都是基于一个查询来定义的。每当视图被引用时,视图所基于的查询便会运行。但是,MQT 实际上会将查询结果存储为数据,您可以使用 MQT 中的这些数据,而不是使用底层表中的数据。

    MQT 可以显著提高查询的性能,尤其是提高复杂查询的性能。如果优化器确定查询或查询的一部分可以用一个 MQT 来解决,那么查询就可以被重写以便利用 MQT。MQT 可以在创建表时定义,可以定义为由系统维护,也可以定义为由用户维护。

    这种 MQT 中的数据是由系统维护的。当创建这种类型的 MQT 时,可以指定表数据是 REFRESH IMMEDIATE 还是 REFRESH DEFERRED。通过 REFRESH 关键字可以指定如何维护数据。DEFERRED 的意思是,表中的数据可以在任何时候通过 REFRESH TABLE 语句来刷新。

    系统维护的 MQT,不管是 REFRESH DEFERRED 类型的还是 REFRESH IMMEDIATE 类型的,对它们的插入、更新或删除操作都是不允许的。但是,对于 REFRESH IMMEDIATE 类型的系统维护的 MQT,可以通过 对底层表的更改(即插入、更新或删除操作)来更新。

    下面的小节将展示一个创建 REFRESH IMMEDIATE 类型的系统维护的 MQT 的例子。这个表名为 EMP,它基于 SAMPLE 数据库中的底层表 EMPLOYEE 和 DEPARTMENT。由于 REFRESH IMMEDIATE MQT 要求来自查询内引用的每个表至少有一个惟一键要出现在 select 列表中,所以我们首先在 EMPLOYEE 表的 EMPNO 列上定义一个惟一性约束,另外还要在 DEPARTMENT 表的 DEPTNO 列上定义一个惟一性约束。DATA INITIALLY DEFERRED 子句的意思是,在执行 CREATE TABLE 语句的时候,并不将数据插入到表中。

    MQT 被创建好之后,就会处于检查暂挂(check pending)状态,在对它执行 SET INTEGRITY 语句之前,不能查询它。IMMEDIATE CHECKED 子句指定,必须根据用于定义该 MQT 的查询对数据进行检查,并刷新数据。NOT INCREMENTAL 子句指定对整个表进行完整性检查。

     

    1. CONNECT TO SAMPLE  
    2. ...  
    3. ALTER TABLE EMPLOYEE ADD UNIQUE (EMPNO)  
    4. ALTER TABLE DEPARTMENT ADD UNIQUE (DEPTNO)  
    5. CREATE TABLE EMP AS (SELECT E.EMPNO, E.FIRSTNME, E.LASTNAME, E.PHONENO, D.DEPTNO,  
    6. SUBSTR(D.DEPTNAME, 1, 12) AS DEPARTMENT, D.MGRNO FROM EMPLOYEE E, DEPARTMENT D  
    7. WHERE E.WORKDEPT = D.DEPTNO)  
    8. DATA INITIALLY DEFERRED REFRESH IMMEDIATE  
    9. SET INTEGRITY FOR EMP IMMEDIATE CHECKED NOT INCREMENTAL  
    10.  

     

    以上的相关内容就是对DB2物化视图之MQT物化查询表的使用的介绍,望你能有所收获。

     

    转自http://database.51cto.com/art/201008/215736.htm

    转载于:https://www.cnblogs.com/gaving10/p/5555356.html

    展开全文
  • 视图详解

    2013-09-21 16:30:05
    1,什么是视图?  2,为什么要用视图;  3,视图中的ORDER BY;  4,刷新视图;  5,更新视图;  6,视图选项;  7,索引视图; 1.什么是视图  视图是由一个查询所定义的虚拟表,它与...

       1,什么是视图?

                2,为什么要用视图;

                3,视图中的ORDER BY;

                4,刷新视图;

                5,更新视图;

                6,视图选项;

                7,索引视图;

    1.什么是视图

       视图是由一个查询所定义的虚拟表,它与物理表不同的是,视图中的数据没有物理表现形式,除非你为其创建一个索引;如果查询一个没有索引的视图,Sql Server实际访问的是基础表。

       如果你要创建一个视图,为其指定一个名称和查询即可。Sql Server只保存视图的元数据,用户描述这个对象,以及它所包含的列,安全,依赖等。当你查询视图时,无论是获取数据还是更新数据,Sql server都用视图的定义来访问基础表;

       视图在我们日常操作也扮演着许多重要的角色,比如可以利用视图访问经过筛选和处理的数据,而不是直接访问基础表,以及在一定程度上也保护了基础表。

       我们在创建视图的时候,也要遵守三个规则:

      1. 不能在视图定义中指定ORDER BY ,除非定义中包含Top或For Xml 说明;
      2. 所有的列必须有列名;
      3. 这些所有的列名必须唯一;

        对于视图表中在没有top或for xml说明的情况下,不能有Order by 语句,这是因为视图被认为是一个表,表是一个逻辑的实体,它的行是没有顺序的。视图中所有列必须有列名,且唯一的情况我想大家都理解;

    下面的sql语句表示创建一个简单的视图:

       1:  CREATE VIEW dbo.V1
       2:  AS
       3:  SELECT CustomerID,CompanyName FROM Customers 
       4:  WHERE EXISTS(SELECT * FROM Orders WHERE Customers.CustomerID = Orders.CustomerID)
    2.为什么要使用视图(更新)
          SqlServer既然给我们提供这样的对象,就一定有它的作用。而我们在使用视图上,要么用的过多,要么用的不够,所以一部分人建议不要用视图,而一部分人又建议少用。那我们听谁的呢?
          其实我们要是掌握了用视图的目的,就能在正确的地方,用正确的视图;那么视图能给我们解决什么问题呢?
                1,为最终用户减少数据库呈现的复杂性。客户端只要对视图写简单的代码,就能返回我所需要的数据,一些复杂的逻辑操作,放在了视图中来完成;
                2,防止敏感的列被选中,同时仍然提供对其他重要数据的访问;
                3,对视图添加一些额外的索引,来提高查询的效率;
          视图其实没有改变任何事情,只是对访问的数据进行了某种形式的筛选。考虑一下视图的作用,你应该能看到视图的概念如何为缺乏经验的用户简化数据(只显示他们关心的数据),或者不给予用户访问基础表的
    权利,但授予他们访问不包含敏感数据视图的权力,从而提前隐藏敏感数据。
          要知道,在默认的情况下,视图没有做什么特殊的事情。视图就好象一个查询那样从命令行运行(这里不存在任何形式的预先优化),这意味着在数据请求和将被交付的数据之间多加了一层开销。这表明视图绝不可能像
    只是直接运行底层SELECT语句那样快。不过,视图存在有一个原因--这就是它的安全性或为用户所做的简化,在你的需要和开销之间权衡,找到最适合特定情况的解决方案。
    3.视图中的ORDER BY
        视图表示一个逻辑实体,它与表非常类似;
        如果我们在上面的创建的sql语句中加一个Order BY 语句,看看有什么效果:
       1:  ALTER VIEW dbo.V1
       2:  AS 
       3:  SELECT CustomerID,CompanyName FROM Customers 
       4:  WHERE EXISTS(SELECT * FROM Orders WHERE Customers.CustomerID = Orders.CustomerID)  
       5:  ORDER BY CompanyName

     

    运行该语句将会失败,回收到以下的提示:

    Msg 1033, Level 15, State 1, Procedure V1, Line 5 
    除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

    根据提示,ORDER By 也不是不能用,只有指定了Top或for xml语句后,ORDER BY 才能使用,如: 
     

       1:  ALTER VIEW dbo.V1
       2:  AS 
       3:  SELECT TOP(10) CustomerID,CompanyName FROM Customers 
       4:  WHERE EXISTS(SELECT * FROM Orders WHERE Customers.CustomerID = Orders.CustomerID)  
       5:  ORDER BY CompanyName

          但是,并不建议在视图中使用ORDER BY ,这是因为视图表示一个表,而对于表来说,是不会有排序的;所以建议在查询视图的时候,用ORDER BY;

          SQL Server2005联机丛书有一段这样的描述:“在视图、内联函数、派生表或子查询的定义中使用ORDER BY 字句,子句只能用户确定TOP子句返回的行。ORDER BY 不保证在查询这些构造时得到有序结果,除非在查询本省也指定了ORDER BY.”

    4.刷新视图

    我在上面说过,视图会保存元数据,列,安全,以及依赖等信息,如果我们把基础表的架构更改了,并不会直接反映到视图上来;更改架构后,使用sp_refreshview存储过程刷新视图的元数据是一个好习惯;

    比如我们创建了一个表T1和一个T1的视图V1,然后更改T1,再看V1的结果:

    首先创建表T1: 

       1:  IF OBJECT_ID('T1') IS NOT NULL
       2:      DROP TABLE T1
       3:   
       4:  CREATE TABLE T1(col1 INT,col2 INT)
       5:  INSERT INTO T1(col1,col2) VALUES(1,2)
       6:  GO

    然后创建T1的视图V1:

       3:  CREATE VIEW V1
       4:  AS 
       5:  SELECT * FROM T1

     

           在现实实践中,要避免在视图中的SELECT语句中使用*,在这只是演示。如果你查询视图V1就会出现以下结果: 
            tmp16

           接下来,我们对表T1添加一列col3: 
          

       1:  ALTER TABLE T1 ADD col3 INT

           然后再次查询视图V1,你想这时的结果是三列呢,还是而列呢?答案是二列。T1架构的改变,并没有影响到视图的元数据中,这时候,如果我们要刷新一下视图V1,我们就可以用:EXEC sp_refreshview V1 命令, 再次查询,V1的结果就是三列了。


    5.更新视图

          视图是一个虚拟表,我们在查询视图的时候,实际上是对基础表的查询。视图不仅可以作为SELECT查询的目标,也可以作为修改语句的目标。当然,当你修改视图的时候,修改的时候是对基础表的修改,它就好像是一个代理。当然,如果不允许直接修改基础表,只允许修改视图,就可以限制你要公开的数据。这样,就可以对你的数据起到一定的保护作用,不过这种限制的时候很少。

          那么在更新视图的时候,有哪些限制条件呢?

        1,只要视图有一列不能隐式获取值,你就不能想视图中插入数据,如果列允许NULL、有默认值或者IDETITY属性,则说明它可以隐式获取值;

        2,如果视图包含联结,UPDATE或INSERT语句只能影响联结的一端。也就是说,INSERT或UPDATE语句必须定义目标列列表,这些列只能数据联结的一端。你不能从由联结查询定义的视图中删除数据;

        3,不能修改作为计算结果的列。如:标量表达式和聚合函数,SqlServer不会尝试改变数据库引擎的计算结果;

        4,如果在创建或修改视图时指定了WITH CHECK OPTION选项,与视图的查询筛选器有冲突的INSERT或UPDATE语句将被拒绝;我在“视图选项”一节详细讲解一下。

       如果视图上定义了INSERT OF触发器,则违反这些限制的数据修改语句可以被执行。在INSERT OF触发器中你可以用自己的代码替换原始修改;

       当你允许对有联结查询定义的视图执行修改的时候,一定要谨慎,比如一对多的关系,如果你根据“多”的某一索引值修改对应“一”端某列值的记录,那么结果就可想而知;

     6.视图选项

       当你创建或修改视图时,可以指定一些选项,这些选项用户控制视图的行为和功能。

       ENCRYPTION、SCHEMABINDING和VIEW_METADATA选项在视图头指定,CHECK OPTION选项则在查询之后指定;

       如:        

       1:  CREATE VIEW v2
       2:  WITH ENCRYPTION,SCHEMABINDING,VIEW_METADATA
       3:  AS
       4:  SELECT OrderID FROM dbo.Orders
       5:  WITH CHECK OPTION

        1),ENCRYPTION

    如果你在构建任何类型的商业软件的时候,需要对视图进行加密的时候,这是一个不错的选项。

    如果未指定ENCRYPTION选项,SQLSERVEr则以纯文本的形式保存用户定义的语句,如果指定了ENCRYPTION选项,对象的文本则会被混淆。

    SQLSERVER提供了一个系统函数sp_helptext查看视图的文本,如果应用的ENCRYPTION选项,则会得到“The text for object ‘xx’ is encrypted”语句;

    注:在加密之前一定要先备份你所要加密的视图,一旦加密,就不能回头。

        2),SCHEMABINDING

    如果你使用SCHEMABINDING选项创建视图,SQLSERVER将不允许删除基础表或修改被引用的列,防止在对底层对象修改时,使视图变得“孤立”,如果某人没有注意到你的视图,执行了DROP,删除视图引用的列或其他一些操作,那就很糟糕。如果使用SCHEMABINDING选项,则就可以避免这种情况。

    如果想在视图上创建索引,则必须使用SCHMABINDING选项;

    如果应用这个选项,则定义视图的时候要注意两点:

       1,所有对象必须由两部分构成的名称,如:应该使用dbo.Orders 而不能是Orders

       2,不能在SELECT列表使用*,所有的列名必须指定一个名称;

        3),CHECK OPTION

    使用WITH CHECK OPTION 创建的视图能防止与视图查询筛选器有冲突的INSERT或UPDATE语句。没有该选项,视图可以接受不符合查询筛选器的修改。比如:

    我们在Northwind数据库中创建一个CustomWithOrder的视图,现在还没有添加WITH CHECK OPTION选项 

       1:  CREATE VIEW CustomerWithOrder
       2:  WITH VIEW_METADATA
       3:  AS
       4:   
       5:  SELECT Customers.CustomerID,Customers.CompanyName FROM Customers 
       6:  WHERE EXISTS(SELECT 1 FROM Orders WHERE Orders.CustomerID = Customers.CustomerID)
       7:   
     该视图的作用是查询所有有订单的客户的id和公司名,接下来我们向视图中插入一条不存在的用户id,和公司名:
       1:  INSERT INTO CustomerWithOrder(CustomerID,CompanyName) VALUES('MYSQL','MyReed')
    执行成功,然后在查询这个CustomerWithOrder视图,很明显,查询不到CustomerID为’MySQL’的用户,因为视图只包含发生过订单的用户;如果你直接查询Customers表,就会发现这个新增的用户信息了。
    接下来对CustomerWithOrder视图添加WITH CHECK OPTION 选项 
       1:  ALTER VIEW CustomerWithOrder
       2:  WITH VIEW_METADATA
       3:  AS
       4:   
       5:  SELECT Customers.CustomerID,Customers.CompanyName FROM Customers 
       6:  WHERE EXISTS(SELECT 1 FROM Orders WHERE Orders.CustomerID = Customers.CustomerID)
       7:   
       8:  WITH CHECK OPTION

    然后再执行下面的语句: 

       1:  INSERT INTO CustomerWithOrder(CustomerID,CompanyName) VALUES('ILSQL','MyReed')

    你会收到以下错误: 

    Msg 550, Level 16, State 1, Line 2 
    试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了 WITH CHECK OPTION,而该操作的一个或多个结果行又不符合 CHECK OPTION 约束。 
    语句已终止。 

        4),VIEW_METADATA

    该选项的作用是,让视图看起来更像一个真正的表。不使用该选项,返回给客户端的api的元数据将是视图所依赖的基础表的数据;

    如果客户端希望SqlServer发送视图的元数据信息,而不是基础表的元数据时,可以在创建或修改视图时指定此选项;是不是听的很费劲,听我慢慢说;

    假设用户拥有对视图的操作权限,而没有对基础表操作的权限,那么用户对视图执行一些操作,如果指定了VIEW_METADATA选项,那么该语句将会违背安全而失败,因为只要指定了VIEW_METADATA那么返回给客户端就是视图的元数据,而不是基础表的元数据。另一方面,如果用户尝试通过视图修改数据,而该操作又与视图上定义的CHECK OPTION有冲突,这种操作只有直接提交到基础表,才有可能成功。

    SqlServer中就有这样的工具,在SqlServer2000中,企业管理器就是,如果我们向视图中插入一条记录,比如向在有WITH CHECK OPTION选项的CustomerWithOrder视图中插入一个任意的消费者无论存在与否,并打开跟踪企业管理器提交到Sql Server中的操作,你会发现操作实际把基础表作为目标提交的,及时他违背CHECK OPTION,也会成功。而在Sql Server2005中的SSMS中,就会不同了,如果在“Modify”视图中,手动插入一条记录,就可以成功,说明虽然指定了VIEW_METADATA和CHECK OPTION选项,它还是插入到了基础表中了,可以跟踪一下提交到Sqlserver的操作(用Sql server Profiler)。但如果在由“Open View”产生的面板中进行操作,将会失败,提示: 
       tmpF2DE

    可以再次跟踪提交到Sql server的操作,就能看到,他提交到目标对象是视图;

    还是那句话:如果客户端希望SqlServer发送视图的元数据信息,而不是基础表的元数据时,可以在创建或修改视图时指定此选项

    这次明白了吗?

     

        我个人总结,只要有VIEW_METADATA选项就有必要加上CHECK OPTION选项,而SCHEMABINDING选项,最好也要加上,防止你的视图“孤立”,而在索引视图中SCHEMABINDING选项是必须加上的。

     7.索引视图

    如果没有索引,视图中的数据不会有任何物理表现形似,如果加上索引,则就把视图中的数据物理化了,SqlServer会在修改基础表时同步索引视图。但你不能直接同步视图内容。

    我们知道在表上创建索引,能提高性能,相同,在视图也是一样,在视图上创建的第一个索引必须是唯一聚集索引,之后才可以创建其他的非聚集索引。

    索引视图必须使用SCHEMABINDING选项,并且不能引用其他视图,只能引用基础表和UDF,而基础表和UDF必须使用两部分命名约定来引用(参见5.视图选项中的SCHEMABINDING选项)。

    除了性能,你可能还会因为其他原因使用索引视图,比如在一张基础表中有一列我们要强制该列中已知值的唯一性,但是允许出现多次的NULL值,我们怎么办呢,我们首先想到的可能是用UNIQUE约束,但是UNIQUE会认为两个NULL值相等,那么这个不得不放弃了,那还有什么办法呢?

    其实我们可以利用一个索引视图来完成这个任务,利用索引视图筛选所有非NULL的数据,那么这种索引将防止重复的已知值进入基础表,但允许多个NULL,因为NULL不是唯一索引的一部分,我们在向基础表中插入数据的时候,就利用索引视图的UNIQUE来限制我们的数据,来达到某列中强制已知值的唯一性的目的;

    我们可以演示一下,首先创建一个基础表T2和一个索引视图V2: 

       1:  CREATE TABLE T2(col1 INT,col2 NVARCHAR(50))
       2:   
       3:  CREATE VIEW V2
       4:  WITH SCHEMABINDING
       5:  AS
       6:  SELECT col1 FROM dbo.T2 WHERE col1 IS NOT NULL;
       7:  CREATE UNIQUE CLUSTERED INDEX idx_col1 ON dbo.V2(col1);
     
    然后我们向T2表中插入以下数据:

       1:  INSERT INTO t2(col1,col2) VALUES(1,'2')
       2:  INSERT INTO t2(col1,col2) VALUES(1,'3')
       3:  INSERT INTO t2(col1,col2) VALUES(null,'4')
       4:  INSERT INTO t2(col1,col2) VALUES(null,'5')

    那么以上4条INSERT哪条会失败呢?答案是2。最后让我们SELECT 一下基础表T2,看实现我们开始那个要求了吗?

       1:  SELECT * FROM t2

     

    执行: 
    tmpD43

    from:http://www.cnblogs.com/xbf321/archive/2009/06/16/view_in_sqlserver.html

    展开全文
  • 物化视图

    2013-11-26 20:26:18
    一. 物化视图概述 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。...物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询
  • 什么是索引视图

    千次阅读 2011-04-15 19:20:00
    多年以来,Microsoft® SQL Server™ 一直支持创建称为视图的虚拟表。通常,这些视图的主要作用是: • 提供一种安全机制,将用户限制到一个或多个基表的某个数据子集中。 • 提供一种...
  • MySQL视图

    2017-04-25 22:04:25
    视图是一张虚拟表  表示一张表的部分数据或多张表的综合数据 某结构和数据是建立在对表的查询基础上 视图中不存放数据: 数据存放在视图所引用的原始表中 一个原始表根据不同用户的不同需求,可以创建不同的...
  • 视图介绍

    2014-05-22 18:10:39
    1.视图 (1).什么是视图视图(View)作为一种数据库对象,为用户提供了一个可以检索数据表中的数据方式。用户通过视图来浏览数据表中感兴趣的部分或全部数据,而数据的物理存储位置仍然在表中。 视图是一个虚拟表...
  • 相关题目与解析在计算机...只能从“新建查询”对话框中选择“设计视图”选项,打开查询设计视图B以下关于资金结构的叙述中正确的是()。以下关于AWT与Swing之间关系的叙述,正确的是()。研究小组利用超级计算机模拟宇...
  • 视图解析

    千次阅读 2017-04-10 11:54:46
    在前面的章节中,我们主要关注点在于编写控制来处理web请求,同时也创建了一些简单的视图来展现请求返回的model数据,本章我们将主要讨论在控制器完成请求处理之后和将返回结果展示到用户的浏览器之前,这个过程之间...
  • Oracle 物化视图

    2013-06-06 14:43:17
    一. 物化视图概述 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。...物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询
  • PORTAL视图与项目视图【图解】

    千次阅读 2016-02-01 15:31:38
     TIA博途软件在自动化项目中可以使用两种不同的视图,Portal视图或者项目视图,Portal视图是面向任务的视图,而项目视图是项目各组件的视图。可以使用链接在两种视图间进行切换。  项目初期,可以选择面向任务的 ...
  • ,s+=t,则s[2:8]的结果是( )【单选题】三视图对应 的投影 关系 叙述正确的 是: A 主、俯视图长相等且对正 B 主、左视图高相等可不平齐 C 俯 、左视图宽对齐 D 可以自由排列【单选题】下列代码运行时不会产生错...
  • 一. 用例视图概述   用例视图表述哪些事物 :谁是相关用户,用户希望从系统获得的服务,用户需要为系统提供的...用例视图角度 : 用例视图是从用户角度来描述软件产品的需求, 可以准确的描述软件产品的外部特性
  • Android视图SurfaceView的实现原理分析

    万次阅读 多人点赞 2013-03-16 16:57:30
    在Android系统中,有一种特殊的视图,称为SurfaceView,它拥有独立的绘图表面,即它不与其宿主窗口共享同一个绘图表面。由于拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独立的线程中进行绘制。又由于不会...
  • Oracle 物化视图介绍

    千次阅读 2012-09-24 23:57:27
     物化视图概述 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。   物化视图可以用于...
  • 用例组成 : 用例 参与者 用例与参与者之间的关系 系统架构分析 : 如何确定参与者, 如何确定用例 详解一下几种关系 : 参与者之间的关系(泛化关系), 用例...用例视图建模实战, 分析一个系统, 建立这个系统的用例视图模型.
  • 视图的修改

    千次阅读 2010-11-24 18:28:00
     今天帮助一个同事写一个小匿名块,期间有一个update语句...所以搜了一下关于视图是否可以改的文章,发现了inthirties大哥写的一篇文章,对我非常有帮助,首先转过来:    Oracle里视图可以update吗?<br
  • odoo10参考系列--视图一(列表视图

    千次阅读 2018-03-30 20:50:31
     在对某个列表进行查找时,仅作为对视图的一种记忆/描述是有用的 model  与视图关联的模型,如果适用的话(此属性不适用QWeb视图) priority  客户端程序可以通过 id请求视图,也可以通过 (model, type)来...
  • ORACLE物化视图

    2013-06-18 14:57:47
    一、------------------------------------------------------------------------------------------ 物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地... 物化视图可以查询表,视图和其它的物化视图

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 69,513
精华内容 27,805
关键字:

以下关于视图的描述正确的是