《数据库原理与应⽤》期中测试问卷1《数据库原理与应⽤》期中测试问卷1
⼀、判断题(每题1分,共10分,正确的写,错误的写)
(1)现在应⽤最⼴泛且最重要的⼀种数据模型是⽹状模型。
(2)输⼊字符型数据时要⽤单引号或双引号将字符括起来。
(3)逻辑数据类型适合真、假场合判断,长度为⼀个字节,取值为“真”,“假”。
(4)系统存储过程是指由系统提供,主要存储在master数据库中并以sp_为
前缀。
(5)索引是对数据库表中⼀个或多个字段的值进⾏排序⽽创建的⼀种顺序存
储结构。
(6)视图可基于多表建⽴。
(7)GROUP BY ⼦句可以对查询结果分组,且必须要同HA VING联⽤。
(8)临时存储过程与临时表类似,⽤“##”前缀表是本地临时存储过程或是本
地临时表。
(9)IDENTITY(0,1)属性中,0为标识种⼦,1为标识增量。
(10)唯⼀索引只能建⼀个,聚集索引可以建多个。
⼆、选择题(每题2分,共30分,单项选择)
1.如果表S(A,B,C)中,设置A为主键,当向S表插⼊⼀⾏新数据时,该⾏
()。
A. A,B,C属性的值都可以与已有的⾏相同
B. A,B,C属性的值都不能与已有的⾏相同
C. A属性的值不能与已有的⾏相同,但允许为空
D. A属性的值不能与已有的⾏相同,也不能为空
2.有两个基本关系(表):学⽣(学号,姓名,系号),系(系号,系名,系
主任),学⽣表的主码为学号,系表的主码为系号,因⽽系号是学⽣表的()A.主码(主键) B.外码(外关键字) C.域 D.映像
3.关系数据库的数据及更新操作必须遵循完整性规则,包括()
A.实体完整性和参照完整性
B.参照完整性和⽤户⾃定义的完整性
C.实体完整性和⽤户⾃定义的完整性
D.实体完整性、参照完整性和⽤户⾃定义的完整性
4.数据库物理存储⽅式的描述称为()。
A.外模式
B.内模式
C.概念模式
D.逻辑模式
5.SQL Server的物理存储主要包括两类⽂件,它们是( )。
A. 图⽚⽂件和⽂本⽂件
B. 数据⽂件和事务⽇志⽂件
C. 函数⽂件和数据⽂件
D. 源⽂件和可执⾏⽂件
6.安装SQL SERVER后,数据库服务器已经⾃动建⽴4个系统数据库,()不是系统数据库。
A.master数据库
B.pubs数据库
D.msdb数据库
7.视图提⾼了数据库的()。
A. 安全性
B. 可靠性
C. 完整性
D. ⼀致性
8.在MS SQL Server 中,有表personnel (no,name,sex),其中no为主码。表中已有数据如下图所⽰:
下列语句中能够将数据正确插⼊的是﹝﹞
A.Insert into personnel Values (4,’赵风’,’男’)
B.Insert into personnel Values (8,’赵风’)
C.Insert into personnel (name,sex) Values (‘赵风’,’男’)
D.Insert into personnel (no,sex) Vaues (8,’男’)
9.关系数据库的关系要满⾜第⼀范式,部门(部门号,部门名,部门成员,
部门总经理)关系中,因()属性⽽使它不满⾜第⼀范式。
A. 部门经理
B. 部门名
C.部门成员
D. 部门号
10.设有⼀个关系:DEPT(DNO,DNAME),如果要出倒数第三个字母为
W,并且⾄少包含4个字母的DNAME,则查询条件⼦句应写成WHERE DNAME LIKE ( )
A. ‘_ _ W _ %’
B. ‘_ % W _ _’
C. ‘_ W _ _’
D. ‘_ W _ %’
11.对⼯资表(员⼯号,姓名,部门号,⽉薪)进⾏查询,列出属于D01号部门,
且⼯资⾼于所有D02号部门员⼯⼯资的员⼯信息,查询语句的WHERE ⼦句应使⽤( )。
A.部门号=‘D01’ AND ⽉薪>ANY (SELECT ⽉薪FROM 员⼯表
WHERE 部门号='D02')
B.部门号=‘D01’ AND ⽉薪>ALL (SELECT ⽉薪FROM 员⼯表
WHERE 部门号='D02')
C.部门号=‘D01’ AND ⽉薪>(SELECT ⽉薪FROM 员⼯表WHERE 部
门号='D02')
D.部门号=‘D01’ or ⽉薪>ALL(SELECT ⽉薪FROM 员⼯表WHERE
部门号='D02')
12.Create Unique Nonclustered Index writer_index On 作者信息(作者编号)
语句执⾏后,在作者信息表上创建了⼀个()索引。
A.惟⼀聚集索引
B.聚集索引
C.主键索引
D.唯⼀⾮聚集索引
13.参照完整性要求有关联的两个或两个以上表之间数据的⼀致性。参照完整
性可以通过建⽴()来实现
A.主键约束和唯⼀约束
B.主键约束和外键约束
C. 唯⼀约束和外键约束
D.以上都不是
14.有关系:教学(学号、班级号、班主任,班主任),⼀个学⽣只能
属于⼀个班级,⼀个班级只有⼀个班主任,⼀个班主任只有⼀个,那么该关系的主键是()。
A. 学号
B. 班级号
C. (学号,班级号)
D. (学号,班级号,班主任)
15.有关系:教师(编号,姓名,⽣⽇,职称),从关系中查询所有教师的姓名
和⽣⽇应使⽤()关系运算。
A.投影 B. 选择 C. 连接 D. 笛卡⼉积
三、填空题(共10分,每空1分)
(1)数据库的三级模式包括外模式、内模式和模式。
(2)SQL 按其实现功能可以将SQL 语⾔划分为:DDL、DML、DCL,其中
ALTER TABLE是_DDL_,DELETE是_DML_
(3)SELECT查询中,条件运算符LIKE对字符型数据进⾏字符串⽐较,提
供两种通配符,即下划线“_”和“%”,下划线表⽰_⼀个_字符,百分号
表⽰_0个或多个_字符。
(4)SQL语句中使⽤_is null_运算符判断字段值是否为空,使⽤_exists_
运算符测试⼦查询结果是否为空。
(5)SQL SERVER中可创建三种索引,即唯⼀索引,_聚集索引_,_主键索引
数据库原理及应用期末考试题_。
四、综合题(共40分)
1.(共5分)有关系模式R(U,F),属性集U={A,B,C,D,E},函数
依赖集合F={C->A, BC->D, D->E},请回答如下的问题:
(1) R最⾼属于第⼏范式? 说明理由;
R最⾼属于1NF,关系模式R的主码是(B,C),存在C->A部分函数依赖
(2) 请分解R为符合第三范式的关系模式集合,并给出每个关系的主码。
R1(B,C,D)主码是(B,C),
R2(C,A)主码是C,
R3(D,E)主码是D
2.(共35分)程序填空与程序设计题(共35分)
student数据库中有4个表:stu_info(学号,姓名,性别,年龄,系号)、department(系号,系名),curriculum(课程编号,课程名称,学分),grade(学号,课程编号,成绩)
(1)程序填空(每空1分,共17分)
1)完成以下代码,使⽤以下T-SQL创建数据库student,且主数据库⽂件名
为student_dat.mdf,存放在d盘database⽂件夹下。
CREATE DATABASE student
ON
( NAME=student,
FILENAME=’D:\database\student_dat.mdf’)
2)完成以下代码,使⽤以下T-SQL在student数据库中先创建stu_info表,
之后向表中添加主键约束,向表性别列中添加默认(男)约束。CREATE TABLE stu_info(
学号char(10) not null,
姓名char(8) not null,
性别char(2) not null,
年龄int not null,
系号char(3))
--向stu_info表中添加主键
alter table stu_info
ADD CONSTRAINT pk_num primary key (学号)
--向stu_info表中添加默认约束
alter table stu_info
ADD default ‘男’ FOR (性别)
3)完成以下代码,使⽤以下T-SQL在student数据库中grade表,将学号和
课程编号设置为主键,成绩取值范围为0~100,将学号设置为外键约束,此学号关联于stu_info表中学号。CREATE TABLE grade(
学号char(10) not null,
课程编号char(6) not null,
成绩int,
CONSTRAINT pk_s PRIMARY KEY (学号,课程编号), CONSTRAINT chk_score CHECK 成绩between 0 and 100, CONSTRAINT fk_stinfo FOREIGN KEY 学号REFERENCES stu_info(学号) )
4)以下代码创建视图view1,查询学⽣选修课程情况,显⽰学号,姓名,
课程编号,课程名称,成绩。
CREATE VIEW view1
AS
SELECT stu_info.学号,姓名,currilum.课程编号,课程名称,成绩
FROM stu_info,currilum,grade
WHERE stu_info.学号=grade.学号and curriculum.课程编号=grade.课程编号
--删除视图view1
drop view view1
5)将stu_info 表中姓名列创建唯⼀⾮聚集索引,索引名称为stu_uqn
CREATE unique nonclustered
INDEX stu_uqn
ON stu_info(姓名)
--利⽤系统存储过程sp_rename为stu_uqn更名为stu_qn
sp_rename ‘stu_info.stu_uqn’, ‘stu_qn’
6)使⽤T-SQL语句删除student数据库
drop database Student
(2)⽤SQL语句完成如下题⽬(共18分)
1)向stu_info表增加⼀条数据,(004,张三,男,16)(2分)
insert into stu_info(学号,姓名,性别,年龄)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论