数据库考试试题.doc_第1页
数据库考试试题.doc_第2页
数据库考试试题.doc_第3页
数据库考试试题.doc_第4页
数据库考试试题.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统原理与应用(SQL Server 2005)试题一(附有答案)一、单项选择题(每小题1分,共10分)1.下列四项中,不属于SQL2005实用程序的是( )。ASSMSB.查询分析器C.服务管理器D.媒体播放器2. SQL Server安装程序创建4个系统数据库,下列哪个不是( )。AmasterBmodelCpub D. msdb3. 下列哪个不是数据库对象( )。A数据模型B视图 C表D用户4. 下列哪个不是sql 数据库文件的后缀。A.mdfB.ldfC.tifD.ndf5. 在SQL中,建立表用的命令是 ( )。A.CREATE TABLEB.CREATE RULEC.CREATE VIEWD.CREATE INDEX6. SQL语言中,条件“年龄BETWEEN 40 AND 50”表示年龄在40至50之间,且( )。A.包括40岁和50岁B.不包括40岁和50岁C.包括40岁但不包括50岁D.包括50岁但不包括40岁7. 模式查找like _a%,下面哪个结果是可能的A.ailiB. baiC.bbaD.cca8. 在MS SQL Server中,用来显示数据库信息的系统存储过程是( )。A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb9. SQL语言中,删除记录的命令是( )。A. DELETEB. DROPC. CLEARD. REMOVE10.SQL的视图是从( )中导出的。A基本表B. 视图 C. 基本表或视图D. 数据库二、判断题(每空1分,共10分) 1. xingming 是SQL中的字符串常量吗? 2. 11.9 是SQL中的实型常量吗? 3. 语句 select 22%4, 的执行结果是: 0 吗? 4. 2005.11.09 是SQL中的日期型常量吗? 5. ¥2005.89 是SQL中的货币型常量吗? 6. 语句 select 15/2 的执行结果是: 7.5 吗?7. ABCD 比较运算的结果为真吗?8. bigint是SQL的数据类型吗? 9. 设置惟一约束的列可以为空吗? 10.一个表可以创建多个主键吗?三、填空题(每空1分,共20分)1. 关系数据库关系运算_、_和_。2. SQL Server 2005局部变量名字必须以_开头,而全局变量名字必须以_开头。3. 语句 select ascii(D)的执行结果是: _。4. 语句 select upper(beautiful) , ltrim ( 我心中的太阳) 的执行结果是: _和_。5. 表或视图的操作权限有_、_、_、_和dri。 6. 选择运算是根据某些条件对关系做_分割;投影是根据某些条件对关系做_分割。7. SQL Server代理主要由_、_和警报来组成。8. 数据完整性的类型有_完整性、_完整性、_完整性和_完整性。四、简述题(每小题5分,共10分)1.有学生成绩表,要保证每个学生的每门课程惟一标识的话考虑使用数据完整性方法。2.简述数据完整性的类型以及如何确定使用哪个强制方法。五、设计题(共50分) 现有关系数据库如下: 数据库名:教师数据库教师表(编号 char(6),姓名,性别,民族,职称,身份证号) 课程表(课号 char(6),名称) 任课表(ID,教师编号,课号,课时数) 用SQL语言实现下列功能的sql语句代码:1.创建上述三表的建库、建表代码(14分); 要求使用:主键(教师表.编号,课程表.课号)、外键(任课表.教师编号,任课表.课号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别、课时数),自动编号(ID)2.将下列课程信息添加到课程表的代码(6分) 课号 课程名称 100001 SQL Server数据库 100002 数据结构 100003 VB程序设计 修改 课号为100003的课程名称:Visual Basic程序设计 删除 课号为100003的课程信息 3.写出创建任课表视图(教师编号,姓名,课号,课程名称,课时数)的代码;(4分)4.写出创建某门课任课教师内嵌表值函数以及检索的代码;(6分) 检索:所有代SQL Server数据库这门课程的老师姓名;5.写出创建统计课时数:输出最大课时数、最低课时数、平均课时的存储过程以及执行代码;(6分)6. 写出创建:计算某教师代课总课时,并将值返回的存储过程以及执行代码。(6分)执行:计算“郭老师”的总课时。(6分)7.检索有一门或一门以上课程课时数大于90的所有教师的信息,包括编号、姓名。(4分)8.建一个规则,并将其绑定到教师表的职称列上,规定取值为(教授,副教授,讲师, 助教)之一。(4分)参考答案一、1.D 2.C 3.A 4.C 5.A 6.A 7.B 8.D 9.A 10.C 二、1. N 2.N 3.N 4.N 5.N 6.N 7. N 8.Y 9.Y 10.N三、1. 选择、投影、连接2. 、3. 684. BEAUTIFAL、我心中的太阳5. select、insert、update、delete6. 水平、垂直7. 作业、操作员8. 实体、域、参照、用户自定义四、简述题1.将每个学生的学号和课程号定义为复合主键这样才能保证每个学生的每门课程惟一。2.要点:(1)域完整性:使用DEFAULT (默认值)、DEFAULT(默认技术)、CHECK(检查)、RULE (规则技术)的方法指定某列可接受值的范围或模式(2)实体完整性:使用PRIMARY KEY(主键)、UNIQUE(惟一键)、IDENTITY(标识列)来确保行的惟一性(3)参照完整性:使用FOREIGN KEY(外键)保证列与参照列的一致性五、设计题1.create database 教师数据库 -(2分)use 教师数据库gocreate table 教师表 -(6分)(编号 char(6) primary key,姓名 nchar(4) not null,性别 nchar(1) check(性别 in (男, 女),民族 nchar(8) default 汉族 not null,职称 nchar(12),身份证号 char(18) unique) create table 课程表 -(2分)(课号 char(6) primary key,名称 char(40) not null) create table 任课表 -(4分)(ID IDENTITY(1, 1), 教师编号 char(6) references 学生表(学号),课号 char(6) references 课程表(课号),课时数 integer check(课时数 between 0 and 200) 2.insert 课程表 values(100001, SQL Server数据库) insert 课程表 values(100002, 数据结构)insert 课程表 values(100003, VB程序设计)update 课程表 set 名称=Visual Basic程序设计 where 课号=100003delete 课程表 where 课号=1000033.create view 任课表视图 asselect 教师编号,姓名,课号, 课程名称,课时数 from 教师表,任课表where 教师表.编号=任课表.教师编号4. create function 某门课任课教师(课程名 varchar(15)returns table asreturn (select 课程名称, 课时数, 教师姓名=姓名 from 任课表视图where 课程名=课程名)goselect * from 某门课任课教师(SQL Server数据库)5.create procedure 统计课时数 asselect 最大课时数=max(课时) ,最小课时数=min(课时),平均课时数=avg(课时) from 任课表goexecute 统计课时6.create procedure 统计课时 教师名 nchar(16),asbegin declare 总课时 int select 总课时=sum (课时) from 任课表视图 where 姓名 = 教师名 endgoexecute 统计课时 郭老师7. select 编号, 姓名 from 教师表where编号 in (select distinct 教师编号 from 任课表 where课时数=90)8.create rule zhicheng _ruleas zhicheng in (教授,副教授,讲师, 助教)gosp_bindrule zhicheng_rule, 教师表.职称数据库系统原理与应用(SQL Server 2005)试题二一、单项选择题(每小题1分,共10分)1数据库应用系统是由数据库、数据库管理系统(及其开发工具)、应用系统、( )和用户构成。ADBMSBDBCDBSDDBA2数据库管理系统的英文缩写是( )。ADBMSBDBSCDBADDB3在关系运算中,选取符合条件的元组是( )运算。A除法B投影C连接D选择4数据库设计中的逻辑结构设计的任务是把( )阶段产生的概念数据库模式变换为逻辑结构的数据库模式。A需求分析B物理设计C逻辑结构设计D概念结构设计5一个规范化的关系至少应当满足( )的要求。A一范式B二范式C三范式D四范式6在实际数据库设计中,“学号”通常作为( )存在。A数据结构B数据存储C数据项目D处理过程7SQL Server 2005中删除表中记录的命令是( )。ADELETEBSELECTCUPDATEDDROP 8运行命令SELECT ASCII(Alklk) 的结果是( )。A48B32C90D65 9在SQL中,建立视图用的命令是 ( )。A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX10在MS SQL Server中,用来显示数据库信息的系统存储过程是( )。A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb二、判断题(每空1分,共10分)1连接、选择和投影三种关系运算具有相同的结果。2数据的安全性主要防范的对象是合法用户。3. 数据库设计前只需选择数据库分析设计人员。4. 恢复是利用冗余数据来重建数据库。5定义外键级级联是为了保证相关表之间数据的一致性吗?6创建唯一性索引的列可以有一些重复的值?7存储过程的输出结果可以传递给一个变量。8视图具有与表相同的功能,在视图上也可以创建触发器。9能在游标中删除数据记录。10SQL Server 2005不具有数据的导入与导出功能。三、填空题(每空1分,共20分)1数据库三个要素是_、_和_。 2. 语句 select year(1931-9-18) 的执行结果是_。3_是指保证指定列的数据具有正确的数据类型、格式和有效的数据范围。4_是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。5事务(Transaction)可以看成是由对数据库的若干操作组成的一个单元,这些操作要么_,要么_(如果在操作执行过程中不能完成其中任一操作)。6. SQL Server 2005 采用的身份验证模式有_模式和_模式。7用户访问SQL Server数据库时,经过了两个_验证和_验证安全验证阶段。8SQL Server 2005提供的数据库备份方法有_数据库备份和_数据库备份、_备份和_备份。9SQL Server代理主要由_、_和警报来组成。10SQL Server复制把服务器分为_服务器、_服务器和订阅服务器三种。四、简述题(每小题5分,共20分)1. 试述关系的含义和性质。(7分)2 什么是事务?(6分)3. 事务控制语句的使用方法是什么?(7分)五、设计题(16题每空2分,第7题10分,共40分) 1计算1+2+3+100的和,并使用PRINT显示计算结果。DECLARE I int,sum int,csum char(10)SELECT I=1,sum=0WHILE I=_ BEGIN SELECT sum = _ SELECT I=I+1 END SELECT csum=convert(char(10),sum) _ 1+2+3+100= + csum2使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空。CREATE _ CLASS(CLASSNO _ (8) NOT NULL, DEPARTNO CHAR (2) NOT NULL, CLASSNAMECHAR (_) NOT NULL)3声明一个名为CRSCOURSE的游标,并利用游标遍历,显示整个结果集。USE XKDECLARE COUNO VARCHAR(3),COUNAME VARCHAR(20) _FOR SELECT COUNO,COUNAME FROM COURSE ORDER BY COUNO_FETCH NEXT FROM CRSCOURSE INTO COUNO,COUNAMEWHILE FETCH_STATUS=0BEGIN PRINT 课程号:+ COUNO +课程名称:+ CouName FETCH NEXT FROM CRSCOURSE INTO COUNO,COUNAME END_DEALLOCATE CRSCOURSSE4使用SQL语句在XK数据库中创建一个名为V_STUDENT的视图,该视图仅查看“STUDENT”表中“00电子商务”班的学生信息。USE XKCREATE _ V_STUDENTASSELECT *FROM _WHERE CLASSNO=20050001 5使用SQL语句在XK数据库中创建一个名为P_STUDENT的存储过程,该存储过程返回“STUDEND”表中所有班级代码为200500001的记录。USE XKCREATE _ P_STUDENTASSELECT *_ STUDENTWHERE CLASSNO=200500016创建触发器TEST,要求每当在STUDENT表中修改数据时,将向客户端显示一条“记录已修改”的消息。USE XK_ ON STUDENT _ ASPRINT 记录已修改7定义事务向学生数据库的选课表中插入学号=20030021的多条记录,并检验若报名课程超过4门,则回滚事务,即报名无效,否则成功提交。选课表(学号,课号,报名号)假设要插入的记录为以下三条:20030021,01,1 20030021,02,2 20030021,03,3根据以上要求编写程序,并指出本题定义的事务是否成功提交。参考答案一、单项选择题1D 2A3D4D5C6C7D8D9C10D二、判断题1N 2N3N4Y5Y6N7Y8N9Y 10N三、填空题1数据结构、数据操作、完整性约束219313域完整性4触发器5都完成、都取消6Windows身份验证、混合7身份、权限8完整、差异、事务日志、文件和文件组9操作员、作业10发布、分发四、简述题1关系是笛卡尔积的有意义的子集,用二维表格表示;关系的性质如下:关系表中的每一列都是不可再分的基本属性;表中的各属性不能重名;表中的行、列次序不分前后;表中的任意两行不能完全相同。2事务(Transaction)可以看成是由对数据库若干操作组成的一个单元,这些操作要么都完成,要么都取消(如果在操作执行过程中不能完成其中任一操作)。在SQL Server 2005中,事务是由一条或者多条Transact-SQL语句组成的一个工作单元,这些语句要么都正常执行,要么如果有其中任意一条语句执行失败被取消的话,这些语句的执行都被取消。SQL利用事务机制保证数据修改的一致性,并且在系统出错时确保数据的可恢复性。3事务控制语句的使用方法begin transaction - A组语句序列save transaction 保存点1 - B组语句序列if error 0 rollback transaction 保存点1 -回滚到:保存点1else commit transaction -提交A组语句,同时如果未回滚B组语句则提交B组语句。五、设计题1100 sum+i print2table char 203Declare crscourse cursoropen crscourseclose crscourse4viewstudent5procedurefrom6Alter trigger testfor update7 Use 学生Begin transactionInsert 选课表(学号,课程号,报名号) values(20030021,01,1) Insert 选课表(学号,课程号,报名号) values(20030021,02,2) Insert 选课表(学号,课程号,报名号) values(20030021,03,3) Declare num intSet num=(select count(*) from 选课表 where 学号=20030021)If num4begin Rollback transaction Print 超过报名门数!endElseBegin Commit transactionPrint 报名成功!endgo本题定义的事务成功提交。数据库系统原理与应用(SQL Server 2005)试题三一、单项选择题(每小题1分,共10分)1( )是被长期存放在计算机内的、有组织的、统一管理的相关数据的集合。ADATA BINFORMATION CDB DDBS2需求分析的主要方法是( )。A自顶向下 B自底向上 C从左到右 D混合策略3在关系运算中,选取符合条件的元组是( )运算。A除法 B投影 C连接 D选择4.关系数据库的规范化理论指出,关系数据库中的关系应满足一定的要求,最起码的要求是达到1NF,既满足( )。A主关键字唯一标识表中的每一行B关系中的行不允许重复C每个非关键字列都完全依赖于主关键字D每个属性都有是不可再分的基本数据项5SQL Server 2005中表查询的命令是( )。A. USE BSELECT CUPDATE DDROP6SQL Server 2005中表更新数据的命令是( )。AUSE BSELECT CUPDATE DDROP 7在SQL Server 2005中,下列变量名正确的是( )。Asum Bj Csum D4kk 8建立索引的目的是( )。A降低SQL Server数据检索的速度B与SQL Server数据检索的速度无关C加快数据库的打开速度D提高SQL Server数据检索的速度9用于求系统日期的函数是( )。AYEAR() BGETDATE() CCOUNT() DSUM()10向用户授予操作权限的SQL语句是( )。ACTEATE BREVOKE CSELECT DGRANT二、判断题(每空1分,共10分)1数据的完整性主要防范的对象是非法用户。2概念结构设计的工具是ER模型。3写程序不属于数据库的模式设计阶段。4设计好的数据库管理系统在投入使用后出现问题由使用方负责。5规则必须使用一次就必须定义一次。 6缺省情况下,所创建的索引是非聚集索引?7自定义函数在对任何表的查询中都可以使用。 8触发器是可在程序中被调用执行。 9游标中可发插入数据记录。 10sa能否创建和删除数据库角色?三、填空题(每空1分,共20分)1SQL语言主要由_、_和数据控制语言(DCL)组成。2.SQL Server 2005采用的身份验证模式有Windows身份验证模式和_模式。3.语句 SELECT (7+3)*4-17/(4-(8-6)+99%4 的执行结果是_。4. _是由一个或多个数据表(基本表)或视图导出的虚拟表。5._用于保证数据库中数据表的每一个特定实体的记录都是惟一的。6.索引的类型有_和非聚集索引。7._是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语句。8.触发器定义在一个表中,当在表中执行_、_或delete操作时被触发自动执行。9.事务的ACID属性是指_性、_性、_性和_性。10.数据库管理系统的安全性通常包括两个方面,一是指数据_的安全性,二是指数据_的安全性。11.SQL Server代理主要由_、操作员和_来组成。12.SQL Server复制有快照复制、_复制和_复制3种类型。四、简述题(每小题5分,共20分)简述数据库设计过程中需求分析、概念结构设计、逻辑结构设计各个阶段所要完成的任务。2存储过程与触发器有什么不同?3什么是游标?4什么是事务?五、设计题(每小题5分,共40分) 现有关系数据库如下: 数据库名:学生成绩数据库学生表(*学号,姓名,性别,民族) 课程表(*课程号,课程名称,任课教师) 成绩表(*学号,*课程号,分数)用SQL语言实现下列功能的sql语句代码:1创建数据库学生成绩数据库代码(2分);2.创建课程表代码(2分); 课程表(课号 char(6),名称) 要求使用:主键(课号)、非空(名称)3.创建学生表代码(2分); 学生表(学号 char(6),姓名,性别,民族) 要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、检查(性别)4.创建成绩表代码(2分); 成绩表(学号,课程号,分数) 要求使用:外键(成绩表.学号,成绩表.课程号)、检查(分数)5.将下列课程信息添加到课程表中 课号 课程名称 100001 大学语文 100002 大学英语6.写出创建成绩表视图(学号,姓名,课程号,课程名称,成绩)的代码;7.写出创建分数存储过程用于计算某门课程成绩最高分、最低分、平均分8.检索姓李的女同学的信息:姓名、性别、民族。9.设置SQL身份验证的账户: 登录名:U领导密码:888数据库用户名:U读者权限:可查询查询本数据库中所有表的数据。10 定义一事务向成绩表中插入学号=20030021的多条记录,并检验若该同学成绩超过4门,则回滚事务,即成绩无效,否则成功提交。参考答案一、单项选择题1C 2A3D 4D5B6C7A8D9B10D二、判断题1N 2Y3Y4N5N6Y7Y8N9N 10Y三、填空题1数据定义语言(DDL)、数据操作语言(DML)2混合3354视图5实体完整性6聚集索引7存储过程8insert、update9原子、一致、独立、持久10访问、运行11作业、警报12事务、合并四、简述题1需求分析阶段的主要任务是通过调查,了解原系统的工作概况,明确用户的各种需求,收集支持系统目标的基础数据及其处理方法,概念结构设计的主要任务是对需求分析的结果进行综合、归纳,从而形成一个独立于具体数据库管理系统的概念数据模型。逻辑结构设计阶段的主要任务是将概念结构设计的结果转换为某个具体的数据库管理系统所支持的结构数据模型,并对其进行优化。2答:触发器是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。触发器主要通过事件进行触发而被执行,触发器不能直接调用执行,也不能被传送和接受参数,而存储过程可以通过存储过程名被直接调用。触发器与表有关,存储过程与表无关。 3答: 游标是允许用户能够从select语句查询的结果集中,逐条逐行地访问记录,可以按照自己的意愿逐行地显示、修改或删除这些记录的数据访问处理机制。 4答:事务(Transaction)可以看成是由对数据库的若干操作组成的一个单元,如果这些操作在执行过程中任何一条操作不能正常完成的话,就取消单元中的所有操作,要么单元中的所有操作都正常完成。五、设计题1create database 学生成绩数据库 go use 学生成绩数据库 go2. create table课程表(课程号 char(6) primary key,课程名称 char(40) not

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论