当前位置:文档之家› 本科数据库考试试题

本科数据库考试试题

安徽三联学院2010-2011学年度第二学期《数据库原理及应用》期终考试试卷(A卷)系别:专业:班级:姓名:学号:题号一二三四五六总分得分一、选择题(每小题2分,共20分)请将选择题答案写在下列表格中,写在其它地方计为零分。

1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 201.在SQL语言中PRIMARY KEY 的作用是()A. 定义主码B. 定义外部码C. 定义处部码的参照表D. 确定主码类型2.在SQL中,建立视图用的命令是 ( ) 。

A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX 3.在书店的"销售"表中,定义了:书名,作者号,出版社号,价格等属性,其主键应是()A.书号B. 作者号C. 出版社号D. 书号,作者号4.在SQL语言中,修改数据库对象的结构时,应使用的命令是()A. UPDATEB. INSERTC. ALTERD. MODIFY5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( )A.多对多B.一对一C.多对一D.一对多6.SQL中,聚合函数SUM(列名)用于()A.对数值型列中的值求和 B. 计算属性的个数C.对一列中的非空值计算个数 D.对一列中的非空值和空值计算个数7.数据库触发器用于定义()A. 安全性控制B. 完整性约束条件C. 数据存取范围D. 死锁的处理方法8.模式查找like '_a%',下面( )是可能的。

A. ailiB. baiC. bbaa9.SQL语言集数据查询、数据操作、数据定义、和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现下列哪类功能()。

A.数据查询 B.数据操纵C.数据定义 D.数据控制10.在SQL中,SELECT语句的“SELECT DISTINCT”表示查询结果中 ( )A.属性名都不相同B.去掉了重复的列C.行都不相同D.属性值都不相同11.调用一个名为fn1的内嵌表值函数,正确的方法是( )。

A. select * from 表名B. select fn1 from表名C. select * from fn1D. select fn1 from *12.触发器创建在( )中。

A. 表B. 存储过程C. 数据库D. 查询13. create procedure是用来创建( )的语句。

A. 程序B. 存储过程C. 触发器D. 函数14.以下触发器是当对[表1]进行( )操作时触发。

create trigger abc on 表1for insert, update, deleteas ……A. 只修改B. 只插入C. 只删除D. 插入、修改、删除15.要删除一个名为A1的存储过程,应用命令:( )procedure A1。

A. deleteB. alterC. dropD. execute16.触发器可引用视图或临时表,并产生两个特殊的表是( )。

A. deleted、insertedB. delete、insertC. view、tableD. view1,table117.执行带参数的存储过程,正确的方法为( )。

A. 存储过程名(参数)B. 存储过程名参数C. 存储过程名=参数D. A,B,C三种都可以18.当要将一个函数执行的结果返回给一个整型变量时,不正确的方法为( )。

A. 函数名(@整型变量)B. 函数名 @整型变量C. 函数名=@整型变量D. @整型变量=函数名19.当删除( )时,与它关联的触发器也同时被删除。

A. 视图B. 临时表C. 过程D. 表20.计算2009年2月12日与2010年8月8日之间的天数差,应使用哪个函数?A. DateAddB. DateDiffC. DayD. Month二、填空题(每空1分,共20分)1.SQL语言中,用于创建存储过程的语句是__create procedure____。

2.系统数据库文件有__master 、_model__、_msdb_和tempdb数据库。

3.在关系模型中,表的行称为元组,列称为__属性____。

4.用树型结构表示实体类型及实体间联系的数据模型称为_层次模型_。

5.关系模型的完整性约束有域完整性,实体完整性、参照完整性和用户自定义完整性。

6.SQL Server 2000局部变量名字必须以_@_开头,而全局变量名字必须以__@@开头。

7.SQL Server 2000数据库中的所有数据和对象都存储在文件中。

这些文件有3种,分别是:主文件(扩展名为.mdf )、次要文件(扩展名为.ndf )和事务日志文件(扩展名为.ldf)。

8.视图是由一个或多个数据表(基本表)或视图导出的_虚拟_表。

9.要调用自定义函数,要在调用的时候指明函数的_拥有者_和函数的_名称_,标量函数的函数名出现在select子句中,内嵌表值函数的函数名出现在_from子句中。

10.触发器定义在一个表中,当在表中执行插入、修改_、_删除_操作时被触发自动执行。

11.程序设计题(共60分)12.现有关系数据库如下:13.数据库名:学生成绩管理数据库学生表(学号,姓名,性别,民族,出生日期)课程表(课程号,课程名称,学时)学习表(学号,课程号,成绩)用SQL语言实现下列功能的sql语句代码:1、创建学生成绩管理数据库的语句。

(5分)create database 学生成绩数据库2、创建学生表,要求使用以下约束:主键约束、默认值(民族为‘汉族’)、非空(姓名)、检查(性别为‘男’、‘女’)(5分)Create table 学生表(学号 char(6) not null PRIMARY KEY,姓名 char(6) not null,性别 nchar(1) check(性别 in ('男', '女')),民族 nchar(8) default '汉族' not null)3、创建学习表,要求设置主键约束和外键约束。

(5分)Create table 学习表(学号 char(6) not null PRIMARY KEY,课程号char(10) not null foreign key REFERENCES 课程表(课程号),)14.课程表里现有数据如下:课号课程名称学时100001 SQL Server数据库 48100002 VB程序设计 64100003 网络技术基础 80请写出如下修改语句的代码:1、将课程号为100002的课程名称修改为Visual Basic程序设计。

(5分)UPDATE 课程表 SET 课程名称 = 'VB程序设计' WHERE 课号 = '100002'2、将课程号为100003的课程信息删除。

(5分)DELETE FROM 课程表 WHERE 课程号 = '100002'1.创建一名称为“学生成绩”的视图:(学号,姓名,课程名称,成绩);(5分) create view 学生成绩asselect 学号,姓名,课程名称,成绩 from 学生成绩2.查询所有姓王的且成绩在90分以上的学生的学号、姓名、课程号和成绩(5分)SELECT 学号,姓名,课程号,成绩FROM 学生成绩WHERE 姓名 LIKE '王%'AND 成绩>903.查询每个学生所选修课程的平均成绩,显示学号和平均成绩;(5分)select 学号,平均成绩from 学生成绩where(SELECT 课程号 From 学生成绩)4.编写一个自定义函数—-计算年龄,根据出生日期计算年龄,并调用该函数计算1990年1月1日出生的人的年龄。

(10 分)alter FUNCTION age(@x datetime)RETURNS intASBEGINRETURN(datediff(yy,@x,getdate())ENDprint dbo.age('1990-1-1')5.创建一个带参数的存储过程:[查询某老师带过的学生],通过输入老师姓名,查询某某老师带过的学生的姓名、老师姓名、成绩的存储过程。

并带参数,执行该存储过程查询杜老师带过的学生。

(10 分)Create PROCEDURE 查询某老师带过的学生SELECT 学生姓名,老师姓名,成绩FROM 学生成绩表Where 老师姓名='杜老师'。

相关主题