计算机三级数据库考试题库,2017计算机三级数据库技术练习题附答案

本文提供了2017年计算机三级数据库技术的考试练习题,包括并发调度、关系规范化、数据结构、主键、排序算法及SQL权限管理等内容,附带详细答案,助您备考提升。

2017计算机三级数据库技术练习题附答案

引导语;为了帮助考生掌握相关知识点,以下是百分网小编分享给大家的2017计算机三级数据库技术练习题附答案,欢迎测试!

9ba211e5e71cf62f9b1ec3543bde3b4a.png

1). 如果一个并发调度的结果与某一串行调度执行结果等价,则这个并发调度称为是( )

A.串行调度

B.可串行化的调度

C.并发执行的可串行化执行

D.串行控制

正确答案:B

2). 设有关系W(编号,姓名,职称,基本工资),将其规范到3NF,正确的答案:是( )。

A.W1(编号,姓名)W2(工种,基本工资)

B.W1(编号,职称,基本工资)W2(编号,姓名)

C.W1(编号,姓名,职称)W2(编号,基本工资)

D.以上都不对

正确答案:C

3). 用链表表示线性表的优点是( )

A.便于随机存取

B.便于插入和删除操作

C.花费的存储空间较顺序存储少

D.元素的物理顺序与逻辑顺序相同

正确答案:C

4). 下面有关主键的叙述正确的是( )

A.不同的记录可以具有重复的主键值或空值

B.一个表中的.主键可以是一个或多个字段

C.在一个表中主键只可以是一个字段

D.表中的主键的数据类型必须定义为自动编号或文本

正确答案:B

5). 堆排序属于( )。

A.选择排序

B.插入排序

C.交换排序

D.归并排序

正确答案:A

6). SQL数据定义语言中包含了权限授予和回收的命令,下面叙述错误的是( )

A.grant语句用来授予权限,revoke语句用来回收权限

B.缺省情况下,在SQL中被授予权限的用户允许将该权限授予其他用户

C.权限allpriviledges可以用作授予所有权限的缩写形式,用户名public指系统所有当前用户和将来的用户

D.如果希望授予权限并允许接受授权者将权限传递给其他用户,将withgrantoption子句附加在适当的grant命令后即可

正确答案:B

【2017计算机三级数据库技术练习题附答案】相关文章:

100套三级数据库上机试题,含有详细的分析方法和思路讲解!例如:1.调用函数rwdata(),从IN.dat文件中读取10组数据(m和k值),并嵌套调用primenum函数分别得出array[]数组。请编写函数primenum(int m,int k,int array[]),该函数的功能是:将紧靠m的k个素数存入数组array并在屏幕上显示。最后把结果输出到文件OUT.dat中。 例如,若输入3 9,则应输出5 7 11 13 17 19 23 29 31。 注意:部分程序已经给出。请勿改动主函数main()和输出数据函数rwdata()的内容。 #include #include void rwdata(); void primenum(int m, int k, int array[]) { } main() { int m, n, array[1000]; printf("\nPlease enter two integers:"); scanf("%d%d", &m, &n); primenum(m, n, array); for (m=0; m<n; m++) printf("%d ", array[m]); printf("\n"); rwdata(); } void rwdata() { int m, n, array[1000], i; FILE *readfile, *writefile; readfile = fopen("in.dat", "r"); writefile = fopen("out.dat", "w"); for (i=0; i<10; i++) { fscanf(readfile, "%d %d", &m, &n); primenum(m, n, array); for (m=0; m<n; m++) fprintf(writefile, "%d ", array[m]); fprintf(writefile, "\n"); } fclose(readfile); fclose(writefile); } 【知识点播】素数的定义:如果一个数的正因子只有1和这个数本身,那么这个数就是素数。 【题目分析】分析题目可知,题中需要解决的问题就是Primenum函数的功能问题(rwdata函数功能题中已经给出),而Primenum函数的功能是求在指定数m之后的k个素数,因此本题的关键在于如何判断一个数是素数,之后就可以通过一个for循环来求得在m之后的k个素数了。 【解题思路】根据素数的定义,本题采用的算法是:首先定义一个变量Value,并把m之后的数逐个赋值给该变量;然后用2~value/2数除value,如果value能被2~value/2之中的任何一个整数整除,则value不是素数,结束循环;如果value不能被2~value/2之间的任一整数整除,则退出循环,然后判断循环变量i是否大于value/2,如果大于,则value是素数,并将value值赋给array[n],然后n++;再判断n是否大于等于k,如果大于等于k,就完成了程序要求的功能,退出循环,否则value加1,根据以上算法继续进行。 【答案】 void primenum(int m, int k, int array[]) { int value = m+1; int half, n = 0, i; while(1) { half = value/2; for (i=2; i half) { array[n] = value; n++; } if (n >= k) break; value++; } } 【容错分析】判断一个数m(大于1)是否素数的简单的算法:枚举2到m/2之间的整数,看能否被m整除,如果能整除,就不是素数,否则是素数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值