内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《网站数据库应用基础——SQL Server 2017》(高等教育出版社第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《网站数据库应用基础——SQL Server 2017》(高等教育出版社第2版)一课一练的单元四的第12练,内容涵盖单元4 数据库的索引、默认值和规则的任务4.3使用规则对象。
《网站数据库应用基础——SQL Server 2017》
(高等教育出版社第2版)第12练
单元4 数据库的索引、默认值和规则
任务4.3 使用规则对象
1、 单项选择题(本题共5小题)
1、在 SQL Server 2017 中,使用CREATE RULE 语句创建规则对象时,条件表达式的要求不包括( )
A. 不能引用列名或其他数据库对象名
B. 必须包含一个以 @ 开头的局部变量
C. 可以是任意复杂的函数调用
D. CREATE RULE 必须是查询批次中的第一条语句
【答案】C
【解析】使用 CREATE RULE 语句创建规则对象时,条件表达式用于指定列值的格式或取值范围,不能引用列名或其他数据库对象名,且要包含一个以 @ 开头的局部变量,同时 CREATE RULE 必须是查询批次中的第一条语句,但并非可以是任意复杂的函数调用,所以选 C。
2、以下关于绑定规则对象的说法,正确的是( )
A. 一个规则对象只能绑定到一个列上
B. 一个列上可以同时绑定多个规则对象
C. 绑定规则对象的语句格式为 [EXEC] SP_BINDRULE ' 规则对象名 ',' 表名。列名 '
D. 绑定规则后,不符合规则的数据会被自动修改
【答案】C
【解析】一个规则对象可以绑定到多个不同的列上,一个列上只能绑定一个规则,如果列上已经绑定了规则,再次绑定新规则时旧规则将被覆盖。绑定规则后,当有不符合规则的数据输入时,系统会给出错误信息,拒绝接受该数据,而不是自动修改。绑定规则对象的语句格式为 [EXEC] SP_BINDRULE ' 规则对象名 ',' 表名。列名 ',所以选 C。
3、使用 DROP RULE 语句删除规则对象时,如果该规则对象还绑定在表列上,会( )
A. 直接删除规则对象
B. 系统提示错误
C. 自动解除绑定并删除规则对象
D. 不做任何操作
【答案】B
【解析】从数据库中删除一个规则对象时,若该规则对象已经绑定到表列上,应该先使用 SP_UNBINDRULE 解除该规则对象在表列上的绑定,再使用 DROP RULE 语句进行删除,否则系统会提示错误,所以选 B。
4、在 “图书信息管理” 数据库中创建了规则对象 “GZ_ 数量”,若要将其绑定到 “图书信息” 表的 “数量” 列,正确的 SQL 语句是( )
A. SP_BINDRULE 'GZ_ 数量 ',' 图书信息。数量 '
B. SP_UNBINDRULE 'GZ_ 数量 ',' 图书信息。数量 '
C. CREATE RULE 'GZ_ 数量 ' AS '@SL>0'
D. DROP RULE 'GZ_ 数量 '
【答案】A
【解析】绑定规则对象的语句格式为 [EXEC] SP_BINDRULE ' 规则对象名 ',' 表名。列名 ',所以将 “GZ_ 数量” 绑定到 “图书信息” 表 “数量” 列的语句是 SP_BINDRULE 'GZ_ 数量 ',' 图书信息。数量 ',选 A。
5、解除规则对象的绑定后,该规则对象会( )
A. 被自动删除
B. 仍然存在于系统内,若绑定到多个列,对未解除绑定的列继续有效
C. 无法再次绑定到其他列
D. 数据类型会发生改变
【答案】B
【解析】解除规则对象的绑定后,只是把规则对象与所绑定列的关系解除掉了,并没有删除规则对象,所以该规则对象还在系统内,如果规则对象绑定到多个列上,则对没有解除绑定的列还继续有效,所以选 B。
2、 判断题(本题共3题)
1、一个规则对象可以绑定到多个不同的列上。( )
【答案】√
【解析】规则对象创建好后,一个规则对象可以绑定到多个不同的列上,所以该说法正确。
2、在使用 CREATE RULE 语句创建规则对象时,条件表达式中不需要包含以 @ 开头的局部变量。( )
【答案】×
【解析】使用 CREATE RULE 语句创建规则对象时,条件表达式中必须包含一个以 @ 开头的局部变量,该变量代表插入或修改该列时用户输入的数值,所以该说法错误。
3、删除规则对象时,无论该规则对象是否绑定到表列上,都可以直接使用 DROP RULE 语句进行删除。( )
【答案】×
【解析】若规则对象已经绑定到表列上,应该先使用 SP_UNBINDRULE 解除该规则对象在表列上的绑定,再使用 DROP RULE 语句进行删除,所以该说法错误。
3、 简答题(本题共2小题)
1、简述检查约束 (CHECK 约束) 与规则对象的区别。
【答案】CHECK 约束是在创建或修改表时,用 CHECK 子句为表或表中的列定义的,只能应用于它所定义的列,一个列上可以使用多个 CHECK 约束。规则对象是在数据库内用 CREATE RULE 语句创建的,是数据库对象之一,一个规则可以用于多个列,但一个列上只能用一个规则。
2、写出在 “学生成绩管理” 数据库中创建规则对象 “GZ_ 出生日期”,用来限制列的取值必须小于当前系统日期,并将其绑定到 “学生信息” 表 “出生日期” 列的 SQL 代码。
【答案】
1 创建规则对象:CREATE RULE GZ_出生日期 AS @BirthDate < GETDATE();
2 绑定规则对象:EXEC sp_bindrule 'GZ_出生日期', '学生信息.出生日期';
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《网站数据库应用基础——SQL Server 2017》(高等教育出版社第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《网站数据库应用基础——SQL Server 2017》(高等教育出版社第2版)一课一练的单元四的第12练,内容涵盖单元4 数据库的索引、默认值和规则的任务4.3使用规则对象。
《网站数据库应用基础——SQL Server 2017》
(高等教育出版社第2版)第12练
单元4 数据库的索引、默认值和规则
任务4.3 使用规则对象
1、 单项选择题(本题共5小题)
1、在 SQL Server 2017 中,使用CREATE RULE 语句创建规则对象时,条件表达式的要求不包括( )
A. 不能引用列名或其他数据库对象名
B. 必须包含一个以 @ 开头的局部变量
C. 可以是任意复杂的函数调用
D. CREATE RULE 必须是查询批次中的第一条语句
2、以下关于绑定规则对象的说法,正确的是( )
A. 一个规则对象只能绑定到一个列上
B. 一个列上可以同时绑定多个规则对象
C. 绑定规则对象的语句格式为 [EXEC] SP_BINDRULE ' 规则对象名 ',' 表名。列名 '
D. 绑定规则后,不符合规则的数据会被自动修改
3、使用 DROP RULE 语句删除规则对象时,如果该规则对象还绑定在表列上,会( )
A. 直接删除规则对象
B. 系统提示错误
C. 自动解除绑定并删除规则对象
D. 不做任何操作
4、在 “图书信息管理” 数据库中创建了规则对象 “GZ_ 数量”,若要将其绑定到 “图书信息” 表的 “数量” 列,正确的 SQL 语句是( )
A. SP_BINDRULE 'GZ_ 数量 ',' 图书信息。数量 '
B. SP_UNBINDRULE 'GZ_ 数量 ',' 图书信息。数量 '
C. CREATE RULE 'GZ_ 数量 ' AS '@SL>0'
D. DROP RULE 'GZ_ 数量 '
5、解除规则对象的绑定后,该规则对象会( )
A. 被自动删除
B. 仍然存在于系统内,若绑定到多个列,对未解除绑定的列继续有效
C. 无法再次绑定到其他列
D. 数据类型会发生改变
2、 判断题(本题共3题)
1、一个规则对象可以绑定到多个不同的列上。( )
2、在使用 CREATE RULE 语句创建规则对象时,条件表达式中不需要包含以 @ 开头的局部变量。( )
3、删除规则对象时,无论该规则对象是否绑定到表列上,都可以直接使用 DROP RULE 语句进行删除。( )
3、 简答题(本题共2小题)
1、简述检查约束 (CHECK 约束) 与规则对象的区别。
2、写出在 “学生成绩管理” 数据库中创建规则对象 “GZ_ 出生日期”,用来限制列的取值必须小于当前系统日期,并将其绑定到 “学生信息” 表 “出生日期” 列的 SQL 代码。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$