目录

  • 第1单元    数据库系统导论
    • ● 任务1.1  数据库基本概念
    • ● 任务1.2  设计E—R 图
    • ● 任务1.3   将E-R图转换成关系模型
    • ● 任务1.4   练习与作业
    • ● 教与学参考资源
  • 第2单元   认识SQL SERVER数据库
    • ● 任务2.1 数据库应用场景
    • ● 任务2.3  SQL  Server 数据库安装
    • ● 任务2.4 SQL Server 的管理
    • ● 任务2.5  使用SSMS连接数据库
    • ● 教与学参考资源
  • 第3单元  创建和管理数据库
    • ● 任务3.1 创建数据库
    • ● 任务3.1(2)  命令创建数据库
    • ● 任务3.2 管理数据库
    • ● 任务3.2(2) 查看、收缩数据库
    • ● 教与学参考资源
  • 第4单元 创建和管理数据库表
    • ● 任务4.1 SQL Server常用数据类型
    • ● 任务4.2  创建数据表
    • ● 任务4.3  命令创建表
    • ● 任务4.4 实施完整性约束
    • ● 教与学参考资源
  • 第 5 单元   查询数据表
    • ● 任务5.1 单表数据查询
    • ● 任务5.2 多表数据查询
    • ● 任务5.3 嵌套查询
    • ● 任务5.4 合并查询结果
    • ● 教与学参考资源
  • 第6单元  管理表中数据
    • ● 任务6.1   添加数据
    • ● 任务6.2  修改数据
    • ● 任务6.3  删除数据
    • ● 习题与训练
    • ● 教与学参考资源
  • 第7单元  使用索引和视图
    • ● 任务7.1  使用索引
    • ● 使用T-SQL创建索引
    • ● 任务7.2  使用视图
    • ● 使用T-SQL语句创建视图
    • ● 教与学参考资源
  • 第8单元 Transact-SQL语言编程
    • ● 任务8.1   声明和使用变量
    • ● 任务8.2   流控语句
    • ● 任务8.3   常用系统函数
    • ● 任务8.4   创建自定义函数
    • ● 教与学参考资源
  • 第9单元  事务和锁
    • ● 任务   9.1     事务
    • ● 事务的基本操作
    • ● 任务9.2    锁
    • ● 死锁及避免方法(例)
    • ● 教与学参考资源
  • 第10单元  创建和管理存储过程
    • ● 任务10.1 存储过程及优点
    • ● 任务10.2 创建和执行存储过程
    • ● 任务10.3   存储过程参数和返回值
    • ● 任务10.4 修改、删除、 重新编译存储过程
    • ● 教与学参考资源
  • 第11单元 创建和管理触发器
    • ● 任务1 触发器的作用和分类
    • ● 任务2 触 发器的创建与执行
    • ● 任务3 创建级联触发器
    • ● 任务4 修改、删除触发器
  • 第12单元 创建和使用游标
    • ● 任务1  游标的作用及使用步骤
    • ● 任务2  创建基本游标
    • ● 任务3  使用变量保存游标数据
    • ● 任务4  使用循环环提取游标数据
  • 第13单元 SQL Server用户管理
    • ● 任务1数据库安全管理概述
    • ● 任务2SQL Server 安全机制
    • ● 任务3 账号、角色及权限管理
    • ● 任务4数据库完整性管理
    • ● 任务5 数据库的备份与还原
    • ● 任务6   数据的导入与导出
  • 第14单元  综合应用案例
    • ● 概述
    • ● 需求分析
    • ● 概述设计-逻辑设计- 物理设计
    • ● 编写数据库设计说明书
  • 学生做项目成果展示
    • ● 项目一  设计《我班同学数据库》
    • ● 项目二  设计《(Teaching)教学数据库》
    • ● 项目三  数据库应用系统设计开发项目
    • ● 项目四 《华夏-宿舍管理系统》设计开发
    • ● 项目五   综合实训大作业
    • ● 综合实训团队项目大作业
    • ● 学生完成项目摘录展示
  • 总复习与综合训练
    • ● 总复习
    • ● 综合训练一
    • ● 综合训练二
    • ● 综合训练三
    • ● 综合训练四
    • ● 综合训练五
    • ● 简答综合训练
  • 在线专题测验
    • ● 自检自测一
    • ● 自检自测二
  • 拓展   数据库管理工具平台  Navicat
    • ● 关于Navica
    • ● Navicat 的系统需求
    • ● Navicat 的用户界面
    • ● Navicat 创建数据库对象
    • ● 在Navicat创建的SQL 程序脚本
    • ● 在Navicat创建的SQL  server 脚本(2)
    • ● 综合实训(1)
    • ● 综合实训(2)
  • 技术拓展   (MYSQL)数据库技术与应用
    • ● MYSQL技术
  • 教与学图片剪影
    • ● 教学团队
    • ● 学生学习实训
    • ● 活动与交流
综合训练二


《SQL数据库技术》综合训练自测试题(C卷)


 

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

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

A.数据共享                     B.数据完整性

C. 数据冗余很高                 D.数据独立性高

2. 目前(  )数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统。

A.关系         B.面向对象    C.分布

3. 数据库设计中的概念结构设计的主要工具是(    )。

A.数据模型     B.E—R模型    C.新奥尔良模型   D.概念模型

4. (  )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。

A.DBMS         B.DB          C.DBS        D.DBA

5. 在SQL中,建立视图用的命令是 (      )。

A.CREATE SCHEMA                 B.CREATETABLE

C.CREATE VIEW                   D.CREATEINDEX

6. SQL语言中,条件“年龄BETWEEN 20 AND 30”表示年龄在20至30之间,且(     )。

A.包括20岁和30岁              B.不包括20岁和30岁

C.包括20岁但不包括30岁        D.包括30岁但不包括20岁

8. 在MSSQL Server中,用来显示数据库信息的系统存储过程是(       )。

A. sp_dbhelp    B.sp_db       C. sp_help    D. sp_helpdb

9. SQL语言中,删除一个表的命令是(      )。

A. DELETE       B.DROP        C. CLEAR      D. REMOVE

10. SQL的视图是从(      )中导出的。

A.基本表       B.视图        C. 基本表或视图   D. 数据库

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

  1. "在那遥远的地方" 是SQL中的字符串常量吗?

  2. "11.9"是SQL中的实型常量吗?

  3. 语句 select 16%4, 的执行结果是: 0 吗?

  4. "2005.11.09"是SQL中的日期型常量吗?

  5. ¥2005.89 是SQL中的货币型常量吗?

  6. 语句 select 15/2 的执行结果是: 7.5 吗?

7. '李白'>'杜甫' 比较运算的结果为真吗?

8. 在事务中包含create database语句吗?

  9. 创建唯一性索引的列可以有一些重复的值?

  10.固定数据库角色:db_datawriter 的成员删除本数据库内任何表中的数据吗?

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

1. 数据库系统具有数据的___________、_________和_________三级模式结构。

2. SQL Server 局部变量名字必须以_________开头,而全局变量名字必须以_________开头。

3. 语句 select ascii('C'), char(68), len('你 是BigTiger    ') 的执行结果是: _________、_________和_________。

4. 语句 select upper('beautiful') , ltrim ('   我心中的太阳') 的执行结果是: ____________和___________。

5. 关系运算主要有________、________、________

6. 选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割

7. 索引的类型主要有_             __             __

8. 在SQLServer 中,数据库对象包括数据表、______、______、触发器、规则、默认和用户自定义的数据类型等。

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

1. 简述使用游标的步骤。

2. 简述SQL Server 的安全性管理机制,涉及登录账号、用户、角色以及权限分配。

五、设计题(共50分)

现有关系数据库如下:

数据库名:学生成绩数据库

学生表(学号 char(6),姓名,性别,民族,身份证号)

课程表(课号 char(6),名称)

成绩表(ID,学号,课号,分数)

用SQL语言实现下列功能的sql语句代码:

1. 创建数据库[学生成绩数据库]代码(2分);

2. 创建[课程表]代码(2分);

   课程表(课号char(6),名称)

   要求使用:主键(课号)、非空(名称)

3. 创建[学生表]代码(6分);

   学生表(学号char(6),姓名,性别,民族,身份证号) 

   要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别)

4. 创建[成绩表]代码(4分);

   成绩表(ID,学号,课号,分数)

   要求使用:主键(课号)、外键(成绩表.学号,成绩表.课号)、检查(分数),自动编号(ID)

5. 将下列课程信息添加到课程表的代码(8分)

        课号      课程名称

        100001    大学语文

        100002    大学英语

        100003    西班牙语

 

        修改 课号为100002的课程名称:实用英语

        删除 课号为100003的课程信息       

6. 写出创建:成绩表视图(学号,姓名,课号,课程名称,分数)的代码;(4分)

7. 写出创建:某门课程成绩 内嵌表值函数以及检索的代码;(6分)

       检索:所有修  实用英语  这门学生的成绩;

8. 写出创建:某门课程高低均分  计算某门课程成绩最高分、最低分、平均分 存储过程以及执行的代码;(6分)

       执行:所有修  实用英语  这门学生的最高分、最低分、平均分;

9. 检索姓李的女同学的情况:姓名、性别、民族。(2分)

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

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

 


《SQL数据库管理与开发教程与实训》试题(C卷)参考答案

一、1.C  2.A  3. B  4.A  5.C  6.A  7.   8.D  9.B  10.C

二、1. N 2.N  3.Y  4.N  5.N  6.N  7. Y 8.N  9.N  10.Y

三、1. 外模式、模式、内模式。

2. @,@@

3. 67,  D,  12

4. BEAUTIFAL, 我心中的太阳

5. 选择、投影、连接

6. 水平, 垂直

7. 聚簇索引 非聚簇索引

8. 视图、存储过程

四、简述题

1. 简述使用游标的步骤。

(1) 声明游标:declare 游标名 cursor for select语句;

(2) 打开游标:open 游标名;

(3) 处理数据: fetch delete update

(4) 关闭游标:close 游标名;

(5) 释放游标:deallocate 游标名;

2. 要点:

1. 计算机的连接

2. SQL Server服务器登录(登录、固定服务器角色)

3. 数据库的访问(用户/角色:固定/自定义数据库角色)

4. 数据表(视图)的访问(select insert update delete)

5. 存储过程/内嵌表值函数的访问(execute/select)

6. 数据表(视图)中列(字段)的访问(select update)

五、设计题

 

1.

create database [学生成绩数据库]

go

 

use [学生成绩数据库]

go

 

2. create table 学生表

([学号]char(6) primary key,

[姓名]nchar(4) not null,

[性别]nchar(1) check([性别] in ('', '')),

[民族]nchar(8) default '汉族' not null,

[身份证号]char(18) unique

)

 

3. create table 课程表

([课号]char(6) primary key,

 [名称] char(40) not null

)

 

4. create table 成绩表

(ID integer IDENTITY(1, 1),

[学号]char(6) references 学生表(学号),

[课号]char(6) references 课程表(课号),

[分数]integer check([分数] between 0 and 100)

)

 

5. insert课程表 values('100001', '大学语文')

  insert 课程表 values('100002', '大学英语')

  insert 课程表 values('100003', '西班牙语')

  update课程表 set 名称='实用英语'where 课号='100002'

  delete课程表 where 课号='100003'

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 课程名称=@课程名)

 

    createfunction [某门课程成绩](@课程名varchar(40))

returns table as

return (select * from 成绩表视图

where 课程名称=@课程名)

 

select* from [某门课程成绩]('实用英语')

 

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

@课程名 varchar(40) as

select 课程名称, 最高分=max(分数)、最低分=min(分数)、平均分=avg(分数)

from 成绩表视图

where 课程名称 = @课程名   GROUP BY 课程名称

 

execute [某门课程高低均分'实用英语'

 

9. select姓名, 性别, 民族 from 学生表where 姓名 like '%' and 性别=''

10. select 学号, 姓名 from 学生表where学号 in (select distinct 学号 from 成绩表where分数>=90)

11.

use [学生成绩数据库]

execsp_addlogin 'U领导', NULL, '学生成绩数据库', '简体中文'

execsp_password  NULL, '888', 'U领导'

execsp_grantdbaccess 'U领导', 'U读者'

execsp_addrolemember 'db_datareader', 'U读者'

 

use [学生成绩数据库]

execsp_addlogin 'U领导', '888', '学生成绩数据库'

execsp_grantdbaccess 'U领导', 'U读者'

execsp_addrolemember 'db_datareader', 'U读者'