出自:国家开放大学数据库应用技术模拟试题

下列关于外键的说法,正确的是( D )。
A.一个表只能有一个外键
B.外键的数据类型与被引用的主键列的数据类型兼容即可
C.可以先定义外键,后定义被引用的主键列
D.一个表可以有多个外键
下列删除表的语句,正确的是( A )。
A.DROP TABLE B.DELETE TABLE
C.ALTER TABLE D.UPDATE TABLE
对NCHAR(10)类型的数据,系统为其分配的存储空间是( B )。
A.固定的10个字节
B.固定的20个字节
C.按实际字符个数分配字节数
D.按实际字符个数的2倍分配字节数
设要查询姓“张”且名字是2个汉字的学生,下列条件子句中正确的是( B )。
A.WHERE 姓名 LIKE .张%.
B.WHERE 姓名 LIKE .张_.
C.WHERE 姓名 = .张%.
D.WHERE 姓名 = .张_.
现要统计选课表中C01课程的平均成绩,正确的语句是( D )。
A.SELECT AVG(*) FROM 选课表 WHERE 课程号 = .C01.
B.SELECT AVG(C01) FROM 选课表 WHERE 课程号 = .C01.
C.SELECT AVG(课程号) FROM 选课表 WHERE 课程号 = .C01.
D.SELECT AVG(成绩) FROM 选课表 WHERE 课程号 = .C01.
下列关于TOP的说法,正确的是( B )。
A.TOP 10返回的结果有可能多于10行数据
B.TOP 10返回的结果一定是10行数据
C.TOP 10 percent的作用是得到查询结果的前10行数据,并且包含并列的情况
D.TOP 10 with ties的作用是返回查询结果的前10%行数据
查询年龄最小的职工姓名,正确的语句是( C )。
A.SELECT 姓名 FROM 职工表 WHERE 年龄 = (
SELECT TOP 1 年龄 FROM 职工表 )
B.SELECT 姓名 FROM 职工表 WHERE 年龄 = (
SELECT TOP 1 年龄FROM 职工表 ORDER BY 年龄 DESC )
C.SELECT 姓名 FROM 职工表 WHERE 年龄 = (
SELECT TOP 1 年龄 FROM 职工表 ORDER BY 年龄 ASC )
D.SELECT 姓名 FROM 职工表 WHERE 姓名 = (
SELECT TOP 1 WITH TIES 姓名 FROM 职工表 )
给T(c1, c2, c3)表插入一条新记录,c1列为“111”,c2列为“112”,c3列空缺。下列语句正确的是( C )。
A.INSERT INTO T (.111., .112., .null.)
B.INSERT INTO T (.111., .112.., null)
C.INSERT INTO T VALUES(.111., .112., null)
D.INSERT INTO T VALUES(.111., .112., .null.)
设有选课(学号,课程号,成绩),现要删除“S001”和“S002”两个学生的选课记录,正确的语句是( D )。
A.DELETE 选课 WHERE 学号 = .S001. AND .S002.
B.DELETE 选课 WHERE 学号 = .S001. AND 学号 = .S002.
C.DELETE 选课 WHERE 学号 = .S001. OR .S002.
D.DELETE 选课 WHERE 学号 = .S001. OR 学号 = .S002.
下列关于视图的说法,正确的是( D )。
A.视图对应数据库三级模式中的模式
B.视图是面向数据库管理系统设计的
C.视图是面向全体用户的信息需求设计的
D.视图是面向特定用户的信息需求设计的
关于非聚集索引的说法,正确的是( A )。
A.在一个表上可以建立多个非聚集索引
B.在一个表上最多只能建立一个非聚集索引
C.非聚集索引有利于提高数据删除的效率
D.非聚集索引有利于提高数据插入的效率
事务的一致性是指( C )。
A.事务中的操作可以做,也可以不做
B.事务中的操作只要提交,其对数据库的更改就是永久的
C.事务可以使数据库从一个一致性状态到另一个一致性状态
D.事务可以保证数据库中的数据与完整性约束保持一致
在E-R图中,实体使用( D )图形表示。
A.椭圆框 B.多边形框
C.菱形块 D.矩形框
实体A与实体B之间是一对多联系,表示( B )。
A.实体A中的每个实例在实体B中必须至少有2个实例与其对应
B.实体A中的每个实例在实体B中可以有多个实例与其对应
C.实体B中的每个实例在实体A中必须至少有2个实例与其对应
D.实体B中的每个实例在实体A中可以有多个实例与其对应
数据库三级模式中,外模式到模式的映像提供了数据的逻辑独立性。
“Sage TINYINT CHECK(Sage>=22 AND Sage<=60)”限制Sage列的取值只能在22到60之间。
有如下定义项目表和健身表的语句,请补全空白部分。(每空1分,共10分)
CREATE TABLE 项目(
项目号 char(10) __(1)__,
项目名 __(2)__ __(3)__,
类别 char(6) __(4)__(类别 in (.瑜伽.,.跑步.,.健美操.)),
费用 int __(5)__ 100
)
CREATE TABLE 健身(
项目号 char(10),
会员号 __(6)__,
健身日期 __(7)__,
健身时长 int ,
__(8)__(项目号) __(9) _ 项目(__(10)__)
)
【A.】not null 【B.】default 【C.】date
【D.】primary key 【E.】项目号 【F.】check
【G.】nvarchar(10) 【H.】项目 【I.】references
【K.】foreign key 【M.】char(18) 【N.】nchar(18)
查询单次健身时长在1-3小时的会员号、项目号和健身日期。下列语句正确的是( )。
【A.】SELECT 会员号, 项目号, 健身日期 FROM 健身
WHERE 健身时长 BETWEEN 1 OR 3
【B.】SELECT 会员号, 项目号, 健身日期 FROM 健身
WHERE 健身时长 BETWEEN 1 AND 3
【C.】SELECT 会员号, 项目号, 健身日期 FROM 健身
WHERE 健身时长 >= 1 OR 健身时长 <= 3
【D.】SELECT 会员号, 项目号, 健身日期 FROM 健身
WHERE 健身时长 >= 1 AND 健身时长 <= 3
在项目表中插入一行数据,项目号:X100,项目名:新项目,类别:跑步,费用:待定。下列语句正确的是( )。
【A.】INSERT INTO 项目 VALUES(.X100.,.新项目.,.跑步.,.NULL.)
【B.】INSERT INTO 项目 VALUES(.X100.,.新项目.,.跑步.,NULL)
【C.】INSERT INTO 项目(项目号, 项目名, 类别)
VALUES(.X100.,.新项目.,.跑步.)
【D.】INSERT INTO 项目(项目号, 项目名, 类别, 费用)
VALUES(.X100.,.新项目.,.跑步.,.NULL.
将项目号为“X111”的项目费用降低5%。下列语句错误的是( )。
【A.】UPDATE 项目 SET 费用 = 费用 * 95% WHERE 项目号 = .X111.
【B.】UPDATE 项目 SET 费用 = 费用 * 0.95 WHERE 项目号 = .X111.
【C.】UPDATE 费用 SET 费用 = 费用 * 95% WHERE 项目号 = .X111.
【D.】UPDATE 费用 SET 费用 = 费用 * 0.95 WHERE 项目号 = .X111.
统计每个会员的健身总时长。下列语句错误的是( )。
【A.】SELECT 会员号, MAX(健身时长) FROM 健身 GROUP BY 会员号
【B.】SELECT 会员号, COUNT(健身时长) FROM 健身 GROUP BY 会员号
【C.】SELECT 会员号, TOTAL(健身时长) FROM 健身 GROUP BY 会员号
【D.】SELECT 会员号, SUM(健身时长) FROM 健身 GROUP BY 会员号
现要创建满足如下要求的视图:查询“2022年10月10日”的健身情况,列出会员名、项目名和健身时长。请补全空白部分(设视图名为:V1)。(每空2分,共10分)
CREATE VIEW V1 AS
SELECT ___(1)___ FROM ___(2)___ a
JOIN 健身 b ON ___(3)___
JOIN 会员 c ON ___(4)___
WHERE ___(5)___
【A.】健身日期 = .2022-10-10.
【B.】会员名, 项目名, 健身时长
【C.】项目
【D.】b.会员号 = c.会员号
【E.】a.项目号 = b.项目号
若希望利用CASE表达式显示不同课程,下列正确的是( )。
A. Case 课程When 课程 = .英语. THEN .ENG.When课程 = .物理. THEN .PHY.When课程 = .数学. THEN .MAT.End
B. Case 课程When 课程 = .英语. THEN 课程 =.ENG.When课程 = .物理. THEN 课程 =.PHY.When课程 = .数学. THEN 课程 =.MAT.End
C. Case 课程When .英语. THEN 课程 =.ENG.When .物理. THEN 课程 =.PHY.When .数学. THEN 课程 =.MAT.End
D. Case 课程When .英语. THEN .ENG.When .物理. THEN .PHY.When .数学. THEN .MAT.End
“FROM 表1 LEFT JOIN 表2 ON 表1.列 = 表2.列”,该子句表达的是( )。
A. 该子句表达是左外连接,连接结果中将包含表2中的全部数据
B. 该子句表达是左外连接,连接结果中将包含表1中的全部数据
C. 该子句表达是左外连接,连接结果中将包含表1和表2中的全部数据
D. 该子句表达是左外连接,连接结果中只包含表1和表2中满足连接条件的数据
对Student(Sno,Sname)和SC(Sno,Cno,Grade)表,查询考试成绩小于60分的学生的学号和姓名,正确的语句是( )。
A. SELECT Sno, Sname FROM SC WHERE Grade<60
B. SELECT Sno, Sname FROM Student WHERE Grade<60
C. SELECT Sno, Sname FROM Student WHERE Sno IN( SELECT Sno FROM SC WHERE Grade<60 )
D. SELECT Sno, Sname FROM StudentWHERE Sno FROM SC AND Grade<60
在数据库设计中,进行用户子模式设计是下述哪个阶段要完成的工作( )。
A. 需求分析阶段
B. 概念结构设计阶段
C. 逻辑结构设计阶段
D. 物理结构设计阶段
在用数据模型描述数据时,一般要求数据模型要满足三个要求。下列不属于数据模型应满足要求的是( )。
A. 能够描述并发数据
B. 能够真实地模拟现实世界
C. 容易被业务人员理解
D. 能够方便地在计算机上实现
下列关于数据库三级模式中“模式”的说法,错误的是( )。
A. 关系数据库中的表对应三级模式中的模式
B. 模式应该包含全体用户的数据需求
C. 外模式的信息全部来自于模式
D. 模式是对整个数据库的底层表示
数据库三级模式结构的划分,有利于( )。
A. 数据的独立性
B. 管理数据库文件
C. 建立数据库
D. 操作系统管理数据库
如果事务T获得了数据项A上的共享锁,则其他事务对A( )。
A. 只能读不能写
B. 只能写不能读
C. 可以写也可以读
D. 不能读也不能写
下列关于视图的说法,正确的是( )。
A. 视图与基本表一样,也存储数据
B. 对视图的操作最终都转换为对基本表的操作
C. 创建视图的数据源只能是基本表
D. 所有视图都可以实现对数据的增、删、改、查操作
下列关于索引的说法,正确的是( )。
A. 只要建立了索引就可以加快数据的查询效率
B. 在一个表上可以创建多个聚集索引
C. 在一个表上可以建立多个唯一的非聚集索引
D. 索引会影响数据插入和更新的执行效率,但不会影响删除数据的执行效率
对char(10)类型的列,若存储“中国”,其占用的字节数是( )。
A. 4
B. 5
C. 10
D. 20
下列用于收回用户权限的语句是( )。
A. GRANT
B. UPDATE
C. REVOKE
D. DELETE
若关系模式中不存在非主属性对主键的传递函数依赖和部分函数依赖,则此关系模式至少属于( )。
A. 第一范式
B. 第二范式
C. 第三范式
D. 第四范式
下列关于关系数据模型的说法,正确的是( )。
A. 关系数据模型是一种概念层数据模型
B. 关系数据模型采用的是导航式的数据访问方式
C. 关系数据模型采用的是简单二维表结构
D. 关系数据模型只能表达实体,不能表达实体之间的联系
下列属于数据的动态特征的是( )。
A. 学生学号
B. 插入数据
C. 建立约束
D. 教师编号
若授予某用户对某数据表具有更改权限,则该用户对该表自动具有查询权限。
A. √
B. ×
可以在一个表的一个操作上建立多个前触发型触发器。
数据库三级模式中的外模式是面向全体用户的数据需求设计的。
A. √
B. ×
关系代数中的“与”运算是两个条件都为真时,“与”的结果为真。
A. √
B. ×
实体完整性约束通常用主键实现。
A. √
B. ×
SQL Server的系统数据库是由DBMS自动创建和维护的。
A. √
B. ×
数据库的概念结构设计通常与具体的数据库管理系统无关。
A. √
B. ×
当基本表中的数据发生变化时,从视图中查询出的数据并不随之变化。
A. √
B. ×
SQL Server数据库中的NULL(空值)表示的是“0”值。
A. √
B. ×
事务的原子性指事务一旦提交,其对数据库中的数据的改变是永久性的。
A. √
B. ×
有如下房屋、租客和租赁三张表,各表结构如下:“房屋”表结构:房屋号:普通编码定长字符类型,长度为10,主键。房主姓名:统一编码可变长字符类型,长度为20,非空。居室数:整型,取值范围为1-6。地址:统一编码可变长字符类型,长度为30。月租金:整型。“租客”表结构:租客号:普通编码定长字符类型,长度为18,主键。租客名:统一编码可变长字符类型,长度为10,非空。联系电话:普通编码定长字符类型,长度为11,默认值“1111”。“租赁”表结构:房屋号:普通编码定长字符类型,长度为10,引用“房屋”表的外键。租客号:普通编码定长字符类型,长度为18,引用“租客”表的外键。起租日期:日期型。租期:整型,取值大于等于3。主键:(房屋号,租客号,起租日期)。
有如下定义租客表和租赁表的语句,请补全空白部分。CREATE TABLE 租客(租客号 char(18)__(1)__ ,租客名 __(2)__ not null ,联系电话 __(3)__ __(4)__ .1111.)CREATE TABLE 租赁(房屋号 __(5)__,租客号 char(18),起租日期 __(6)__,租期     __(7)__   __(8)__(租期 >= 3),foreign key(__(9)__) references __(10)__(租客号))
【A】char(10)           【B】char(11)       【C】date【D】primary key     【E】租客号          【F】租赁【G】nvarchar(10)    【H】租客             【I】default【K】check               【M】int               【N】房屋号
查询姓“张”的房主拥有的房屋的房屋号、居室数、地址。下列语句错误的是( )。
A. SELECT 房屋号, 居室数, 地址 FROM 房屋WHERE 房主姓名 LIKE .张_.
B. SELECT 房屋号, 居室数, 地址 FROM 房屋WHERE 房主姓名 LIKE .张%.
C. SELECT 房屋号, 居室数, 地址 FROM 房屋WHERE 房主姓名 = .张_.
D. SELECT 房屋号, 居室数, 地址 FROM 房屋WHERE 房主姓名 = .张%.
统计月租金低于4000的房屋数。下列语句正确的是( )。
A. SELECT COUNT(*) FROM 房屋 WHERE 月租金 < 4000
B. SELECT COUNT(房屋号) FROM 房屋 WHERE 月租金 < 4000
C. SELECT COUNT(房主姓名) FROM 房屋 WHERE 月租金 < 4000
D. SELECT COUNT(DISTINCT 月租金) FROM 房屋 WHERE 月租金 < 4000