《SQL数据库管理与开发》试题(M卷)

更新时间:2023-09-30 00:01:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据库原理与应用》试题

《SQL数据库管理与开发教程与实训》试题(M卷)

一、单项选择题(每小题1分,共10分)

1. 下列四项中,不属于数据库特点的是( C )。

A.数据共享 C.数据冗余很高

B.数据完整性 D.数据独立性高

2. 反映现实世界中实体及实体间联系的信息模型是( D )。

A.关系模型 B.层次模型 C.网状模型 D.E-R模型 3. 下列四项中,不正确的提法是( C )。 A.SQL语言是关系数据库的国际标准语言

B.SQL语言具有数据定义、查询、操纵和控制功能 C.SQL语言可以自动实现关系数据库的规范化 D.SQL语言称为结构查询语言

4. 在SQL中,SELECT语句的\表示查询结果中 ( C )

A.属性名都不相同 B.去掉了重复的列 C.行都不相同 D.属性值都不相同

5.在数据操作语言(DML)的基本功能中,不包括的是 ( B ) A.插入新数据 B.描述数据库结构 C.修改数据 D.删除数据

6. 在采用客户机/服务器体系结构的数据库应用系统中,应该将用户应用程序安装在

( A ) A.客户机端 C.终端

B.服务器端 D.系统端

7、实体型学生与任课教师之间具有(D )联系。

A 一对一 B 一对多 C 多对一 D 多对多 8. 数据库系统的日志文件用于记录下述哪类内容( D ) A) 程序运行过程 B) 数据查询操作 C) 程序执行结果 D) 数据更新操作 9. 数据库管理系统的英文缩写是( D )。 A.DB B.DBS C.DBA D.DBMS 10. SQL语言中,删除一个表的命令是(B ) A. DELETE B. DROP C. CLEAR D. REMOVE

二、判断题(每空1分,共10分)

1. 在查询分析器中执行SQL语句的快捷键是F1。 N 2. 计算ASCII('also')结果为97。Y

3. UNION运算符是用于将两个或多个检索结果合并成一个结果。Y 4. 在事务中包含create database语句吗?N 5. Lock权限不是数据库的访问权限。N

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

————————————————————————————————————————————

1

《数据库原理与应用》试题

7. '李白'>'杜甫' 比较运算的结果为真吗? Y 8. 在事务中包含create database语句吗?N

9. SQL Server有数据导入功能但没有数据导出功能。N 10. SQL Server的角色与windows NT的组含义相似。Y

三、填空题(每空1分,共20分)

1.SQL Server 2000最常用的四个工具是__服务管理器________、___企业管理器_______、___查询分析器_______和联机帮助。

2.SQL Server 2000四个系统数据库是__master____、__model___、___msdb___和tempdb。 3.Transact-SQL语言主要由___数据定义_______语言、__数据操作________语言、___数据控制_______语言和一些附加的语言元素等部分组成。

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

5.数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括select、___ insert_______、____update______和____delete______。 6.数据控制语言是用于控制对数据库对象的权限的 SQL 语句,授权、拒绝和撤销访问数据库对象权限的语句是___grant_______、___deny_______和____revoke______。 7. 语句select char(68),len('你是BigTiger ') 的执行结果是: ___D__和____11_____。

四、简述题(每小题5分,共10分)

1. 试述关系的性质。

1)每一列中的数据必须具有相同的数据类型。

2)每一个关系模式中属性的个数是固定的,并且必须命名,而且属性名不能相同。 3)在同一个关系模式中,每一个属性必须是不可分解的。 4)在关系中,行和列的顺序是无关紧要的。 5)在关系中,不允许出现两个完全相同的元组。 2. 数据库系统的特点有哪些?

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

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

3)数据的共享性好,冗余度低,进而也减少了数据的不一致性。 4)数据由数据库管理系统统一管理和控制。

五、设计题(共50分)

现有关系数据库如下:

数据库名:学生选课数据库

学生表(学号,姓名,性别,年龄,专业) 课程表(课程号,课程名,学分,先行课程号) 选课表(ID, 学号,课程号,分数) 用SQL语言实现下列功能的sql语句代码:

1. 创建数据库[学生选课数据库]代码(2分); 2. 创建[课程表]代码(2分);

课程表(课程号 char(6),课程名,学分,先行课程号) 要求使用:主键(课程号)、非空(课程名, 学分) 3. 创建[学生表]代码(6分);

学生表(学号 char(6),姓名,性别,年龄,专业) 要求使用:主键(学号)、非空(姓名,专业)、检查(性别) 4. 创建[选课表]代码(4分);

————————————————————————————————————————————

2

《数据库原理与应用》试题

选课表(ID,学号,课号,分数)

要求使用:外键(选课表.学号,选课表.课程号)、检查(分数),自动编号(ID) 5. 将下列课程信息添加到课程表的代码(8分)

课程号 课程名 学分 先行课程号 100001 C语言 2

100002 数据结构 2 100001 100003 数据库原理 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分)

1. create database [学生选课数据库]

go

use [学生选课数据库] go

2. 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)

————————————————————————————————————————————

3

《数据库原理与应用》试题

insert 课程表 values('100002', '数据结构', 2, '100001') insert 课程表 values('100003', '数据库原理', 2)

update课程表 set 课程名='SQL数据库' where 课程号='100003' delete课程表 where 课程号='100002' 6. create view [选课表视图] as

select 选课表.学号,姓名,选课表.课程号,课程名, 学分, 分数 from 选课表,学生表,课程表

where 选课表.学号=学生表.学号 and 选课表.课程号=课程表.课程号 --或

create view [选课表视图] as

select 选课表.学号,姓名,选课表.课程号,课程名, 学分,分数 from 选课表 join 学生表 on 选课表.学号=学生表.学号 join 课程表 on 选课表.课程号=课程表.课程号 7. create function [某门课程成绩](@课程名 varchar(40))

returns table as

return (select学号,姓名,课程名,学分,分数from 选课表视图 where 课程名=@课程名) go

select * from [某门课程成绩]('SQL数据库')

8. create procedure [某门课程高低均分]

@课程名 varchar(40) as

select 课程名, 最高分=max(分数)、最低分=min(分数)、平均分=avg(分数) from 选课表视图

where 课程名 = @课程名 go

execute [某门课程高低均分] '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读者'

————————————————————————————————————————————

4

本文来源:https://www.bwwdw.com/article/qqdd.html

Top