当前位置:文档之家› 《SQL数据库管理与开发》试题3

《SQL数据库管理与开发》试题3

《SQL数据库管理与开发教程与实训》试题一、单项选择题(每小题1分,共10分)1. 下列四项中,不属于数据库特点的是( )。

A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2. 反映现实世界中实体及实体间联系的信息模型是( )。

A.关系模型B.层次模型C.网状模型D.E-R模型3. 下列四项中,不正确的提法是( )。

A.SQL语言是关系数据库的国际标准语言B.SQL语言具有数据定义、查询、操纵和控制功能C.SQL语言可以自动实现关系数据库的规范化D.SQL语言称为结构查询语言4. 在SQL中,SELECT语句的"SELECT DISTINCT"表示查询结果中 ( )A.属性名都不相同B.去掉了重复的列C.行都不相同D.属性值都不相同5.在数据操作语言(DML)的基本功能中,不包括的是 ( )A.插入新数据B.描述数据库结构C.修改数据D.删除数据6. 在采用客户机/服务器体系结构的数据库应用系统中,应该将用户应用程序安装在( )A.客户机端B.服务器端C.终端D.系统端7、实体型学生与任课教师之间具有()联系。

A 一对一B 一对多C 多对一D 多对多8. 数据库系统的日志文件用于记录下述哪类内容()A) 程序运行过程B) 数据查询操作C) 程序执行结果D) 数据更新操作9. 数据库管理系统的英文缩写是()。

A.DB B.DBSC.DBA D.DBMS10. SQL语言中,删除一个表的命令是( )A. DELETEB. DROPC. CLEARD. REMOVE二、判断题(每空1分,共10分)1. 在查询分析器中执行SQL语句的快捷键是F1。

2. 计算ASCII('also')结果为97。

3. UNION运算符是用于将两个或多个检索结果合并成一个结果。

4. 在事务中包含create database语句吗?5. Lock权限不是数据库的访问权限。

6. 数据库管理系统管理并且控制数据资源的使用。

7. '李白'>'杜甫' 比较运算的结果为真吗?8. 在事务中包含create database语句吗?9. SQL Server有数据导入功能但没有数据导出功能。

10. SQL Server的角色与windows NT的组含义相似。

三、填空题(每空1分,共20分)1.SQL Server 2000最常用的四个工具是__________、__________、__________和联机帮助。

2.SQL Server 2000四个系统数据库是__________、__________、__________和tempdb。

3.Transact-SQL语言主要由__________语言、__________语言、__________语言和一些附加的语言元素等部分组成。

4.数据定义语言是指用来创建、修改和删除各种对象的语句是__________、__________和__________。

5.数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括select、__________、__________和__________。

6.数据控制语言是用于控制对数据库对象的权限的 SQL 语句,授权、拒绝和撤销访问数据库对象权限的语句是__________、__________和__________。

7. 语句 select char(68), len('你是BigTiger ') 的执行结果是: ______ ___和_________。

四、简述题(每小题5分,共10分)1. 试述关系的性质。

2. 数据库系统的特点有哪些?五、设计题(共50分)现有关系数据库如下:数据库名:学生选课数据库学生表(学号,姓名,性别,年龄,专业)课程表(课程号,课程名,学分,先行课程号)选课表(ID, 学号,课程号,分数)用SQL语言实现下列功能的sql语句代码:1. 创建数据库[学生选课数据库]代码(2分);2. 创建[课程表]代码(2分);课程表(课程号 char(6),课程名,学分,先行课程号)要求使用:主键(课程号)、非空(课程名, 学分)3. 创建[学生表]代码(6分);学生表(学号 char(6),姓名,性别,年龄,专业)要求使用:主键(学号)、非空(姓名,专业)、检查(性别)4. 创建[选课表]代码(4分);选课表(ID,学号,课号,分数)要求使用:外键(选课表.学号,选课表.课程号)、检查(分数),自动编号(ID)5. 将下列课程信息添加到课程表的代码(8分)课程号课程名学分先行课程号100001 C语言 2100002 数据结构 2 100001100003 数据库原理 2修改课程号为100003的课程名:SQL数据库删除课程号为100002的课程信息6. 写出创建:选课表视图(学号,姓名,课程号,课程名,学分,分数)的代码;(4分)7. 写出创建:某门课程成绩内嵌表值函数以及检索的代码;(6分)检索:所有修 SQL数据库这门学生的成绩;8. 写出创建:某门课程高低均分计算某门课程成绩最高分、最低分、平均分存储过程以及执行的代码;(6分)执行:所有修 SQL数据库这门学生的最高分、最低分、平均分;9. 检索姓张的女同学的情况:姓名、学号、专业。

(2分)10.检索有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。

(4分)11.设置一SQL身份验证的账户:登录名:U领导,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据。

请写出账户、权限设置的T_SQL脚本。

(6分)《SQL数据库管理与开发教程与实训》试题(M卷)参考答案一、1.C 2.D 3. C 4.C 5.B 6.A 7.D 8.D 9.D 10.B二、1. N 2. Y 3. Y 4.N 5.N 6. Y 7. Y 8.N 9.N 10.Y三、1. 服务管理器、企业管理器、查询分析器2. master、model、msdb3. 数据定义、数据操作、数据控制4.create、alter、drop5. insert、update、delete6. grant、deny、revoke7. D、11四、简述题1. 1)每一列中的数据必须具有相同的数据类型。

2)每一个关系模式中属性的个数是固定的,并且必须命名,而且属性名不能相同。

3)在同一个关系模式中,每一个属性必须是不可分解的。

4)在关系中,行和列的顺序是无关紧要的。

5)在关系中,不允许出现两个完全相同的元组。

2. 1)采用特定的数据模型来管理数据。

2)程序独立于数据,实现了数据的独立性。

3)数据的共享性好,冗余度低,进而也减少了数据的不一致性。

4)数据由数据库管理系统统一管理和控制。

五、设计题1.create database [学生选课数据库]gouse [学生选课数据库]go2.create table 学生表([学号] char(6) primary key,[姓名] nchar(4) not null,[性别] nchar(1) check([性别] in ('男', '女')),[年龄] numeric(2) ,[专业] char(18) not null)3.create table课程表([课程号] char(6) primary key,[课程名] char(40) not null,[学分] numeric(2) not null,[先行课程号] char(6))4.create table选课表(ID IDENTITY(1, 1),[学号] char(6) references 学生表(学号),[课程号] char(6) references 课程表(课程号),[分数] integer check([分数] between 0 and 100))5.insert 课程表 values('100001', 'C语言',2)insert 课程表 values('100002', '数据结构', 2, '100001')insert 课程表 values('100003', '数据库原理', 2)update课程表 set 课程名='SQL数据库' where 课程号='100003'delete课程表 where 课程号='100002'6. create view [选课表视图] asselect 选课表.学号,姓名,选课表.课程号,课程名, 学分, 分数from 选课表,学生表,课程表where 选课表.学号=学生表.学号and 选课表.课程号=课程表.课程号--或create view [选课表视图] asselect 选课表.学号,姓名,选课表.课程号,课程名, 学分,分数from 选课表 join 学生表 on 选课表.学号=学生表.学号join 课程表 on 选课表.课程号=课程表.课程号7.create function [某门课程成绩](@课程名 varchar(40))returns table asreturn (select学号,姓名,课程名,学分,分数from 选课表视图where 课程名=@课程名)goselect * from [某门课程成绩]('SQL数据库')8.create procedure [某门课程高低均分]@课程名 varchar(40) asselect 课程名, 最高分=max(分数)、最低分=min(分数)、平均分=avg(分数) from 选课表视图where 课程名 = @课程名goexecute [某门课程高低均分] 'SQL数据库'9.select 姓名, 学号, 专业 from 学生表where 姓名 like '张%' and 性别='女'10.select 学号, 姓名, 专业 from 学生表 where学号 in(select distinct 学号 from 选课表 where分数<60)11.use [学生选课数据库]exec sp_addlogin 'U领导', NULL, '学生选课数据库', '简体中文' exec sp_password NULL, '888', 'U领导'exec sp_grantdbaccess 'U领导', 'U读者'exec sp_addrolemember 'db_datareader', 'U读者'--或use [学生选课数据库]exec sp_addlogin 'U领导', '888', '学生选课数据库'exec sp_grantdbaccess 'U领导', 'U读者'exec sp_addrolemember 'db_datareader', 'U读者'。

相关主题