版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2024年PGCE-092考试综合题库1.PG中,如果想在like语法中匹配%或者_,则可以在字符前加()进行转义。A./B.\C.%D.*正确答案:B解析:在SQL的`LIKE`语法中,`%`和`_`是通配符。`%`代表零个、一个或多个字符,而`_`代表一个单一字符。如果你想在查询中使用这些字符作为普通字符(而不是作为通配符),你需要对它们进行转义。在大多数数据库系统中,包括PostgreSQL(即PG),你可以使用反斜杠(`\`)对这些特殊字符进行转义。因此,如果你想匹配`%`或`_`字符本身,你需要在它们前面加上`\`。因此,正确答案是选项B(`\`)。
2.PG中创建sequence时指定了ownedtotable.column,在droptable***cascade时,sequence不会被删除。A.正确B.错误正确答案:B解析:在PostgreSQL中,当你在创建sequence时指定了"ownedbytable.column",该sequence将与指定的表或列关联。在这种情况下,如果尝试使用"DROPTABLE...CASCADE"命令删除关联的表,sequence将不会被自动删除。这是因为CASCADE选项将阻止任何对被关联对象的引用被删除。因此,对于给定的题目,答案是B.错误。因为在"DROPTABLE...CASCADE"命令中,sequence会被保留下来。
3.PG中,在事物中(begin块中)使用序列,当事物回滚后,序列会回滚吗?A.会B.不会C.看情况D.这种说法本身存在错误正确答案:B解析:在PostgreSQL中,序列(Sequence)是一种用于生成唯一标识符的数据库对象。当在事务中使用序列时,序列的生成操作是独立于事务的,即使事务回滚,序列也不会回滚。事务的回滚只会影响事务中对数据的修改操作,而不会影响序列的生成。序列的生成是基于其自身的规则和状态进行的,与事务的执行结果无关。因此,在事务中使用序列时,无论事务是否回滚,序列都会按照其定义的规则继续生成下一个值。所以,答案是B。
4.PG创建序列时加了cycle选项,当序列满时会报错。A.正确B.错误C.不一定正确答案:B解析:当PG创建序列时,如果加入了cycle选项,序列在满载时不会报错,但是可能会导致处理效率降低或无法同时处理多个请求。选项C“不一定”反映了这一事实,而选项A和B是错误的。因此,答案是B。
5.外键的作用不包括?A.保持数据的完整性B.可以一定程度替代索引的作用C.防止插入无效数据D.保持数据的一致性正确答案:B解析:暂无解析
6.当多个事务同时运行时,一个事务可以看到另一个事务未提交的内容吗?A.不能B.可以看到C.事务不能并行运行D.如果两个事务同时操作一张表,可以看到正确答案:A解析:在数据库事务中,一个事务的执行结果在未提交之前对其他事务是不可见的。这是事务的隔离性原则的一部分,目的是确保数据的一致性和正确性。如果一个事务可以看到另一个事务未提交的内容,可能会导致以下问题:1.**脏读**:一个事务读取了另一个事务未提交的数据,而另一个事务可能会回滚,导致读取到的数据是无效的。2.**不可重复读**:一个事务在多次读取同一数据时,由于其他事务的修改,导致每次读取的结果不一致。3.**幻读**:一个事务在执行查询操作时,由于其他事务的插入或删除操作,导致查询结果中出现了原本不存在的数据或缺少了原本存在的数据。为了避免这些问题,数据库系统通常采用锁机制或其他并发控制技术来保证事务的隔离性。只有在事务提交后,其修改的数据才会对其他事务可见。因此,选项A是正确的答案。
7.CREATETABLEproducts("product_nointeger,nametext,pricenumericCHECK(price>0)DEFAULT0);执行以上语句会?A.建表成功,但插入数据时price列不能使用默认值B.建表成功,插入数据时price列可以使用默认值C.建表失败,提示默认值违反了约束条件D.建表失败,提示语法错误正确答案:A解析:暂无解析
8.关于PostgreSQL的分区,下面说法错误的是A.可以将常规表在线转换为分区表B.可以将分区表转换为常规表C.可以将子分区转换为独立的表D.可以将包含数据的普通表或分区添加为分区表的分区正确答案:A解析:虽然PostgreSQL提供了分区的功能,但是将常规表在线转换为分区表是不可能的,所以选项A是不正确的。其他选项,如将分区表转换为常规表、将子分区转换为独立的表以及将包含数据的普通表或分区添加为分区表的分区,都是可以实现的。
9.“DROPTABLEproductsCASCADE;”如另有一表order的外键基于表products创建,关于这条语句说法正确的是。A.直接删除表products,不影响其他对象B.直接删除表products,并且删除表order的外键约束。C.直接删除表products,并会删除表orderD.不能删除表products,提示表order的外键依赖表products正确答案:B解析:暂无解析
10.关于子查询说法错误的是A.子查询指定了一个派生表,它必须被包围在圆括弧里B.子查询里面有分组或聚集的时候,子查询不能被简化为一个简单的连接C.一个子查询也可以是一个VALUES列表D.子查询可以不使用别名正确答案:D解析:关于子查询的说法,我们可以逐一分析每个选项:A.子查询指定了一个派生表,它必须被包围在圆括弧里。这是正确的。子查询在SQL中通常被用作一个临时的、派生的数据集,它必须被圆括号包围起来,以便在更大的查询中作为一个整体被引用。B.子查询里面有分组或聚集的时候,子查询不能被简化为一个简单的连接。这也是正确的。当子查询中包含了分组(如GROUPBY子句)或聚集函数(如SUM、AVG等)时,它通常会产生一个结果集,这个结果集不能直接与另一个表或查询进行简单的连接操作,因为它已经是一个经过处理的数据集。C.一个子查询也可以是一个VALUES列表。这同样是正确的。在某些数据库系统中,可以使用VALUES子句创建一个临时的行集合,这也可以作为子查询的一部分。D.子查询可以不使用别名。这个说法是错误的。虽然在一些情况下,数据库可能允许子查询不使用别名,但使用别名通常是一个好的实践,因为它可以提高查询的可读性,尤其是在复杂的查询中。别名还可以用于在查询的其余部分中引用子查询的结果。因此,子查询应该总是被赋予一个别名,以确保代码的清晰和准确。综上所述,选项D的说法是错误的,因此答案是D。
11.PostgreSQL中不支持的组合查询是A.UNIONB.MINUSC.INTERSECTD.EXCEPT正确答案:B解析:在PostgreSQL中,组合查询用于合并或比较来自两个或多个查询的结果。以下是各个选项的简要说明:A.UNION:这是一个标准的SQL操作符,用于合并两个查询的结果集,并自动删除重复的行。PostgreSQL支持UNION。B.MINUS:虽然MINUS操作符在某些数据库系统(如Oracle)中可用,但PostgreSQL并不直接支持MINUS。它可以通过其他方式实现,例如使用NOTEXISTS或LEFTJOIN,但这些不是直接的MINUS操作符。C.INTERSECT:这个操作符用于返回两个查询结果集的交集,即两个查询共有的行。PostgreSQL支持INTERSECT。D.EXCEPT:这个操作符用于返回第一个查询结果集减去第二个查询结果集的结果,即第一个查询有而第二个查询没有的行。PostgreSQL支持EXCEPT。综上所述,PostgreSQL不支持的组合查询是MINUS,因此正确答案是B。
12.关于with中的修改语句说法错误的是A.可以在WITH中使用INSERT、UPDATE、DELETEB.WITH中的数据修改语句通常具有RETURNING子句C.数据修改语句中允许递归自引用D.WITH中的数据修改语句只被执行一次,并且总是能结束正确答案:C解析:暂无解析
13.下面哪个不是PostgreSQL中的数字类型A.floatB.smallintC.realD.decimalE.bigintF.smallserial正确答案:A解析:PostgreSQL支持多种数字数据类型,这些类型包括用于存储整数、浮点数和精确数值的多种类型。在提供的选项中:B.smallint-用于存储较小范围的整数。C.real-是浮点数的一种,等同于float4,用于存储单精度浮点数。D.decimal-用于存储精确的小数,也称为numeric类型。E.bigint-用于存储大范围的整数。F.smallserial-是一种自动增长的整数类型,通常用于主键。而A.float在PostgreSQL中并不是一个直接支持的数据类型。虽然PostgreSQL支持浮点数,但它们通常使用real或doubleprecision来表示。因此,根据PostgreSQL的数据类型定义,选项A不是PostgreSQL中的数字类型。所以,正确答案是A。
14.下面哪种数据类型计算是不准确的A.realB.numericC.integerD.bigint正确答案:A解析:在数据库和编程环境中,不同的数据类型有不同的精度和存储方式。A.real:这是一个浮点数数据类型,用于存储近似数值。由于计算机内部表示浮点数的方式(即使用二进制表示小数),real类型的数据可能会有舍入误差,因此在进行需要高精度的计算时可能不准确。B.numeric:这是一个精确数值数据类型,通常用于需要高精度的计算,如财务计算。它存储数值的方式可以确保精度不会丢失。C.integer:这是一个整数数据类型,用于存储整数值。它不会有精度问题,因为它不存储小数部分。D.bigint:这是一个大整数数据类型,用于存储非常大的整数值。与integer类似,它也不会有精度问题。因此,根据上述分析,real类型由于存在舍入误差,其计算可能不准确。所以正确答案是A。
15.以下哪种类型只用于在内部系统目录中存储标识符并且不是给一般用户使用的A.charB.nameC.varcharD.text正确答案:B解析:暂无解析
16.以下哪种不是PostgreSQL的几何类型A.点B.线段C.椭圆D.路径E.多边形正确答案:C解析:PostgreSQL支持多种几何类型,用于在数据库中存储和操作空间数据。这些类型包括点(Point)、线段(Line)、路径(Path)、多边形(Polygon)等,它们可以用来表示和计算空间实体和它们之间的关系。在给定的选项中,A(点)、D(路径)和E(多边形)都是PostgreSQL中明确支持的几何类型。B(线段)虽然不是一个直接列出的类型,但PostgreSQL的几何类型中包含了可以表示线段的类型,比如“Line”或“Lseg”(有限线段)。然而,C(椭圆)并不是PostgreSQL的标准几何类型之一。PostgreSQL的几何类型主要关注于二维平面上的基本形状,如点、线、多边形等,而椭圆并不属于这些基本形状。因此,正确答案是C,椭圆不是PostgreSQL的几何类型。
17.关于set命令说法正确的是A.set命令可以修改任何参数B.set命令修改的参数会永久生效C.set命令只影响当前会话使用的值D.set与setsession效果不同正确答案:C解析:暂无解析
18.关于reset命令说法正确的是A.reset是setconfiguration_parametertodefault的另一种写法B.reset可以不加参数直接执行C.reset与set相同,他们的效果都不会被事务回滚而撤销D.reset的默认值是指在会话开始所设置的默认值正确答案:A解析:reset命令是用于重置或恢复配置参数到默认值的命令,它可以被用来回滚设置的效果。因此,选项A是正确的,即“reset是setconfiguration_parametertodefault的另一种写法”。其他选项如B、C、D都是不正确的。
19.有关alterrole用法正确的是A.更改角色的属性B.可以更改角色的名称和密码C.更改角色的配置变量的会话默认值D.更改角色的配置变量的当前会话值正确答案:D解析:暂无解析
20.有关altersystem说法正确的是A.只有超级用户能够使用ALTERSYSTEMB.altersystem会把给出的参数设置写入到postgresql.conf中C.使用altersystem更改的参数,都需要重启数据库来使其生效D.altersystem可以被回滚正确答案:A解析:在PostgreSQL中,ALTERSYSTEM是一个系统命令,只有超级用户(拥有特权)才能使用。它用于更改数据库系统的全局参数,这些参数更改不会立即生效,需要重新启动数据库才能使更改生效。ALTERSYSTEM命令的执行结果是不能被回滚的。因此,选项A是正确的。
21.执行如下语句,实际插入的值为:BEGIN;INSERTINTOtable1VALUES(1);SAVEPOINTmy_savepoint;INSERTINTOtable1VALUES(2);ROLLBACKTOSAVEPOINTmy_savepoint;INSERTINTOtable1VALUES(3);COMMIT;A.1,2,3,B.1,2C.1,3D.2,3正确答案:C解析:暂无解析
22.PG中的savepoint在事务结束后仍然有效。A.正确B.错误正确答案:B解析:暂无解析
23.有关settransaction说法错误的是A.可以设置隔离级别B.可以设置事务的访问模式C.此命令设置当前事务的特性,对后续事务的默认特性没影响D.如果执行settransaction之前没有starttransaction或者begin,会更改当前会话的事务属性正确答案:D解析:`SETTRANSACTION`命令用于设置当前事务的特性,如隔离级别、访问模式等。若在执行`SETTRANSACTION`之前没有使用`STARTTRANSACTION`或`BEGIN`命令显式开始一个事务,那么该命令不会更改当前会话的事务属性,因为它没有作用的事务上下文。所以,选项D的说法是错误的,是正确答案。其他选项A、B、C均正确描述了`SETTRANSACTION`命令的功能。
24.有关insert说法错误的是A.如果列的表达式不是正确的数据类型,将会尝试自动类型转换B.向表中插入语句时,需要对表有insert权限C.插入的目标列的名称必须以固定顺序列出D.若没出现在显式或隐式列列表中的列,都将被默认填充正确答案:C解析:对于选项A,SQL在插入数据时确实会尝试自动类型转换,如果列的数据类型与插入值的类型不匹配,数据库会尝试将其转换为正确的类型,如果转换失败则报错。对于选项B,向数据库表中插入数据确实需要具有相应的INSERT权限,这是数据库安全性的基本要求。对于选项C,插入目标列的名称并不需要以固定顺序列出,只要列名在表中存在即可。SQL语句中的列顺序可以与表中的列顺序不同。对于选项D,如果在INSERT语句中没有指定某些列的值,那么这些列将会被填充为默认值,这通常是NULL,除非表定义中为这些列指定了其他默认值。因此,选项C的说法是错误的,是这道题的正确答案。
25.对于delete,说法正确的是A.delete语句必须有where子句B.delete语句与truncate语句都是DML语句C.若在表名前加only选项,只会从提到的表中删除匹配的行D.delete语句返回结果一定是语句所匹配的行数正确答案:C解析:A选项错误,因为DELETE语句可以不使用WHERE子句,这将删除表中的所有行。B选项错误,因为DELETE语句是DML(数据操纵语言)的一部分,而TRUNCATE语句是DDL(数据定义语言)的一部分。C选项正确,因为使用ONLY选项时,DELETE语句只会从指定的表中删除匹配的行,而不会影响其他具有相同结构的表。D选项错误,因为DELETE语句返回的结果取决于是否使用了WHERE子句。如果没有WHERE子句,则返回的结果将是受影响的行数;如果有WHERE子句,则返回的结果将是匹配的行数。因此,正确答案是C。
26.对于truncate,说法正确的是A.从pg11开始,truncate语句可以被pg逻辑复制捕获B.一个truncate语句仅能清空一个表C.truncate并没有立刻回收磁盘空间,后续需要VACUUM操作D.truncate不会阻塞其他在该表上的并发操作正确答案:A解析:A选项正确,从pg11开始,truncate语句可以被pg逻辑复制捕获,这是对truncate功能的一个改进,使得数据管理员可以更方便地管理大型表的数据。B选项错误,truncate语句可以清空整个表或者部分表的数据。C选项错误,truncate语句会立即回收磁盘空间,不需要后续的VACUUM操作。D选项错误,truncate会阻止其他对该表的并发操作。因此,选择A为正确答案。
27.两个表联结时,结果集中保留重复行的关键字是A.UNIONB.UNIONALLC.leftjoinD.rightjoin正确答案:B解析:在SQL中,当需要将两个或多个表进行联结并保留结果集中的重复行时,应使用UNIONALL关键字。UNION关键字会去除结果集中的重复行,而UNIONALL则保留所有的重复行。LEFTJOIN和RIGHTJOIN是表的联结方式,它们与是否保留重复行无关。因此,正确答案是B,即UNIONALL。
28.对于except关键字说法错误的是A.使用except关键字做减法运算时,不管表的前后位置是否相同,得到的结果都是一致的B.except是进行差集运算的C.不同的数据库,使用差集运算关键字也是有差异的D.使用except做差集运算,结果集的行数不一定会减少正确答案:A解析:在SQL中,`EXCEPT`关键字用于返回两个查询结果集的差集,即返回第一个查询结果集中存在而第二个查询结果集中不存在的记录。对于选项的分析如下:A.错误。`EXCEPT`不是用于减法运算的,而是用于集合运算。它不关心表的前后位置,但结果并不是一致的,因为它返回的是第一个结果集中独有的记录。B.正确。`EXCEPT`确实是用于进行差集运算的。C.正确。不同的数据库系统,对于差集运算的关键字可能有所不同,比如Oracle使用`MINUS`。D.正确。使用`EXCEPT`做差集运算,结果集的行数可能会减少,但也有可能不变(如果第一个结果集中的所有记录都存在于第二个结果集中),或者在某些情况下甚至增加(尽管这种情况较为罕见)。因此,选项A的说法是错误的。
29.若想使用like谓词查询出包含ddd字符串的值,可以通过____完成A.%ddd%B.%ddd*C.%ddd_D.*ddd*正确答案:A解析:在SQL中,使用like谓词进行模糊查询时,可以使用通配符来实现。其中,百分号(%)是用来匹配任意字符的通配符,因此选项A中的"%ddd%"表示匹配包含"ddd"字符串的值。而选项B、C、D中的通配符与%不同,无法实现模糊查询。因此,答案为A。
30.IN谓词可以选取出NULL数据吗A.能B.不能正确答案:B解析:在SQL中,IN谓词用于选取符合特定值的列中的数据,但是它不能选取出NULL数据。因此,选项B“不能”是正确的答案。
31.关于exists谓词说法正确的是A.exists子句的返回值是一个结果集B.exists子句只能是关联子查询C.exists谓词前边可以有参数D.exists谓词后面的参数通常是个子查询正确答案:D解析:exists谓词用于在查询中筛选满足某个子查询条件的记录。它后面的参数通常是一个子查询,用来定义子查询的条件。这个子查询可以嵌套在其他查询中,因此它不仅仅只能用在关联子查询中。exists谓词的返回值是一个布尔值,表示子查询是否返回了任何记录。因此,选项D是正确的。
32.关于postgresql中的CTE说法正确的是A.结果集是永久保存的B.with子句内,必须为CTE指定列字段列表C.CTE以更加可读的方式组织了复杂查询D.CTE不能用于递归查询正确答案:C解析:CTE,即公共表表达式(CommonTableExpressions),是PostgreSQL中用于在单个查询中创建临时结果集的功能。对于给出的选项,我们可以进行如下分析:A.结果集是永久保存的:这是不正确的。CTE创建的是一个临时结果集,只在查询执行期间有效,查询完成后该结果集就会被销毁。B.with子句内,必须为CTE指定列字段列表:这也是不正确的。在PostgreSQL中,为CTE指定列字段列表是可选的,如果省略,那么CTE的列将从其查询的结果中推导出来。C.CTE以更加可读的方式组织了复杂查询:这是正确的。CTE的主要优点之一就是它们能够帮助组织复杂的查询,使查询更易于理解和维护。通过将查询分解为多个CTE,每个CTE只关注一部分逻辑,可以提高查询的可读性。D.CTE不能用于递归查询:这是不正确的。PostgreSQL支持递归的CTE,这使得处理如层次结构数据等复杂查询成为可能。因此,正确答案是C,CTE以更加可读的方式组织了复杂查询。
33.关于窗口函数,说法错误的是A.必须使用PARTITIONBY关键字B.对于RANK函数,计算排序时,如果存在相同位次的记录,则会跳过之后的位次C.对于DENSE_RANK函数,计算排序后,即使存在相同位次的记录,也不会跳过之后的位次D.对于ROW_NUMBER函数,是赋予唯一的连续位次正确答案:A解析:窗口函数的使用中,虽然不需要像分组查询那样使用PARTITIONBY关键字,但在使用窗口函数时,仍需使用SELECT语句来指定需要应用窗口函数的列或表达式。所以A选项是错误的。
34.PG中可以无限变长的字符类型是A.varcharB.charC.blobD.text正确答案:D解析:暂无解析
35.布尔类型只有两种状态A.正确B.错误正确答案:B解析:布尔类型在计算机编程中通常只有两种状态,即真(True)或假(False)。这个答案正确。
36.对于网络地址类型,可以使用相关操作符判断出包含哪些子网A.正确B.错误正确答案:A解析:对于网络地址类型,可以使用SQL的相关操作符来判断出其包含哪些子网。这是完全可能的,因为SQL是一种通用的数据库查询语言,它支持对数据结构进行各种操作,包括对网络地址类型的数据进行操作。因此,答案为A,即“正确”。
37.对于PG的分区特性,说法错误的是A.分区表功能是PGV10的新功能,此前的版本没有此功能B.PG10的分区特性是在内置继承表的基础上实现的C.PG10不支持哈希分区D.PG的分区表在建表语法上,主表和分区是单独创建的正确答案:A解析:暂无解析
38.PG的范围分区中,分区的KEY值可由多个字段组成A.正确B.错误正确答案:A解析:暂无解析
39.PG的列表分区中,列表分区的KEY值可由多个字段组成A.正确B.错误正确答案:B解析:暂无解析
40.PG的分区表中,记录主表信息的系统表为A.pg_partitionedB.pg_partitioned_tableC.pg_classD.pg_statement正确答案:B解析:暂无解析
41.PG中,在使用like操作符时,分别代表1个和多个字符的符号是()A.%B.?C._D.-正确答案:AC解析:在PostgreSQL(通常简称为PG)中,`LIKE`操作符用于在`WHERE`子句中搜索列中的指定模式。它有两个特殊的通配符:A.`%`:代表零个、一个或多个字符。例如,`LIKE'a%'`将匹配所有以字母'a'开头的字符串。C.`_`:代表一个单一的字符。例如,`LIKE'a_c'`将匹配所有在'a'和'c'之间有一个任意字符的字符串,如"abc"、"a1c"等。B.`?`和D.`-`在PostgreSQL的`LIKE`操作符中并没有特殊的意义。在其他上下文中(比如正则表达式或者某些其他数据库的`LIKE`实现)它们可能有特殊用途,但在PostgreSQL的标准`LIKE`操作符中不是通配符。因此,正确答案是A和C,分别代表多个字符和一个字符。
42.PG中访问外部数据的方法有()A.FDW外部数据包装器B.Server外部数据服务器C.用户映射D.外部表正确答案:ABCD解析:暂无解析
43.“...FROMONLYcities…”上面语句中的ONLY关键词可以用在哪些命令中?A.selectB.deleteC.updateD.dropE.truncateF.merge正确答案:ABC解析:在关系型数据库管理系统中,关键字"ONLY"通常用于指定查询操作只应用于指定的表,而不是该表的所有派生表(例如视图、复制表等)。这个关键字主要用于维护数据完整性和防止误操作。在提供的选项中,以下命令可以使用"ONLY"关键字:A.select-当使用"ONLY"关键字时,查询只会返回指定表中的数据,而不是包括派生表中的数据。B.delete-使用"ONLY"关键字可以指定删除操作仅应用于指定的表,而不是该表的所有派生表。C.update-使用"ONLY"关键字可以指定更新操作仅应用于指定的表,而不是该表的所有派生表。D.drop-在大多数数据库系统中,"DROP"命令用于删除表、视图、索引等数据库对象,而不是用于查询操作,因此"ONLY"关键字不适用于"DROP"命令。E.truncate-"TRUNCATE"命令用于清空表中的所有数据,而不是用于查询操作,因此"ONLY"关键字不适用于"TRUNCATE"命令。F.merge-"MERGE"命令通常用于将两个表的数据合并到一个表中,并基于某些条件进行插入、更新或删除操作。虽然"MERGE"命令可以执行查询和修改操作,但"ONLY"关键字在"MERGE"命令中通常不是必需的。综上所述,正确答案是选项A、B和C。
44.SQL标识符和关键词可以以哪些符号开始?A.字母(a-z,也可以是带变音符的字母和非拉丁字母)B.数字(0-9)C.下划线(_)D.美元符号($)正确答案:AC解析:在SQL中,标识符(例如表名、列名等)和关键词(如SELECT、FROM等)的命名规则是特定的。根据这些规则,我们可以分析每个选项:A.字母(a-z,也可以是带变音符的字母和非拉丁字母)-这是正确的。SQL标识符和关键词可以以字母开始,无论是小写还是大写,还包括带变音符的字母和非拉丁字母。B.数字(0-9)-这是不正确的。SQL标识符和关键词不能以数字开始。它们可以以字母或下划线开始,但不能以数字开始。C.下划线(_)-这是正确的。SQL标识符和关键词可以以下划线开始。D.美元符号($)-这是不正确的。美元符号不是SQL标识符和关键词的有效起始符号。综上所述,正确答案是A和C,因为这些是可以用于SQL标识符和关键词开头的符号。所以,答案是AC。
45.CREATETABLEproducts(order_idintegerPRIMARYKEY,product_nointegerREFERENCESproducts(product_no),nametextNOTNULL,pricenumericCHECK(price>0),discounted_pricenumericCHECK(discounted_price>0),CHECK(price>discounted_price));上面语句中有几种约束?A.主键B.外键C.排他约束D.检查约束E.唯一约束F.非空约束正确答案:ABDF解析:在给定的`CREATETABLE`语句中,我们可以识别出以下几种约束:A.主键(`PRIMARYKEY`)-`order_id`字段被指定为主键,这意味着该字段的值必须是唯一的,并且不能为空。B.外键(`REFERENCES`)-`product_no`字段被设置为外键,并参照`products`表的`product_no`字段。这意味着`product_no`字段的值必须是在`products`表的`product_no`字段中存在的。D.检查约束(`CHECK`)-有两个`CHECK`约束。第一个确保`price`字段的值大于0,第二个确保`discounted_price`字段的值也大于0。此外,还有一个隐含的检查约束,即`price`的值必须大于`discounted_price`的值。F.非空约束(`NOTNULL`)-`name`字段被设置为非空,这意味着在插入新记录时,必须为该字段提供一个值。C.排他约束和E.唯一约束-在给定的`CREATETABLE`语句中,并没有明确指定排他约束或唯一约束。虽然主键约束隐含了唯一性,但它已经被计算在A项(主键)中了。综上所述,给定的`CREATETABLE`语句中包含了主键、外键、检查约束和非空约束。因此,正确答案是ABDF。
46.子分区可以有自己的?A.索引B.约束C.默认值D.主键正确答案:ABCD解析:子分区(通常是在数据库如Oracle中的分区表的子分区)是分区表的一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 门店卫生消杀防疫操作标准
- 复合肥采购验收与使用技术标准
- 炸药爆炸事故应急救援处置预案
- 拔罐排毒理疗服务标准
- 有机农产品田间档案记录管理制度
- 家政服务人员不良行为记录细则
- 农药仓库安全储存出入库制度
- 颈椎牵引操作安全规范
- 小儿外科主治医师试题及解析
- 指压放松手法操作规范
- 滨州科技职业学院辅导员考试题库
- 教师因两地分居调动工作申请书
- 游岳阳楼记带翻译
- GB/T 10592-2023高低温试验箱技术条件
- CB马达安装维护手册中文
- 2023年道县小升初英语考试题库及答案解析
- JJG 693-2011可燃气体检测报警器
- JJG 1148-2018电动汽车交流充电桩
- GB/T 18707.1-2002机械振动评价车辆座椅振动的实验室方法第1部分:基本要求
- GB/T 17044-2020钢丝绳芯输送带覆盖层与带芯层粘合强度试验
- GB/T 12706.4-2020额定电压1 kV(Um=1.2 kV)到35 kV(Um=40.5 kV)挤包绝缘电力电缆及附件第4部分:额定电压6 kV(Um=7.2 kV)到35 kV(Um=40.5 kV)电力电缆附件试验要求
评论
0/150
提交评论