1、关系数据库操作语言 SQL(三)及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:75.00)1.以下叙述正确的是_。 A.字符串数据由英文字母、数字和各种符号组成 B.字符串数据由汉字、英文字母和数字组成 C.字符串数据由汉字、英文字母和各种符号组成 D.字符串数据由汉字、英文字母、数字和各种符号组成(分数:2.50)A.B.C.D.2.SQL Server 支持的准确型数据类型不包括_。 A.Bigint B.Int C.Smallint D.float(分数:2.50)A.B.C.D.3.SQL Server 支持的普通编码字符串的数据类型不包括
2、_。 A.char(n) B.varchar(n) C.text D.ntext(分数:2.50)A.B.C.D.4.设在 SQL Server 2000 中,某关系表需要存储职工的工资信息,工资的范围为 200010000,设用整型类型存储。下列数据类型中最合适的是_。 A.int B.smallint C.tinyint D.bigint(分数:2.50)A.B.C.D.5.以下关于货币类型数据叙述错误的是_。 A.货币类型存储的数据精度固定为 4 位小数 B.它实际上是小数部分固定为 4 位的定点小数类型 C.货币类型可以在数值前加上货币符号 D.SQL Server 支持的货币类型包括
3、 money、Bigmoney 和 Smallmoney(分数:2.50)A.B.C.D.6.在关系数据库中,NULL 是一个特殊值,在很多数据操作中都需要对 NULL 进行特殊处理。关于 NULL,下列说法正确的是_。 A.判断元组的某一列是否为 NULL 一般使用“=NULL” B.NULL 在数据库中表示尚不确定的值 C.在 SQL Sever 2000 中执行“SELECT NULL+5”将会出现异常 D.NULL 只适合用于字符和数值类型(分数:2.50)A.B.C.D.7.设在职工表中有电话号码列,数据类型是 char(8)。现要在该列上添加约束,用于保证电话号码长度必须是 8 位
4、,且第一位取值为数字 19、后 7 位取值为数字 09,现有下列语句:ALETER TABLE 职工表 ADD CHECK(电话号码 LIKE1-90-90-90-90-90-90-90-9)ALETER TABLE 职工表 CHECK(电话号码 LIKE1-90-90-90-90-90-90-90-9)ALETER TABLE 职工表 ADD CONSTRAINT CK1 CHECK(电话号码 LIKE1-90-90-90-90-90-90-90-9)ALETER TABLE 职工表 ADD CONSTRAINT CHECK(电话号码 LIKE1-90-90-90-90-90-90-90-9
5、)以上语句在 SQL Server 2000 中能正确实现该约束的是_。 A.仅和 B.仅和 C.仅、和 D.全部(分数:2.50)A.B.C.D.8.在 SQL Server 2000 中,设有课程表(课程号,课程名,学分,开课学期),现要在此关系表上建立一个查询指定学期开设的课程总门数和总学分数的内嵌表值函数,函数名为 f_FindTotal。实现这个函数的正确代码是_。 A.CREATE FUNCTION f_FindTotal(semester int) RETURNS table AS RETURN( SELECT COUNT(课程号)as 课程门数,SUM(学分)as 总学分 FR
6、OM 课程表 WHERE 开课学期 = semester) B.CREATE FUNCTION f_FindTotal(semester int) RETURNS table AS RETURN( SELECT COUNT(课程号)as 课程门数,COUNT(学分)as 总学分 FROM 课程表 WHERE 开课学期 = semester) C.CREATE FUNCTION f_FindTotal(semester int) RETURNS table AS RETURN( SELECT SUM(课程号)as 课程门数,SUM(学分)as 总学分 FROM 课程表 WHERE 开课学期 =
7、semester) D.CREATE FUNCTION f_FindTotal(semester int) RETURNS table AS RETURN( SELECT SUM(课程号)as 课程门数,COUNT(学分)as 总学分 FROM 课程表 WHERE 开课学期 = semester)(分数:2.50)A.B.C.D.9.在 SQL Server 2000 中,设 U1 用户在某数据库中是 db_datawriter 角色中的成员,则用户 U1 从该角色中可以获得的数据操作权限是_。查询 插入更改 删除 A.仅 B.仅和 C.仅、和 D.全部(分数:2.50)A.B.C.D.10.
8、设有工作表(工作编号,最低工资,最高工资),其中工作编号、最低工资和最高工资均为整型,工作编号为主码。现要求最高工资必须大于等于最低工资,但不能超过最低工资的 2 倍。在 SQL Server 2000环境中有下列创建该表的语句:CREATE TABLE 工作表(工作编号 int primary key,最低工资 int,最高工资 int check(最高工资 between 最低工资 and 最低工资*2)CREATE TABLE 工作表(工作编号 int,最低工资 int,最高工资 int,primary key(工作编号),check(最高工资 between 最低工资 and 最低工资
9、*2)CREATE TABLE 工作表(工作编号 int primary key(工作编号),最低工资 int,最高工资 int,check(最高工资 between 最低工资 and 最低工资*2)CREATE TABLE 工作表(工作编号 int primary key(工作编号),最低工资 int,最高工资 int check(最高工资 between 最低工资 and 最低工资*2)上述语句中正确的是_。 A.仅和 B.仅和 C.仅和 D.全部(分数:2.50)A.B.C.D.11.下列关于关系数据模型和关系表的说法,正确的是_。关系数据模型以集合论为基础表示和处理数据关系数据模型同时
10、支持非过程化语言和过程化语言直接存取数据“create table.”语句用于定义关系表的结构及数据完整性约束在关系表上执行 select 或 delete 操作时,DBMS 会检查数据完整性约束 A.仅和 B.仅和 C.仅和 D.仅和(分数:2.50)A.B.C.D.12.在 SQL Server 2000 中,有学生表(学号,姓名,年龄,所在系),学号是主码。在这个表上建有视图V1。V1 视图的定义语句为:CREATE VIEW V1 ASSELECT 姓名,年龄,所在系 FROM 学生表WHERE 年龄=(SELECT AVG(年龄) FROM 学生表)有下列操作语句:UPDATE V1
11、 SET 年龄 = 年龄+1SELECT * FROM V1 WHERE 年龄200DELETE FROM V1 WHERE 年龄20INSERT INTO V1 VALUES(张三, 20, 计算机系)以上语句能正确执行的是_。 A.仅和 B.仅 C.仅和 D.仅、和(分数:2.50)A.B.C.D.13.在 SQL Server 2000 中,设有职工表(职工号,职工名,电子邮箱),现要限制电子邮箱的最后几位的取值为“abc. com”,且“”前至少有一位字符。下列添加约束的语句正确的是_。 A.ALTER TABLE 职工表 ADD CONSTRAINT chk_email CHECK(
12、电子邮箱 LIKE_%) B.ALTER TABLE 职工表 ADD CONSTRAINT chk_email CHECK(电子邮箱=_%) C.ALTER TABLE 职工表 ADD CONSTRAINT chk_email CHECK(电子邮箱 LIKE_) D.ALTER TABLE 职工表 ADD CONSTRAINT chk_email CHECK(电子邮箱=_)(分数:2.50)A.B.C.D.14.在 SQL Server 2000 中,有教师表(教师号,姓名,职称,工资)。现要根据教师的职称来添加教师的工资,增加规则为:“教授”增加 400,“副教授”增加 300,“讲师”增加
13、 200,下列语句中正确的是_。 A.UPDATE 教师表 SET 工资=工资+CASE 职称 WHEN 教授 THEN 400 WHEN 副教授 THEN 300 WHEN 讲师 THEN 200 END B.UPDATE 教师表 SET 工资=工资+CASE 职称 WHEN 职称= 教授 THEN 400 WHEN 职称= 副教授 THEN 300 WHEN 职称= 讲师 THEN 200 END C.UPDATE 教师表 SET 工资=CASE 职称 WHEN 教授 THEN 工资=工资+400 WHEN 副教授 THEN工资=工资+300 WHEN 讲师 THEN 工资=工资+200
14、END D.UPDATE 教师表 SET 工资=工资+CASE 职称 WREN 职称= 教授 THEN 工资=工资+400 WHEN 职称= 副教授 THEN 工资=工资+300 WHEN 职称= 讲师 THEN 工资=工资+200 END(分数:2.50)A.B.C.D.15.有教师表(教师号,姓名,所在系,工资),找出系内教师平均工资高于全体教师平均工资的系的信息,正确的语句是_。 A.SELECT 所在系,AVG(工资)FROM 教师表 WHERE AVG(工资)(SELECT AVG(工资)FROM 教师表) B.SELECT 所在系,AVG(工资)FROM 教师表 WHERE AVG
15、(工资)(SELECT AVG(工资)FROM 教师表) GROUP BY 所在系 C.SELECT 所在系,AVG(工资)FROM 教师表 GROUP BY 所在系 HAVING AVG(工资)(SELECT AVG(工资)FROM 教师表) D.SELECT 所在系,AVG(工资)FROM 教师表 GROUP BY 所在系 WHERE AVG(工资)(SELECT AVG(工资)FROM 教师表)(分数:2.50)A.B.C.D.16.设在 SQL Server 2000 某数据库中有选课表(学号,课程号,成绩),设成绩列的数据类型为 INT,且有取值范围为 0100 的约束。若需统计全体
16、学生的平均成绩(精确到小数点后 1 位),下列语句正确的是_。 A.SELECT CAST(AVG(成绩) AS NUMERIC(4.1) FROM 选课表 B.SELECT AVG(2AST(成绩 AS NUMERIC(4.1) FROM 选课表 C.SELECT AVG(成绩) AS NUMERIC(4.1) FROM 选课表 D.SELECT CAST(AVG(成绩 * 1.0) AS NUMERIC(4.1) FROM 选课表(分数:2.50)A.B.C.D.17.以下关于查询语句叙述错误的是_。 A.查询语句的功能是从数据库中检索满足条件的数据 B.查询的数据源可以来自一张表或多张表
17、,甚至是视图 C.查询的结果是由 0 行(没有满足条件的数据)或多行记录组成的一个记录集合 D.不允许选择多个字段作为输出字段(分数:2.50)A.B.C.D.18.匹配串中可包含 4 种通配符,其中用于匹配任何一个字符的是_。 A._ B.% C. D.(分数:2.50)A.B.C.D.19.SQL 提供的聚合函数中用于计算列值总和的函数是_。 A.SUM B.AVG C.MAX D.COUNT(分数:2.50)A.B.C.D.20.SQL 语言具有数据定义、数据查询、数据操纵和数据控制功能,语句 SELECT、INSERT、UPDATE 和DELETE 可以实现下列哪类功能?_。 A.数据
18、定义 B.数据查询 C.数据操纵 D.数据控制(分数:2.50)A.B.C.D.21.设有 dep 表和 student 表,数据如下: depdnodname10 数学20 外语30 计算机40 电子工程50 自动化studentsno snamedno980001 李宏 10980002 王明 10980012 刘华 50980015 朱敏 50现有如下所示的查询结果: dname外语计算机电子工程下列查询语句中,能够得到此查询结果的是_。 A.select dname from dep right join student as a on dep. dno=s. dno where sn
19、o is null B.select dname from dep right join student as a on dep. dno=s. dno where dep. dno is null C.select dname from dep left join student as a on dep. dno=s. dno where sno is null D.select dname from dep left join student as a on dep. dno=s. dno where dep. dno is null (分数:2.50)A.B.C.D.22.现有如下关系表
20、:职工(职工号,姓名,性别,年龄,职务,基本工资,职务津贴)男职工(职工号,姓名,性别,年龄,基本工资)要求将职工表中男职工的信息插入到男职工表中,以下 SQL 语句正确的是_。 A.insert into 男职工(职工号,姓名,性别,年龄,基本工资)values Select * from 职工 where 性别=男 B.insert into 男职工 values Select * from 职工 where 性别=男 C.insert into 男职工 as (select 职工号,姓名,性别,年龄,基本工资 from 职工 where性别=男) D.insert into 男职工 se
21、lect 职工号,姓名,性别,年龄,基本工资 from 职工 where 性别=男(分数:2.50)A.B.C.D.23.有学生表(学号,姓名,性别,身份证号,出生日期,所在系号),在此表上使用如下语句建立索引:CREATE NONCLUSTERED INDEX Idx_Name ON 学生表(姓名);此索引被称为_。 A.非聚集散列索引 B.非聚集辅索引 C.非聚集顺序索引 D.非聚集主索引(分数:2.50)A.B.C.D.24.在创建索引时,用于表示要创建的索引是聚集索引的是_。 A.NONCLUSTERED B.CLUSTERED C.UNIQUE D.DESC(分数:2.50)A.B.
22、C.D.25.视图是数据库中的重要对象,下列有关视图的说法错误的是_。 A.一般情况下,数据库只存储视图的定义,其数据仍存放在相关的基本表中 B.可以将复杂的查询语句封装在视图中以简化相关查询语句的编写 C.通过视图可以屏蔽不希望用户看到的敏感数据,提高数据库数据的安全性 D.可以在视图的基础上建立新的视图,但这样定义的视图会导致数据库性能下降,一般不推荐使用(分数:2.50)A.B.C.D.26.关于数据库视图,下列说法正确的是_。 A.视图可以提高数据的操作性能 B.定义视图的语句可以是任何数据操作语句 C.视图可以提供一定程度的数据独立性 D.视图的数据一般是物理存储的(分数:2.50)
23、A.B.C.D.27.以下关于视图的定义叙述错误的是_。 A.视图的数据可以只取自一个基本表的部分行和列 B.视图的数据可以来自多个表中,这样定义的视图一般只用于查询,不用于修改数据 C.不可以在视图上再建立视图 D.含分组统计信息的视图,只用于查询,不用于修改数据(分数:2.50)A.B.C.D.28.以下关于视图的作用叙述错误的是_。 A.提高查询效率 B.使用户能从多角度看待同一数据 C.提高数据的安全性 D.提供了一定程度的逻辑独立性(分数:2.50)A.B.C.D.29.使用视图不能完成的操作是_。 A.更新视图 B.查询视图 C.在视图上定义新的表 D.在视图上定义新的视图(分数:
24、2.50)A.B.C.D.30.在 SQL 中删除视图的操作是_。 A.DELETE B.DROP C.CLEAR D.REMOVE(分数:2.50)A.B.C.D.二、B填空题/B(总题数:14,分数:25.00)31.设有表 T(c1,c2),c1 的数据类型为 char(2),要求其第 1 位的取值范围为1,9,第 2 位的取值范围为0,9,实现此要求的约束表达式为 CHECK(c1,LIKE 1 )。(分数:2.00)填空项 1:_32.有选课表(学号,课程号,成绩),现要统计有不及格成绩的学生人数。请补全下列语句: SELECT _ FROM 选课表 WHERE 成绩60(分数:2.
25、00)填空项 1:_33.设有商品表(商品号,商品名,单价)和销售表(商品号,销售时间,销售数量)。现要查询单价高于100 元的全部商品的销售总次数和总数量,包括没有被卖出过的商品(没有被卖出过的商品的销售总次数和总数量置为 0)。请补全如下语句: SELECT 商品表商品号,销售总次数=_, 销售总数量=SUM(销售数量) FROM 商品表_销售表 ON 商品表. 商品号=销售表. 商品号 WHERE 单价100 GROUP BY 商品表. 商品号(分数:2.00)填空项 1:_34.在 SQL Server 2000 中,设有顾客表(顾客号,顾客名,所在地区,年龄),应用系统中需统计指定地
26、区的顾客人数和平均年龄。请补全下列存储过程代码以完成该功能。 CREATE PROC P_Count area varchar(20) AS SELECT COUNT(*)AS 人数,(_)AS 平均年龄 FROM 顾客表 WHERE 所在地区=area(分数:2.00)填空项 1:_35.设有顾客表(顾客号,顾客名,联系电话)和购买表(商品号,顾客号,购买时间),现要统计有购买记录的顾客人数。请补全下列实现该功能的语句。 SELECT(_)FROM 购买表(分数:2.00)填空项 1:_36.设某数据库中有作者表(作者号,城市)和出版商表(出版商号,城市),请补全如下查询语句,使该查询语句能
27、查询作者和出版商所在的全部不重复的城市。 SELECT 城市 FROM 作者表 _ SELECT 城市 FROM 出版商表(分数:2.00)填空项 1:_37.设有课程表(课程号,课程名,学分,先修课程号),已知某应用程序需要列出“数据库原理”课程的一门先修课程,查询结果要求输出(课程名,学分,先修课名称,先修课学分),可以用 1 连接操作在一个查询中实现此功能。(分数:2.00)填空项 1:_38.数据粒度是描述数据的粗细或汇总程度高低的概念,设 T1 为销售细节数据表,T2 为月销售汇总数据表,则 T1 的粒度级 1 于 T2 粒度级。(分数:2.00)填空项 1:_39.设有学生表(学号
28、,姓名,性别,所在系),这些列均不允许有空值。现要建立一个视图,统计“计算机系”的男生人数和女生人数。请补全下列语句。 CREATE VIEW V_Count AS SELECT(_),COUNT(*)AS 人数 FROM 学生表 WHERE 所在系=计算机系 (_)(分数:2.00)填空项 1:_40.若要收回用户 U1 对表 T 数据的删除权限,可通过权限管理语句实现。实现该操作的 SQL 语句是 1 DELETE ON T FROM U1。(分数:2.00)填空项 1:_41.设某数据库中有商品表(商品号,商品名,商品类别,价格)。现要创建一个视图,该视图包含全部商品类别及每类商品的平均
29、价格。请补全如下语句: CREATE VIEW V1(商品类别,平均价格) AS SELECT 商品类别,_ FROM 商品表 GROUP BY 商品类别(分数:2.00)填空项 1:_42.设有课程表和成绩表:Course(Cno, Cname, Credit)和 SC(Sno, Cno, Grade),现要查询已获总学分大于 12 的学生(输出学号 Sno 和获得的总学分)。请补全下面的语句: SELECT Sno, SUM(Credit) FROM SC JOIN Cours ON SC. Cno=Course. Cno WHERE Grade=60 GROUP BY Sno _(分数:
30、1.00)填空项 1:_43.设有学生表(学号,姓名,所在系名)和选课表(学号,课程号,成绩)。现要建立统计每个系选课人数的视图。请补全下列语句: CREATE VIEW V1(系名,人数)AS SELECT 所在系名,_ FROM 选课表JOIN 学生表 ON 选课表. 学号=学生表. 学号_(分数:1.00)填空项 1:_44.在 SQL Server 2000 中,设要在磁盘上建立一个永久备份设备,设备名为 bk1,存储在 D 盘根目录下。请补全下列创建该设备的语句 sp_addumpdevice_, bkl, D:/bkl. bak(分数:1.00)填空项 1:_关系数据库操作语言 S
31、QL(三)答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:75.00)1.以下叙述正确的是_。 A.字符串数据由英文字母、数字和各种符号组成 B.字符串数据由汉字、英文字母和数字组成 C.字符串数据由汉字、英文字母和各种符号组成 D.字符串数据由汉字、英文字母、数字和各种符号组成(分数:2.50)A.B.C.D. 解析:解析 字符串数据由汉字、英文字母、数字和各种符号组成,因此本题答案为 D。2.SQL Server 支持的准确型数据类型不包括_。 A.Bigint B.Int C.Smallint D.float(分数:2.50)A.B.C.D. 解
32、析:解析 准确型数值是指在计算机中能够精确存储的数,SQL Server 支持的准确型数据类型包括:Bigint、Int、Smallint、Tinyint、Bit、numeric(p,q)或 decimal(p,q)。近似型是用于表示浮点型数据的近似数据类型,包括 float 和 real。所以本题的答案为 D。3.SQL Server 支持的普通编码字符串的数据类型不包括_。 A.char(n) B.varchar(n) C.text D.ntext(分数:2.50)A.B.C.D. 解析:解析 SQL Server 支持的普通编码字符串的数据类型包括 char(n)、varchar(n)和
33、 text。所以本题的答案为 D。4.设在 SQL Server 2000 中,某关系表需要存储职工的工资信息,工资的范围为 200010000,设用整型类型存储。下列数据类型中最合适的是_。 A.int B.smallint C.tinyint D.bigint(分数:2.50)A.B. C.D.解析:解析 int 数据类型所表示的数值范围从-2 31到 231-1,也就是说,你可以用 int 数据类型来表达-2,147,483,648 到 2,147,483,647(即大约正负二十亿)之间的整数。一个 int 型占用四个字节的存储空间。bigint 数据类型位于 int 之上。smalli
34、nt 的数值范围从从-2 15到 215-1。tinyint 的数值范围从从 0 到 255。故本题选 B。5.以下关于货币类型数据叙述错误的是_。 A.货币类型存储的数据精度固定为 4 位小数 B.它实际上是小数部分固定为 4 位的定点小数类型 C.货币类型可以在数值前加上货币符号 D.SQL Server 支持的货币类型包括 money、Bigmoney 和 Smallmoney(分数:2.50)A.B.C.D. 解析:解析 货币类型存储的数据精度固定为 4 位小数,它实际上是小数部分固定为 4 位的定点小数类型,但货币类型可以在数值前加上货币符号。SQL Server 支持的货币类型包括
35、 money 和 Smallmoney。因此本题答案为 D。6.在关系数据库中,NULL 是一个特殊值,在很多数据操作中都需要对 NULL 进行特殊处理。关于 NULL,下列说法正确的是_。 A.判断元组的某一列是否为 NULL 一般使用“=NULL” B.NULL 在数据库中表示尚不确定的值 C.在 SQL Sever 2000 中执行“SELECT NULL+5”将会出现异常 D.NULL 只适合用于字符和数值类型(分数:2.50)A.B. C.D.解析:解析 本题考查的知识点是空值查询。NULL 表示不确定的值不能使用普通的比较运算符“=”或“! =”。需要使用专门的判断子句来完成,其格
36、式为:列名 ISNOT NULL。在 SQL Sever 2000 中,NULL+任何值=任何值。因此执行语句不会出现异常。NULL 适合于任何不确定的取值类型。即本题的答案为 B。7.设在职工表中有电话号码列,数据类型是 char(8)。现要在该列上添加约束,用于保证电话号码长度必须是 8 位,且第一位取值为数字 19、后 7 位取值为数字 09,现有下列语句:ALETER TABLE 职工表 ADD CHECK(电话号码 LIKE1-90-90-90-90-90-90-90-9)ALETER TABLE 职工表 CHECK(电话号码 LIKE1-90-90-90-90-90-90-90-9
37、)ALETER TABLE 职工表 ADD CONSTRAINT CK1 CHECK(电话号码 LIKE1-90-90-90-90-90-90-90-9)ALETER TABLE 职工表 ADD CONSTRAINT CHECK(电话号码 LIKE1-90-90-90-90-90-90-90-9)以上语句在 SQL Server 2000 中能正确实现该约束的是_。 A.仅和 B.仅和 C.仅、和 D.全部(分数:2.50)A.B. C.D.解析:解析 利用 SQL 语句添加约束的格式为:ALTER TABLE table_name ADD constraint constraint_name
38、 constraint_definition,其中 constraintconstraint_name 可以省略。8.在 SQL Server 2000 中,设有课程表(课程号,课程名,学分,开课学期),现要在此关系表上建立一个查询指定学期开设的课程总门数和总学分数的内嵌表值函数,函数名为 f_FindTotal。实现这个函数的正确代码是_。 A.CREATE FUNCTION f_FindTotal(semester int) RETURNS table AS RETURN( SELECT COUNT(课程号)as 课程门数,SUM(学分)as 总学分 FROM 课程表 WHERE 开课学期
39、 = semester) B.CREATE FUNCTION f_FindTotal(semester int) RETURNS table AS RETURN( SELECT COUNT(课程号)as 课程门数,COUNT(学分)as 总学分 FROM 课程表 WHERE 开课学期 = semester) C.CREATE FUNCTION f_FindTotal(semester int) RETURNS table AS RETURN( SELECT SUM(课程号)as 课程门数,SUM(学分)as 总学分 FROM 课程表 WHERE 开课学期 = semester) D.CREAT
40、E FUNCTION f_FindTotal(semester int) RETURNS table AS RETURN( SELECT SUM(课程号)as 课程门数,COUNT(学分)as 总学分 FROM 课程表 WHERE 开课学期 = semester)(分数:2.50)A. B.C.D.解析:解析 对课程号的统计是不计算相同的课程的,所以应该用 COUNT,而学分的计算是一个累加的过程,所以要用 SUM。9.在 SQL Server 2000 中,设 U1 用户在某数据库中是 db_datawriter 角色中的成员,则用户 U1 从该角色中可以获得的数据操作权限是_。查询 插入更
41、改 删除 A.仅 B.仅和 C.仅、和 D.全部(分数:2.50)A.B.C. D.解析:解析 db_datawriter 可以修改数据库中所有用户表数据,但不能查询。U1 拥有除查询以外的三项权限,因此选 C。10.设有工作表(工作编号,最低工资,最高工资),其中工作编号、最低工资和最高工资均为整型,工作编号为主码。现要求最高工资必须大于等于最低工资,但不能超过最低工资的 2 倍。在 SQL Server 2000环境中有下列创建该表的语句:CREATE TABLE 工作表(工作编号 int primary key,最低工资 int,最高工资 int check(最高工资 between 最
42、低工资 and 最低工资*2)CREATE TABLE 工作表(工作编号 int,最低工资 int,最高工资 int,primary key(工作编号),check(最高工资 between 最低工资 and 最低工资*2)CREATE TABLE 工作表(工作编号 int primary key(工作编号),最低工资 int,最高工资 int,check(最高工资 between 最低工资 and 最低工资*2)CREATE TABLE 工作表(工作编号 int primary key(工作编号),最低工资 int,最高工资 int check(最高工资 between 最低工资 and 最
43、低工资*2)上述语句中正确的是_。 A.仅和 B.仅和 C.仅和 D.全部(分数:2.50)A.B. C.D.解析:解析 本题考查 SQL 中 check 的用法。选 B。11.下列关于关系数据模型和关系表的说法,正确的是_。关系数据模型以集合论为基础表示和处理数据关系数据模型同时支持非过程化语言和过程化语言直接存取数据“create table.”语句用于定义关系表的结构及数据完整性约束在关系表上执行 select 或 delete 操作时,DBMS 会检查数据完整性约束 A.仅和 B.仅和 C.仅和 D.仅和(分数:2.50)A. B.C.D.解析:解析 本题考查关系数据模型和关系表的概念
44、。项,关系数据模型不能支持过程化语言直接存取。项,执行 SELECT 时,不会检查完整性约束。12.在 SQL Server 2000 中,有学生表(学号,姓名,年龄,所在系),学号是主码。在这个表上建有视图V1。V1 视图的定义语句为:CREATE VIEW V1 ASSELECT 姓名,年龄,所在系 FROM 学生表WHERE 年龄=(SELECT AVG(年龄) FROM 学生表)有下列操作语句:UPDATE V1 SET 年龄 = 年龄+1SELECT * FROM V1 WHERE 年龄200DELETE FROM V1 WHERE 年龄20INSERT INTO V1 VALUES
45、(张三, 20, 计算机系)以上语句能正确执行的是_。 A.仅和 B.仅 C.仅和 D.仅、和(分数:2.50)A.B. C.D.解析:解析 对视图的插入,删除等操作必须要保证该视图是一个保留了原主码的表。即本题的答案为B。13.在 SQL Server 2000 中,设有职工表(职工号,职工名,电子邮箱),现要限制电子邮箱的最后几位的取值为“abc. com”,且“”前至少有一位字符。下列添加约束的语句正确的是_。 A.ALTER TABLE 职工表 ADD CONSTRAINT chk_email CHECK(电子邮箱 LIKE_%) B.ALTER TABLE 职工表 ADD CONSTRAINT chk_email CHECK(电子邮箱=_%) C.ALTER TABLE 职工表 ADD CONSTRAINT chk_email CHECK(电子邮箱 LIKE_