数据库技术 DataBase Technology Happy You 【DBT】
浙江省数据库技术三级考试历年试题
2009 年秋浙江省高等学校
计算机等级考试试卷(三级 数据库技术及应用)
1.基础知识(共 70 分)
(1)~(10):判断题(共 10 分)
(1)计算机算法必须具备确定性、有穷性、可行性、稳定性和安全性等 5 个特性。
(2)线性表采用链式存储,便于插入和删除操作。
(3)栈和队列的共同点是允许在端点处插入和删除元素。
(4)满二叉树一定是正则二叉树。
(5)在有 n 个记录的有序表中进行折半查找,最大的比较次数是⎡log2n⎦。
(6)关系数据模型的三要素是数据结构、关系操作集合和实体完整性约束。
(7)在数据库三级模式结构中,一个数据库可以有多个外模式但只有一个内模式。
(8)关系代数的基本运算是并、交、差、投影和选择。
(9)对关系模式进行分解时,由于选择函数依赖的先后顺序不同或者求解的函数依赖最小集不同,
都会使关系模式的分解结果不同。
(10)SQL 中 GRANT 语句和 REVOKE 语句主要用来维护数据库系统的安全性。
答案:×;√;√;√;×;×;√;×;√;√。
(11)~(40):选择题(共 60 分)
(11)在数据结构中,从逻辑上可以把数据结构划分为( )两类。
A.动态结构和静态结构
B.紧凑结构和非紧凑结构
C.线性结构和非线性结构
D.内部结构和外部结构
(12)线性表的链式存储结构是一种( )的存储结构。
A.随机存取
B.顺序存取
C.索引存取
D.散列存取
(13)在一个单向链表中,若 p 所指结点不是最后结点,在 p 之后插入 s 所指结点,则执行( )。
A.s->next=p->next;p->next=s;
C.s->next=p;p->next=s;
B.p->next=s;s->next=p->next;
D.p->next=s;s->next=p;
(14)带头结点的单循环链表 head 为空的判定条件是( )。
A.head=NULL B.head->next=NULL C.head->next=head D.head!=NULL
(15)一个队列的入对序列是 1、2、3、4,则队列的输出序列是( )。
A.1、2、3、4 B.4、3、2、1 C.1、3、2、4 D.4、2、3、1
(16)有一个递归算法如下,则下列叙述正确的是( )。
int maze(int a,int b,int c)
{if (a
数据库技术 DataBase Technology Happy You 【DBT】
(19)具有 127 个结点的满二叉树,叶子节点的数量是( )。
A.64
B.32
C.16
D.8
(20)设有关键字序列(16,9,4,25,15,2,11,18,14,5,8,20),按关键码值递增的次序排序,采用二路
归并排序法,下面( )序列是第 2 趟归并后的结果。
A.(9,16,4,25,2,15,11,18,5,14,8,20)
B.(4,9,16,25,2,11,15,18,5,8,14,20)
C.(2,4,5,8,9,11,14,15,16,18,20,25)
D.(2,4,9,15,16,25,5,8,11,14,18,20)
答案:C;B;A;B;A;B;A;D;A;B。
(21)数据库管理系统 DBMS 是( )。
A.一组硬件
B.一组系统软件
C.一个完整的数据库应用系统
D.既包含软件,又包含硬件
(22)在数据库技术发展过程中,文件系统和数据库系统的本质区别是数据库系统具有( )。
A.数据结构化
B.数据无冗余
C.数据共享
D 数据独立性
(23)数据库系统中,用户使用的数据视图用( )描述,该视图是用户与数据库系统之间的接口。
A.外模式
B.内模式
C.存储模式
D.概念模式
(24)E-R 方法的三要素是( )。
A.实体、属性和联系
C.实体、属性和码
B.实体、属性和实体集
D.实体、码和联系
(25)( )不属于关系完整性约束。
A.学生的学号必须唯一
C.性别只能是男或女
B.关系中的每一列都是不可再分的
D.学生所选课程必须是已开设课程
(26)已知关系 R 和 S 如表 6.1 和 6.2 所示,R 的属性 A 是主码,属性 B 是外码,S 的属性 B 是主码。
如果要在 R 中插入一个元组,则( )不能插入。
表 6.1 R 表 6.2 S
A
a1
a2
a3
a4
B
b1
b2
b1
b3
C
1
2
3
4
B
b1
b2
b3
b4
D
1
3
4
6
A.(a5,b5,7) B.(a6,b4,1) C.(a7,b3,3) D.(a8,b2,1)
(27)设关系 R 和 S 有相同的目,且它们对应的属性的值取自同一个域,则 R-(R-S)等于( )。
A.R∪S
B.R∩S
C.R×S
D.R÷S
(28)有两个关系 R(A,B,C)和 S(B,C,D),经过自然连接运算后得到的关系的属性个数是( )。
A.3
B.4
C.5
D.6
(29)关系数据库规范化是为了解决关系数据库中的( )问题而引入的。
A.提高查询速度
B.插入异常、删除异常和数据冗余
C.减少数据操作的复杂性
D.保证数据的完整性和安全性
(30)在关系数据库中,任何二元关系模式的最高范式必定是( )。
A.1NF
B.2NF
C.3NF
D.BCNF
答案:B;A;A;A;B;A;B;B;B;D。
(31)~(40)选择题基于以下关系:某关系数据库已建立学生表 S、课程表 C 和选课表 SC,它们的
结构如下:
S(SNO,SNAME,AGE,SEX,DEPT):主码为 SNO;属性含义为学号、姓名、年龄、性别、系别。
C(CNO,CNAME):主码为 CNO;属性含义为课程号、课程名。
SC(SNO,CNO,GRADE);主码为(SNO,CNO);属性含义为学号、课程号、成绩。
☺ ▁▂▃▄▅▆▇ 4 ▇▆▅▄▃▂▁▁ ☺
数据库技术 DataBase Technology Happy You 【DBT】
(31)检索所有姓王的学生信息 。正确的 SQL 语句是( )。
A.SELECT * FROM S WHERE SNAME= '王%';
C.SELECT * FROM S WHERE SNAME LIKE '王%';
D.SELECT * FROM S WHERE SNAME LIKE '王_';
B.SELECT * FROM S WHERE SNAME= '王_';
(32)检索“信息系”年龄在 20 岁以下的男生的姓名和年龄 。正确的 SQL 语句是( )。
A.SELECT * FROM S WHERE AGE<20 AND SEX IN ('男') AND DEPT IN ('信息系');
B.SELECT SNAME,AGE FROM S WHERE AGE<20 OR SEX='男' OR DEPT='信息系';
C.SELECT SNAME,AGE FROM S WHERE AGE<20 AND SEX=男 AND DEPT=信息系;
D.SELECT SNAME,AGE FROM S WHERE AGE<20 AND SEX='男' AND DEPT='信息系';
(33)检索张华同学选修的所有课程名和成绩,应使用关系( )。
A.S 和 SC
B.C 和 SC
C.S 和 C
D.S、C 和 SC
(34)统计“数据结构”这门课程的补考人数。正确的 SQL 语句是( )。
A.SELECT COUNT(*) FROM C,SC WHERE
CNAME='数据结构' AND C.CNO=SC.CNO AND GRADE<60;
B.SELECT COUNT(*) FROM C,SC WHERE CNAME='数据结构' AND GRADE<60;
C.SELECT CNAME,GRADE FROM C,SC WHERE CNAME='数据结构' AND GRADE<60;
D.SELECT SUM(*) FROM C,SC WHERE CNAME='数据结构' AND C.CNO=SC.CNO AND GRADE<60;
(35)检索选课人数少于 4 人的课程号。正确的 SQL 语句是( )。
A.SELECT CNO FROM SC WHERE COUNT(*)<4;
B.SELECT CNO FROM SC GROUP BY CNO HAVING COUNT(*)<4;
C.SELECT DISTINCT CNO FROM SC ORDER BY CNO;
D.SELECT CNO FROM SC WHERE COUNT(CNO)<4;
(36)将学生的学号及其所选课程的平均成绩定义一个视图。正确的 SQL 语句是( )。
A.CREATE VIEW SS AS SELECT SNO,AVG(GRADE) FROM SC;
B.CREATE VIEW SS AS SELECT SNO,AVG(GRADE) FROM SC GROUP BY SNO;
C.CREATE VIEW SS(SNO,AVERAGE) AS SELECT SNO,AVG(GRADE) FROM SC;
D.CREATE VIEW SS(SNO,AVERAGE) AS SELECT SNO,AVG(GRADE) FROM SC GROUP BY SNO;
(37)修改课程表 C,增加授课教师姓名 TA,数据类型为字符型。正确的 SQL 语句是( )。
A.ALTER TABLE C ADD TA CHAR(8); B.UPDATE C ADD TA CHAR(8);
C.ALTER TABLE C NEW TA CHAR(8); D.UPDATE C SET TA=CHAR(8);
(38)如果采用嵌套查询方式查询选修李修平老师授课的学生名单。正确的 SQL 语句是( )。
A.SELECT SNAME FROM S WHERE SNO IN
(SELECT SNO,CNO FROM SC,C WHERE TA='李修平' AND SC.CNO=C.CNO);
B.SELECT SNAME FROM S WHERE SNO IN
(SELECT SNO FROM SC WHERE CNO IN
(SELECT CNO FROM C WHERE TA='李修平'));
C.SELECT SNAME FROM S WHERE CNO IN
(SELECT CNO FROM C WHERE TA='李修平');
D.SELECT SNAME FROM S WHERE SNO IN
(SELECT SNO FROM SC,C WHERE TA='李修平' AND SC.SNO=S.SNO);
(39)在学生表 S 中增加一条记录。不正确的 SQL 语句是( )。
A.INSERT INTO S VALUES('1007','刘沙沙',21,'男','生物系');
B.INSERT INTO S(SNO,SNAME,DEPT) VALUES('1007','刘沙沙','生物系');
C.INSERT INTO S VALUES('1007','刘沙沙','生物系');
D.INSERT INTO S VALUES('1007','刘沙沙',NULL,NULL,'生物系');
☺ ▁▂▃▄▅▆▇ 5 ▇▆▅▄▃▂▁▁ ☺
数据库技术 DataBase Technology Happy You 【DBT】
(40)将学号为 1005 号学生的年龄改为 19 岁。正确的 SQL 语句是( )。
A.UPDATE S SET AGE=19 WHERE SNO='1005'; B.UPDATE AGE=19 FROM S WHERE SNO='1005';
C.ALTER TABLE S SET AGE=19 WHERE SNO='1005';
D.UPDATE TABLE S SET AGE=19 WHERE SNO='1005';
答案:C;D;D;A;B;D;A;B;C;A。
2.综合应用(共 30 分)
(1)算法填空(每空 3 分,共 12 分)
L 是一个带头结点的单链表,编写一个算法 Delete_Repeat,实现将 L 中值重复的结点删除。请将该
算法补充完整。提示:本算法的思路是先取单链表中第 1 个结点的值,将它与其后所有结点的值一一比较,
发现相同的就删除;然后再取第 2 个结点的值,重复上述过程直到最后一个结点。
void Delete_Repeat(LinkList &L)
{LNode *p,*q;q=L;
while( ① )
{ q=q->next!;
②
while(p->next!=NULL)
{ if (p->next->data==q->data) { ③ }
④
} } }
解答:① q->next!=NULL。② p=q;。③ p->next= p->next-> next;。
④ if (p->next!=NULL && p->next->data!=q->data ) p=p->next;。
(2)数据库设计(共 18 分)
设某商业集团数据库中有 3 个实体集,一是“商店”实体集,属性有商店号、商店名、地址等;二是
“商品”实体集,属性有商品号、商品名、规格、单价等;三是“员工”实体集,属性有工号、姓名、性
别、生日、业绩等。
商店和员工之间存在聘用联系:每个商店聘用多名员工、每个员工只能在一个商店工作;商店聘用员
工有聘期和工资。
商店和商品之间存在销售联系:每个商店销售多种商品、每种商品可以在多个商店销售;每个商店销
售的每种商品有月销售额。
请完成以下任务:
(1)设计满足上述要求的 E-R 图。(6 分)
(2)将该 E-R 图转换成关系模式,并指出每一个关系的主码和外码。(8 分)
商品
商品名
商品号
(3)写出创建“员工”关系模式对应的基本表的 T-SQL 语句。(4 分)
解答:(1)E-R 图如图 6.2 所示。
月销售额
商店号
商店名
地
工资
姓名
性别
生日
规格
单价
业绩
聘限
工号
职工
销售
商店
聘用
图 6.2 E-R 图
☺ ▁▂▃▄▅▆▇ 6 ▇▆▅▄▃▂▁▁ ☺
数据库技术 DataBase Technology Happy You 【DBT】
(2)关系模式如下(下划线部分为主码):
商店(商店号,商店名,地址)。
商品(商品号,商品名,规格,单价)。
销售(商店号,商品号,月销售额);外码:商店号、商品号。
员工(工号,姓名,性别,出生年月,业绩,商店号,聘期,工资);外码:商店号。
(3)CREATE TABLE 员工(工号 CHAR(6) PRIMARY KEY,姓名 CHAR(8),性别 CHAR(2),
生日 DATE,业绩 INT,商店号 CHAR(6),工资 INT,聘期 INT,
FOREIGN KEY (商店号) REFERENCES 商店(商店号));。
☺ ▁▂▃▄▅▆▇ 7 ▇▆▅▄▃▂▁▁ ☺
数据库技术 DataBase Technology Happy
You 【DBT】
2009 年春浙江省高等学校
计算机等级考试试卷(三级 数据库技术及应用)
说明:(1)考生应将所有试题的答案填写在答卷上;考试时间为 120 分钟。
(2)试题 1 为判断题,请在答卷上用 “√” 和 “×” 表示对和错。
(3)试题 2 为选择题,请在答卷上的各小题选项的对应位置上填“√”。
试题 1 判断题 用√和×表示对和错(每小题 1 分,共 10 分)
1.数据结构主要研究数据元素及其关系和施加在数据上的运算实现。
2.从逻辑上可以把数据结构分为线性结构和非线性结构。
3.算法分析的目的是找出高效的算法,为此,算法时间效率分析是算法分析中最重要而且
(1)
(2)
y
y
是唯一要考虑的因素。
x (3)
4.在决定选取何种存储结构时,一般要考虑结点的取值和结点之间的关系。 x (4)
5.顺序表可随机访问任一结点,链表可顺序存储,所以也可随机访问。
x (5)
6.同一个关系模型的任意两个元组值不能全同。
y (6)
7.在关系代数运算中,从关系中取出满足条件的元组的运算称为选择运算。 y (7)
8.对关系模式来说,范式级别越高,实际应用效果越好。
x (8)
9.SQL 中 LIKE 子句可以使用三个字符串匹配的通配符(“*”、“%”、“_”) x (9)
x (10)
10.模式/内模式为数据库提供了逻辑数据独立性。
试题 2 选择题(每小题 2 分,共 40 分)
1.数据结构是相互之间存在的一种或多种特定关系的(1) 的集合。
C.数据对象
D.数据映像
2.对给出的一组关键字{14,5,17,20,11,19}.若按关键字非递减排序,第 1 趟排序结果为
A.数据元素√
B.数据项
{14,5,17,20,11,19},问采用的排序算法是 (2) 。
A.简单选择排序
C.希尔排序√
3.带头结点的单链表 head 为空的判定条件是 (3) 。(不带--A)
B.快速排序
D.二路归并排序
A.head==Null
C.head->next==head
B.head->next==Null√
D.head!=Null
4.某实际应用中最常用的操作是取第 i 个结点及其前驱,则采用(4)存储方式最节省时间。
A.单链表
B.双链表
C.单循环链表
D.顺序表√
5.在一个循环双向链表的 p 所指结点之前插入 s 所指结点的操作是 (5) 。
A.p->prior=s; s->next=p; p->prior->next=s; s->prior=p->prior
B.p->prior=s; p->prior->next=s; s->next=p; s->prior=p->prior
C.s->next=p; s->prior=p->prior; p->prior=s; p->right->next=s;
D.s->next=p; s->prior=p->prior; p->prior->next=s; p->prior=s; √
6.在一个包含 n 个结点的有序单链表中插入一个新结点并仍保持有序的时间复杂度是(6) 。
A.O(n) √ B.O(1)
C.O(nlog2n)
D.O(n2)
7.已知某二叉树先序序列为:ABDEGHCF,中序序列为 DBGEHAFC, 则该二叉树的子树
B 有 (7)个右子女。
A.5
B.4
C.3√
D.2
☺ ▁▂▃▄▅▆▇ 8 ▇▆▅▄▃▂▁▁ ☺