目录

  • 第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数据库技术》综合训练自测试题(A)

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

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

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

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

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

A.关系模型 B.层次模型

C.网状模型 D.E-R模型 

3.SQL Server安装程序创建4个系统数据库,下列哪个不是(      )系统数据库。

A.master B.model

C.pub D.msdb

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

A.DBMS B.DB

C.DBS D.DBA

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

A.CREATE SCHEMA B.CREATE TABLE

C.CREATE VIEW D.CREATE INDEX

6.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且(      )。

A.包括15岁和35岁

B.不包括15岁和35岁

C.包括15岁但不包括35岁

D.包括35岁但不包括15岁

7.下列四项中,不正确的提法是(      )。

A.SQL语言是关系数据库的国际标准语言

B.SQL语言具有数据定义、查询、操纵和控制功能

C.SQL语言可以自动实现关系数据库的规范化

D.SQL语言称为结构查询语言

8.在MS SQL 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, 的执行结果是: 4 吗?

4.2005.11.09 是SQL中的日期型常量吗?

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

6.select 25/2 的执行结果是: 12.5 吗?

7.'岳飞'>'文天祥' 比较运算的结果为真吗?

8.一个表可以创建多个主键吗?

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

10.固定数据库角色:db_datarader 的成员能修改本数据库内表中的数据吗?

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

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

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

3.语句 select ascii('D'), char(67) 的执行结果是:_________和_________。

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

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

6.关系运算主要有________、________和连接。

7.完整性约束包括______完整性、______完整性、参照完整性和用户定义完整性。

8.在SQL Server中,数据库对象包括______、______、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等。

9.语句 select day('2004-4-6'), len('我们快放假了.') 的执行结果是:_________和_________。

10.语句 select round(13.4321,2), round(13.4567,3)的执行结果是:_________和_________。

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

1.在SQL Server 中,使用视图的好处是什么?

2.在SQL Server 中,用户访问表/视图、列的权限是什么?

五、设计题(共50分) 

现有关系数据库如下: 

数据库名:我班同学数据库

同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号) 

宿舍表(宿舍号 char(6),宿舍电话) 

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

1.创建数据库[我班同学数据库]代码(2分)。

2.创建数据表[宿舍表]代码(3分);

   宿舍表(宿舍号 char(6),宿舍电话)

   要求使用:主键(宿舍号)、宿舍电话:以633开头的7位电话号码

3.创建数据表[同学表]代码(6分);

   同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号) 

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

4.将下列宿舍信息添加到宿舍表的代码(8分)

       宿舍号      宿舍电话

        101         6331157

        102         6331777

        

        修改  宿舍号为101的 宿舍电话:6331158

        删除  宿舍号为102的 宿舍信息

5.创建视图[同学表视图]代码(5分);

   同学表视图(学号, 姓名, 性别, 年龄, 民族, 身份证号, 宿舍号, 宿舍电话)

6.从同学表视图中查询姓张的女同学的姓名、性别、宿舍电话。(4分)

7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。(5分)

8.创建带参数的存储过程[某宿舍同学]:姓名, 性别, 宿舍电话

  执行此过程,查询'101'宿舍情况 (8分)

9.设置一SQL身份验证的用户账户:登录名:U班主任,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。请写出账户、权限设置的T_SQL脚本。(9分)

 




参考答案:

一、

                                       

 

1

 
 

2

 
 

3

 
 

4

 
 

5

 
 

6

 
 

7

 
 

8

 
 

9

 
 

10

 
 

C

 
 

D

 
 

C

 
 

A

 
 

B

 
 

A

 
 

C

 
 

D

 
 

A

 
 

C

 

二、

                                       

 

1

 
 

2

 
 

3

 
 

4

 
 

5

 
 

6

 
 

7

 
 

8

 
 

9

 
 

10

 
 

Y

 
 

N

 
 

N

 
 

N

 
 

N

 
 

N

 
 

Y

 
 

N

 
 

N

 
 

N

 

三、

                                                                 

 

no

 
 

答案

 
 

 
 

1.

 
 

外模式、模式

 
 

2

 
 

2.

 
 

@@@

 
 

2

 
 

3.

 
 

68C

 
 

2

 
 

4.

 
 

beautiful、我心中的太阳

 
 

2

 
 

5.

 
 

水平、垂直

 
 

2

 
 

6.

 
 

选择、投影

 
 

2

 
 

7.

 
 

实体、域

 
 

2

 
 

8.

 
 

表、视图

 
 

2

 
 

9.

 
 

67

 
 

2

 
 

10

 
 

13.430013.4570

 
 

2

 

四、

                 

 

no

 
 

答案要点

 
 

 
 

1.

 
 

(1) 为用户集中需要的数据,简化了数据的用户操作;

 

(2) 对用户隐藏了数据库设计的复杂性;

 

(3) 简化用户权限的管理

 

(4) 组织数据导出到其它应用程序;

 
 

5

 
 

2.

 
 

1.数据表/视图(select  insert update delete)

 

2.(字段)的访问(select update)

 
 

5

 

五、

                                                           

 

no

 
 

参考答案

 
 

 
 

1.

 
 

create database [我班同学数据库]

 

go

 

use [我班同学数据库]

 

go

 
 

2

 
 

2.

 
 

create table 宿舍表

 

([宿舍号] char(6) primary key,

 

[宿舍电话] char(11) check([宿舍电话] like '366[0-9][0-9][0-9][0-9]'))

 
 

3

 
 

3.

 
 

create table 同学表

 

(学号 char(6) primary key,

 

姓名 nchar(4)  not null,

 

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

 

年龄 int ,

 

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

 

身份证号  char(18) unique,

 

宿舍号 char(6)  references 宿舍表(宿舍号)

 

)

 
 

6

 
 

4.

 
 

insert 宿舍表 values('101', '6331157')

 

insert 宿舍表 values('102', '6331777')

 

update 宿舍表 set 宿舍电话='6331158' where 宿舍号='101'

 

delete 宿舍表 where 宿舍号='102'

 
 

8

 
 

5.

 
 

create view [同学表视图] as

 

select 学号, 姓名, 性别, 年龄, 民族, 身份证号, 同学表.宿舍号, 宿舍电话

 

from 同学表,宿舍表

 

where 同学表.宿舍号=宿舍表.宿舍号

 
 

5

 
 

6.

 
 

select 姓名, 性别, 宿舍电话

 

 from 同学表视图

 

 where 姓名 like '%' and 性别=''

 
 

4

 
 

7.

 
 

select 最大年龄 = max(年龄), 最小年龄 = min(年龄), 平均年龄 = avg(年龄)

 

 from 同学表

 

 where 性别=''

 
 

5

 
 

8.

 
 

create procedure [某宿舍同学] @宿舍号 varchar(6)

 

as

 

select 姓名, 性别, 宿舍电话

 

from 同学表视图

 

where 宿舍号 = @宿舍号

 

go

 

execute [某宿舍同学] '101'

 
 

8

 
 

9.

 
 

exec sp_addlogin 'U班主任', '888', '我班同学数据库'

 

exec sp_grantdbaccess 'U班主任', 'U读者'

 

exec sp_addrolemember 'db_datareader', 'U读者'

 
 

9