当前位置:文档之家› sql数据库练习题参考答案

sql数据库练习题参考答案

第1章数据库基础

练习题

一、单项选择题

1.C 2.A 3.C 4.D 5.D

6.B 7.A 8.B 9.B 10.D

11.C 12.A 13.C 14.B 15.A

16.B 17.A 18.D 19.B 20.B

21.A; D 22.A 23.C 24.D 25.B

26.B 27.B 28.D 29.B 30.B

二、填空题

1.概念;数据

2.属性

3.码

4.一对一联系;一对多(或多对一)联系;多对多联系

5.候选码

6.候选码

7.关系名(属性1,属性2,…,属性n)

8.关系数据结构;关系操作集合;关系完整性约束

9.实体;参照;用户定义的;实体;参照

10.空值

11.需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运行和维护阶段

12.准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应用系统的目标,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的依据。

13.将需求分析得到的用户需求抽象为信息结构即概念模型。

14.将概念结构进一步转化为某一DBMS支持的数据模型,并对其进行优化。

15.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。

三、指出以下各缩写的英文意思和中文意思

1.DB:Database

2.DBMS:Database Management System

3.RDBMS:

4.DBS:Database System

5.DBA:Database Administrator

6.NF:Normal Form

7.DDL:Data Definition Language 四、按题目要求回答问题

3.答:

(1)关系R是2NF。

因为R的候选码为课程名,而课程名→教师名,教师名→教师地址,所以课程名→教师地址,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。

又因为不存在非主属性对候选码的部分函数依赖,所以R是2NF。

(2)关系R存在删除异常。当删除某门课程时会删除不该删除的教师的有关信息。

(3)分解为高一级范式如下:

R1

课程名教师名

数据库刘辉

程序设计基础赵兰

软件工程陈信

计算机基础刘辉

R2

教师名教师地址

刘辉Add1

赵兰Add2

陈信Add1

分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师的信息。

4.答:

(1)R不属于3NF,它是2NF。

(2)因为R的候选码为职工号和职工名,而:

职工号→单位号,单位号→单位名,所以职工号→单位名,即存在非主属性“单位名”对候选码“职工号”的传递函数依赖。因此不是3NF。

规范化后的关系子模式为如下所示的关系R1与R2。

R1

职工号职工名年龄性别单位号

01 赵高20 男D3

02 高军25 男D1

03 董林38 男D3

04 林梅25 女D3

R2

单位号单位名

D3 计算机

5.答:

(1)关系Stock 是1NF ,分析如下:

● 关系Stock 的码为(counter ,goods ),counter 、goods 为主属性,price 为非主

属性。 ● 存在的函数依赖有:(counter ,goods )→price goods →price ● 因此可以看出,非主属性price 不完全函数依赖于码,不符合2NF 的定义。 ● 得出结论:关系Stock 是1NF (2)存在异常:

● 删除异常:例如,如果删除柜台2的元组,则丢失了货物名称Envelop 及其价格1。 ● 插入异常:例如,如果知道了商品Lamp 的价格20,则不能马上将该商品插入到

Stock 中,直到有一个柜台进了该货物才行。 (3)规范化:将以上关系分解为两个关系如下。

关系Counter-Goods 关系Goods-Price

第2章 SQL Server 简介

练习题

一、单项选择题

1.B 2.C 3.D 4.B 5.C 6.D 7.C 8.C 9.B 10.A 11.B 12

.B

二、简答题

1.答:

客户-服务器结构把整个任务划分为客户机上的任务和服务器上的任务。客户机上的

任务只要有:

●建立和断开与服务器的连接。

●提交数据访问请求。

●等待服务通告、接受请求结果或错误。

●处理数据库访问结果或错误、包括重发请求和终止请求。

●提供应用程序的友好用户界面。

●数据输入输出及验证。

服务器上的任务主要有:

●为多用户管理一个独立的数据库。

●管理和处理接收到的数据访问请求,包括管理请求队列、管理缓存、响应服务、

管理结果和通知服务完成。

●管理用户帐号、控制数据库访问权限和其他安全性。

●维护数据库,包括数据库备份和恢复。

保证数据库数据的完整或为客户提供完整性控制手段。

2.答:

(1)两层结构

在两层结构中,SQL Server 2000安装在一个中心服务器上,数据库存储在该服务器上,该服务器称为数据库服务器,可以被多台客户机访问。众多的客户机通过网络直接访问数据库服务器。客户机运行处理业务的程序和显示处理结果的程序。两层结构比较适合于用户量较少的情况,当用户量较大时,数据库服务器的性能会显著下降。

(2)三层结构

在三层结构中引入了一层应用服务器。客户机只运行向应用服务器发送请求和显示请求结果的程序,客户机没有处理业务的程序,应用服务器运行处理业务的程序,多个客户机可以同时访问应用服务器,应用服务器负责访问数据库服务器,并取回处理结果,将结果返回给客户机。三层结构适用于客户量较大的情况。

3.答:

SQL Server 2000的四个系统数据库是master、model、msdb和tempdb数据库。

(1)master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统信息,包括所有的登录帐户信息、系统配置信息、SQL Server的初始化信息和其它系统及用户数据库的相关信息。

(2)model数据库是所有用户数据库和tempdb数据库的模板数据库,它含有master 数据库所有系统表的子集,这些系统表是每个用户定义数据库所需要的。

(3)msdb数据库是代理服务数据库,用于为调度警报、作业和记录操作员的信息提供存储空间。

(4)tempdb数据库用于为所有的临时表、临时存储过程提供存储空间,它还用于任何其它的临时存储要求,例如存储SQL Server生成的工作表。tempdb数据库是全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。tempdb数据库在SQL Server每次启动时都重新创建,因此该数据库在系统启动时总是干净的,临时表和存储过程在连接断开时自动除去。

4.答:

SQL Server 2000包含的对象如:表、视图、存储过程、索引、触发器。

(1)表:在数据库中,所有的数据存放在表中,表由行(记录)和列(字段)组成,一个数据库可以包含多个表。

(2)视图:视图是由查询数据表产生的结果,是一种虚构的表。视图把表中的部分数据映射出来供用户使用,这样可以防止所有的用户直接对表进行操作而导致系统的性能和安全性的下降。

(3)存储过程:一个存储过程实际上是由一组SQL语句组成的完成特定功能的程序。存储过程在服务器端被编译后可以反复执行。

(4)索引:索引是对表中的一个或多个列的值进行排序的结构。可以利用索引提高对数据库表中的特定信息的访问速度。

(5)触发器:触发器由一组SQL语句组成,当对表或视图进行某种操作(添加、删除或修改)时,这组命令会在一定情况下自动执行。

三、上机练习题(略)

第3章服务器与客户端配置

练习题

一、填空题

1.服务器组,服务器组

2.使用Windows身份验证,使用SQL Server身份验证

3.start

4.连接

5.通讯

6.命名管道,TCP/IP

7.Net-Library

8.DSN

二、选择题

1.C 2.C 3.A 4.B 5.C

三、判断题

1.A 2.B 3.B 4.A 5.A

四、问答题

1.答:

使用net start命令启动Windows的服务;使用net pause命令暂停Windows服务;

使用net continue命令继续被暂停的Windows服务;使用net stop命令停止Windows服务。

2.答:

在企业管理器中右键单击指定的服务器,在弹出菜单中选择“属性”,打开“SQL Server 属性(配置)”对话框。

在“常规”选项卡中,选中“自动启动SQL Server”复选框,就可以实现在每次计算机启动时自动运行SQL Server。

3.答:

要在客户端访问远程的SQL Server服务器,必须在客户计算机和服务器计算机上安装一对匹配的SQL Server Net-Library以支持特定的网络协议。Net-Library是一种SQL Server 通讯组件,它将SQL Server 客户端软件和数据库引擎与网络API 隔离。SQL Server 客户端软件和数据库引擎向Net-Library 发送常规网络请求,Net-Library 将请求转换为用户所选协议的特定网络命令。

Net-Library支持多种网络协议,包括命名管道、TCP/IP、多协议、NWLink IPX/SPX、AppleTalk、Banyan Vines和VIA等。在安装SQL Server时,命名管道和TCP/IP被默认启用。

4.答:

SQL Server 2000客户端配置完成后,在企业管理器中测试配置是否有效。方法很简单,只要新建一个SQL Server 注册,在注册的过程中,选择远端的服务器作为数据库服务器。如果能够注册成功,则说明客户端和服务器之间的通信是畅通的,客户端配置成功。此时在企业管理器中,可以查看和管理远端服务器。

五、上机练习题(略)

第4章 Transact-SQL语言基础

练习题

一、选择题

1.B;C 2.C;D;F;G;H 3.B 4.A;D 5.D

6.A 7.B;D 8.D 9.B 10.A;B;C

二、填空题

1.a.b.d.c

2.常规;分隔;双引号;方括号

3.在其中定义局部变量的批处理、存储过程或语句块的内部;任何程序;

4.@ ; @@

5.DECLARE @Myvar CHAR(5) ;SET @Myvar='Hello'

6.NULL

7.%e% aaa ;%e%aaa

8.FALSE;TRUE

9.math>0 AND math<100

10.行集函数;聚合函数;标量函数

11.SELECT STR(YEAR('11/25/2006'),4)+'年'+STR(MONTH('11/25/2006'),2)+'月'+STR(DAY('11/25/2006'),2)+'日'

12.CAST(GETDATE() AS char)

13.CONVERT(char,GETDATE(),105)

14.CONVERT函数的参数比CAST函数的参数多了一个“样式”,该参数用于指定以不同的格式显示日期和时间。

15.--(双连字符);/* ... */(正斜杠-星号对)

三、指出以下各缩写的英文意思和中文意思

1.Structured Query Language 结构化查询语言

2.Data Definition Language 数据定义语言

3.Data Manipulation Language 数据操纵语言

4.Data Control Language 数据控制语言

四、上机练习题

1.答:

(1)titles表:

表4-17 titles表

(续表4-17)

(2)authors表:

表4-18 authors表

(续表4-18)

(3)titleauthor表:

表4-19 titleauthor表

(4)publishers表:

表4-20 publishers表

(5)pub_info表:

表4-21 pub_info表

(6)discounts表:

表4-22 discounts表

(7)sales表:

表4-23 sales表

(8)stores表:

表4-24 stores表

(9)employee表:

表4-25 employee表

(续表4-25)

(10)jobs表:

表4-26 jobs表

(11)roysched表:

表4-27 roysched表

以上各表包含的用户自定义数据类型有:empid;id;tid 2.答:

实现语句为:

use pubs

declare @A binary,@B binary

set @A=100

set @B=200

print @A

print @B

打印结果为:

0X64

0XC8

3.答:

DECLARE @i int,@sum int

SET @i=1

SET @sum=0

WHILE @i<=1000

BEGIN

SET @sum=@sum+@i

SET @i=@i+2

END

PRINT '1+3+5+7+……+999的值为:'+str(@sum)

第5章数据库管理

练习题

一、选择题

1.B;A;C;B 2.B;A;C 3.A;C 4.C 5.B

6.D 7.A 8.A

二、填空题

1.主数据库;次数据库;事务日志

2.主数据库;次数据库;事务日志

3.逻辑文件名;物理文件名

4.未指定组的其他

5.创建数据库的用户

6.物理设备名称;逻辑设备名称

7.sp_addumpdevice;sp_dropdevice

8.差异

9.WITH NORECOVERY;WITH RECOVERY

10.REPLACE

三、简答题

1.答:

事务日志文件用于存储数据库的更新情况等事务日志信息。例如,使用INSERT、UPDATE、DELETE等对数据库进行更改的操作都会记录在事务日志文件中,当数据库损坏时,可以使用事务日志文件恢复数据库。

2.答:

“文件自动增长”表示用户可以指定数据文件自动按下列选项所指定的大小增长。

●按兆字节:指定数据文件增长所基于的兆字节数。

●按百分比:指定希望数据文件自动增长所基于的百分比。

●文件增长不受限制:指定数据文件增长不受限制。

将文件增长限制为(MB):指定数据文件可以增长到的大小(MB)。

“自动收缩”表示允许定期对数据库进行检查,当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25%。当文件大小没有超过其建立时的初始大小时,不会缩减文件,缩减后的文件也必须大于或等于其初始大小。

3.答:

“文件关闭”选项代表当数据库中无用户时,自动关闭该数据库,并将所占用的资源交还给操作系统。

4.答:

(1)完全数据库备份

完全数据库备份是备份数据库的所有表的数据及模式,以及对应的文件结构,包括对事务日志中的事务进行备份。它可以用作系统出现故障时恢复数据库的基础,也可用于在另外一台计算机上生成数据库的副本。

(2)差异数据库备份

差异数据库备份只记录自上次完全数据库备份后发生变化的数据。差异备份的数据量比完全备份的数据量小而且备份速度快,因此可以更经常地备份。

(3)事务日志备份

事务日志包含了自上次进行完全数据库备份、差异数据库备份或事务日志备份以来所完成的事务。可以使用事务日志备份将数据库恢复到特定的即时点或恢复到故障点。

(4)数据库文件和文件组备份

只备份特定的文件或文件组,常用于超大型数据库的备份。

四、上机练习题

1.答:

CREATE DATABASE mydb1 --数据库名称

ON PRIMARY

(NAME =f1, --主数据文件逻辑名称

FILENAME ='D:\sql_data\f1.mdf',

SIZE =2, --初始大小为2MB

MAXSIZE =unlimited, --最大尺寸为无限大

FILEGROWTH =5%), --增长速度为5%

(NAME=f2, --次数据文件逻辑名称

FILENAME='D:\sql_data\f2.ndf',

SIZE=3, -- 初始大小为3MB

MAXSIZE=200, --最大尺寸200MB

FILEGROWTH=2) -- 增长速度为2MB

LOG ON

(NAME=lg1, --事务日志逻辑名文件

FILENAME='D:\sql_log\lg1.ldf',

SIZE=1,

MAXSIZE=10,

FILEGROWTH=1)

3.答:

(1)

ALTER DATABASE mydb1

ADD FILE

(NAME=f3,

FILENAME='D:\sql_data\ f3.ndf',

SIZE=2, MAXSIZE=5, FILEGROWTH=1)

(2)

ALTER DATABASE mydb1

MODIFY FILE

(NAME = f3,

SIZE = 3MB,MAXSIZE=10MB)

(3)

ALTER DATABASE mydb1 MODIFY NAME = mydb2

4.答:

exec sp_addumpdevice 'disk', 'mycopy2','d:\mybackup2\mydb2.bak' 5.答:

(3)

BACKUP DATABASE mydb1 TO mycopy1

(4)

RESTORE DATABASE mydb3

FROM mycopy1

WITH

MOVE 'f1'

TO 'd:\sql_data\mydb3-f1.mdf',

MOVE 'f2'

TO 'd:\sql_data\mydb3-f2.mdf',

MOVE 'f3'

TO 'd:\sql_data\mydb3-f3.mdf',

MOVE 'lg1'

TO 'd:\sql_log\mydb3-lg1.lgf'

6.答:

DROP DATABASE mydb2,mydb3

第6章表的管理

练习题

一、填空题

1.行;列

2.永久表;临时表;永久;永久;临时

3.CREATE TABLE

4.主键约束;惟一性约束;检查约束;默认约束;外部键约束

5.外部键

6.sp_bindrule

7.TRUNCATE TABLE

8.关系图窗格;网格窗格;SQL窗格;结果窗格

9.聚合函数

10.GROUP BY

11.COMPUTE

12.内连接;外连接;交叉连接

13.UNION

14.INTO

二、选择题

1.D 2.B;C;D 3.A 4.B 5.B

6.B 7.C 8.C 9.B 10.C

11.C

三、判断题

1.A 2.B 3.B 4.B 5.A

6.B 7.B 8.B 9.A 10.B

11.A 12.A

三、简答题

1.答:

表约束(Constraint)是SQL Server提供的一种强制实现数据完整性的机制,包括主键(PRIMARY KEY)约束、惟一性(UNIQUE)约束、检查(CHECK)约束、默认(DEFAULT)定义和外部键(FOREIGN KEY)约束。

2.答:

规则(Rules)是一种SQL Server对象,它用于执行一些与CHECK约束相同的功能。CHECK约束比规则更简明,一个列只能应用一个规则,但是却可以应用多个CHECK约束。CHECK 约束作为CREATE TABLE语句的一部分进行指定,而规则以单独的对象创建,然后绑定到列上。

通常可以将连接查询分为内连接、外连接和交叉连接等。

内连接使用比较运算符(最常使用的是等号,即等值连接)根据每个表共有列的值匹配两个表中的行。只有每个表中都存在相匹配列值的记录才出现在结果集中。在内连接中,所有表是平等的,没有主次之分。

与内连接不同,参与外连接的表有主次之分。以主表的每一行数据去匹配从表中的数据列,符合连接条件的数据将直接返回到结果集中,对那些不符合连接条件的列,将被填上NULL值后再返回到结果集中。

在交叉连接查询中,两个表中的每两行都可能互相组合成为结果集中的一行。交叉连接并不常用,除非需要穷举两个表的所有可能的记录组合。

4.左向外连接以连接(JOIN)子句左侧的表为主表,主表中所有记录都将出现在结果集中。如果主表中的记录在右表中没有匹配的数据,则结果集中右表的列值为NULL。可以使用*=符号定义左连接。在SQL Server 2000中,还可以使用LEFT OUTER JOIN或LEFT JOIN关键字定义左向外连接。

右向外连接以连接(JOIN)子句右侧的表为主表,主表中所有记录都将出现在结果集中。如果主表中的记录在左表中没有匹配的数据,则结果集中左表的列值为NULL。可以使用=*符号定义右连接。在SQL Server 2000中,还可以使用RIGHT OUTER JOIN或RIGHT JOIN 关键字定义右向外连接。

完整外部连接包括连接表中的所有行,无论它们是否匹配。在SQL Server 2000中,还可以使用FULL OUTER JOIN或FULL JOIN关键字定义完整外部连接。

5.答

数据库的索引和书籍中的目录非常相似。有了索引,就可以快速地在书中找到需要的内容,而无需顺序浏览全书了。书中的目录是主要章节的列表,其中注明了包含各章节的页码。而数据库中的索引是一个表中所包含的值的列表,其中注明了表中包含各个值的记录所在的存储位置。可以为表中的单个列建立索引,也可以为一组列建立索引。

索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似:通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。因为索引是有序排列的,所以会大大提高索引的效率。

用户可以利用索引快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列的值进行排序的结构。

6.答

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

五、上机练习题

(一)表的定义及约束

2.答:

CREATE TABLE 职工基本信息

(职工编号 CHAR(5) PRIMARY KEY,

姓名 CHAR(10) NOT NULL,

性别 CHAR(2),

出生日期 DATETIME,

部门编号 CHAR(3))

(2)

CREATE TABLE 工资

(职工编号 CHAR(5) PRIMARY KEY,

基本工资 MONEY,

奖金 MONEY,

实发工资 MONEY)

(3)

CREATE TABLE 部门信息

(部门编号 CHAR(3) PRIMARY KEY,

部门名称 CHAR(20) NOT NULL,

部门简介 VARCHAR(50))

3.答:

ALTER TABLE 职工基本信息ADD 职称 CHAR(10)

4.答:

ALTER TABLE 职工基本信息 DROP COLUMN 职称

5.答:

ALTER TABLE 部门信息 ADD CONSTRAINT uk_dptname UNIQUE(部门名称)

6.答:

ALTER TABLE 职工基本信息 ADD CONSTRAINT chk_sex CHECK (性别 in ('男','女')) 7.答:

ALTER TABLE 工资 ADD CONSTRAINT chk_salary CHECK (基本工资>0)

8.答:

ALTER TABLE 工资 ADD CONSTRAINT dftsalary1 DEFAULT 0 FOR 基本工资

ALTER TABLE 工资 ADD CONSTRAINT dftsalary2 DEFAULT 0 FOR 奖金

9.答:

ALTER TABLE 职工基本信息 ADD CONSTRAINT dftsex DEFAULT '男' FOR 性别10.答:

ALTER TABLE 职工基本信息 ADD CONSTRAINT fk_1

FOREIGN KEY (部门编号) REFERENCES 部门信息(部门编号)

ALTER TABLE 工资 ADD CONSTRAINT fk_2 FOREIGN KEY (职工编号)

REFERENCES 职工基本信息(职工编号)

11.答:

ALTER TABLE 职工基本信息 DROP CONSTRAINT fk_1

ALTER TABLE 工资 DROP CONSTRAINT fk_2

12.答:

CREATE RULE bonus_rule AS @range<=1000

GO

EXEC sp_bindrule 'bonus_rule' , '工资.奖金'

13.答:

EXEC sp_unbindrule '工资.奖金'

DROP RULE bonus_rule

(二)表的更新

1.答:

INSERT INTO 职工基本信息 VALUES ('10001','王佳','女','1979/02/01','001') INSERT INTO 职工基本信息 VALUES ('20001','张欣','男','1965/05/10','002') INSERT INTO 职工基本信息 VALUES ('20003','李勇','男','1976/08/01','002') INSERT INTO 职工基本信息 VALUES ('10002','刘军','男','1973/07/01','001') 2.答:

INSERT INTO 工资(职工编号,基本工资,奖金) VALUES ('10001',2000,2200)

INSERT INTO 工资(职工编号,基本工资,奖金) VALUES ('10002',2500,3000)

3.答:

INSERT INTO 工资(职工编号,基本工资,奖金)

SELECT 职工编号,基本工资,奖金

FROM 临时工资信息

4.答:

CREATE TABLE 部门平均年龄

(部门编号 CHAR(15),

平均年龄 SMALLINT)

5.答:

INSERT INTO 部门平均年龄

SELECT 部门名称,AVG(year(getdate())-YEAR(出生日期))

FROM 职工基本信息

GROUP BY 部门编号

6.答:

UPDATE 工资 SET 奖金=奖金*1.1 FROM 职工基本信息

WHERE 职工基本信息.职工编号=工资.职工编号 AND 职工基本信息.部门编号='001' 7.答:

UPDATE 工资 SET 实发工资=基本工资+奖金

8.答:

DELETE FROM 工资 WHERE 职工编号='10001'

DELETE 工资 FROM 职工基本信息

WHERE 职工基本信息.职工编号=工资.职工编号 AND 职工基本信息.部门名称='001'

(三)表的查询

1.答:

SELECT * FROM authors

2.答:

SELECT title,price,pubdate FROM titles

3.答:

SELECT title_id,title,price*0.8 as NewPrice FROM titles

4.答:

SELECT DISTINCT type FROM titles

5.答:

SELECT au_lname,au_fname,phone FROM authors WHERE state='CA'

6.答:

SELECT title FROM titles WHERE type='business' AND price<10

7.答:

SELECT * FROM titles WHERE price BETWEEN 10 AND 20

8.答:

SELECT * FROM titles WHERE price NOT BETWEEN 10 AND 20

9.答:

SELECT * FROM authors WHERE city IN('Oakland','Covelo','Palo Alto')

10.答:

SELECT * FROM authors WHERE au_fname LIKE('____') ORDER BY au_lname

11.答:

SELECT * FROM authors WHERE au_lname LIKE 'S%' AND au_fname LIKE '%e%' 12.答:

SELECT * FROM authors WHERE au_lname LIKE '[A-K]%'

13.答:

SELECT MAX(price),MIN(price),SUM(price),AVG(price) FROM titles

14.答:

SELECT COUNT(DISTINCT(type)) FROM titles

15.答:

SELECT COUNT(*) FROM authors WHERE state='CA'

16.答:

SELECT state AS 州名,COUNT(au_id) AS 人数 FROM authors GROUP BY state

17.答:

SELECT type AS 图书分类, AVG(price) AS 平均价格

FROM titles GROUP BY type

SELECT title AS 书名,type AS 类型,price AS 单价 FROM titles ORDER BY type COMPUTE AVG(price) BY type

19.答:

SELECT au_lname,au_fname,title_id

FROM authors,titleauthor

WHERE authors.au_id=titleauthor.au_id

20.答:

SELECT au_lname,au_fname,title_id

FROM authors INNER JOIN titleauthor

ON authors.au_id=titleauthor.au_id

21.答:

SELECT au_lname,au_fname,title_id

FROM authors, titleauthor

WHERE authors.au_id *= titleauthor.au_id

或:

SELECT au_lname,au_fname,title_id

FROM authors left join titleauthor ON authors.au_id = titleauthor.au_id 22.答:

SELECT au_lname,au_fname,title

FROM authors,titles,titleauthor

WHERE authors.au_id=titleauthor.au_id

AND titleauthor.title_id=titles.title_id

23.答:

SELECT au_lname,au_fname,title

FROM authors inner join titleauthor ON authors.au_id=titleauthor.au_id INNER JOIN titles ON titleauthor.title_id=titles.title_id

24.答:

SELECT au_lname,au_fname,title,price,pub_name

FROM authors INNER JOIN titleauthor ON authors.au_id=titleauthor.au_id INNER JOIN titles ON titleauthor.title_id=titles.title_id

INNER JOIN publishers ON titles.pub_id=publishers.pub_id

25.答:

SELECT pub_name,titles.*

FROM titles,publishers

WHERE titles.pub_id=publishers.pub_id AND state='CA'

26.答:

SELECT au_lname,au_fname,title,pub_name,authors.city

FROM authors INNER JOIN titleauthor ON authors.au_id=titleauthor.au_id

INNER JOIN titles on titleauthor.title_id=titles.title_id

INNER JOIN publishers on titles.pub_id=publishers.pub_id

WHERE authors.city=publishers.city

27.答:

SELECT title

FROM titles

WHERE price<(SELECT price FROM titles WHERE title_id='PS2091')

28.答:

SELECT au_id,au_lname,au_fname

FROM authors

WHERE EXISTS ( SELECT * FROM titleauthor WHERE authors.au_id=titleauthor.au_id) ORDER by au_id DESC

29.答:

SELECT au_lname,au_fname,city

FROM authors

WHERE city= (SELECT city FROM authors WHERE au_id='213-46-8915')

AND au_id<>'213-46-8915'

30.答:

SELECT authors.city FROM authors

UNION

SELECT publishers.city FROM publishers

ORDER BY 1

(四)索引

1.答:

CREATE UNIQUE CLUSTERED

INDEX name_ind

ON au(au_lname,au_fname)

2.(略)

3.答:

DROP INDEX https://www.doczj.com/doc/f719227896.html,_ind

(五)视图

1.答:

CREATE VIEW view1(姓,名,书名,电话,地址)

AS

SELECT authors.au_lname , authors.au_fname, titles.title ,

authors.phone , authors.address

FROM authors, titles,titleauthor

sql语句练习题及答案

一在数据库 school 中建立student , sc, course 表。 学生表、课程表、选课表属于数据库 School ,其各自的数据结构如下:学生 Student (Sno,Sname,Ssex,Sage,Sdept) 课程表 course(Cno,Cname,Cpno,Ccredit) 学生选课 SC(Sno,Cno,Grade)

二设定主码 1 Student表的主码:sno 2 Course表的主码:cno 3 Sc表的主码:sno,cno 1写出使用 Create Table 语句创建表 student , sc, course 的SQL语句2在student表中插入信息 3 删除student表中的元组 4在数据库school中删除关系student 5在student表添加属性sbirthdate 类型 datetime 练习 Delete 1 删除所有 JSJ 系的男生delete from Student where Sdept=’JSJ’ and Ssex=’男’;

2 删除“数据库原理”的课的选课纪录 delete from SC where Cno in (select Cno fromCourse w here Cname=’数据库原理’); Update 1 修改 0001 学生的系科为: JSJ 2 把陈小明的年龄加1岁,性别改为女。 2 修改李文庆的1001课程的成绩为 9 3 分 3 把“数据库原理”课的成绩减去1分 Select 查询语句 一单表 1查询年龄在19至21岁之间的女生的学号,姓名,年龄,按年龄从大到小排列。 2查询姓名中第2个字为“明”字的学生学号、性别。 3查询 1001课程没有成绩的学生学号、课程号 4查询JSJ 、SX、WL 系的年龄大于25岁的学生学号,姓名,结果按系排列5按10分制查询学生的sno,cno,10分制成绩 (1-10分为1 ,11-20分为2 ,30-39分为3,。。。90-100为10)

数据库SQL语句练习题含答案

SQL语句练习 练习5. 1. 2: 基于不断滚动的电影数据库的实例: Movie( 电影名title,拍摄年代year ,长度length, inColor ,制片厂名studioName, 制片人证书号producerC# ) StarsIn(电影名movieTitle,拍摄年份movieYear ,影星名starName) MovieStar (姓名name,地址address,性别gender ,生日birthdate) MovieExec( 姓名name,地址address ,证书号cert # ,净资产netWorth ) Studio(姓名name, 地址address,总裁证书号presC# ) 请写出下列SQL 查询语句: * ( a) 找出米高梅制片公司(MGM studios)的地址。 SELECT address AS Studio_Address FROM Studio WHERE name = 'MGM'; ( b) 找出桑德拉·布洛克( Sandra Bullock ) 的出生日期( birthdate) 。SELECT birthdate AS Star_Birthdate FROM MovieStar WHERE name = 'Sandra Bullock'; * ( c) 找出在1980 年拍摄过电影的所有影星, 或者拍摄过电影名中含有“Love”的电影的所有影星。 SELECT starName FROM StarsIn WHERE movieYear = 1980 OR movieTitle LIKE '%Love%'; ( d) 找出净资产至少1 000 万美元的所有行政长官。

SQL数据库题库及答案

一、单项选择题,请将正确答案填在括号里。 1、()是位于用户与操作系统之间的一层数据管理软件. A、数据库管理系统 B、数据库系统 C、数据库 D、数据库应用系统 2、要想使SQL Server2000数据库管理系统开始工作,必须首先启动()。 A、数据导入和导出程序 B、查询分析器 C、网络实用工具 D、SQL Server服务器 3、SQL Server 的登录账户信息保存在()数据库中。 A、master B、model C、 msdb D、tempdb 4、以下哪个数据库角色中拥有可以执行所有数据库角色的活动的权限? ( ) A、public B、db_owner C、db_security admin D、db_access admin 5、下列关于数据库的数据文件叙述错误的是()。 A 、创建数据库时必须指定数据文件 B 、创建数据库时, PRIMARY 文件组中的第一个文件为主数据文件 C 、一个数据库可以有多个数据文件

D 、一个数据库只能有一个主数据文件 6、创建约束的命令是()。 A、CREATE TABLE B、ALTER CONSTRAINT C、ALTER TABLE D、ALTER COLUMN 7、下列有关批的叙述中正确的是()。 A、批是一起提交处理的一组语句 B、通常用GO来表示一个批的结束 C、不能在一个批中引用其它批定义的变量 D、批可长可短,在批中可以执行任何T-SQL语句 8、下面关于聚集索引和非聚集索引说法正确的是()。 A、每个表只能建立一个非聚集索引 B、非聚集索引需要较多的硬盘空间和内存 C、一张表上不能同时建立聚集和非聚集索引 D、一个复合索引只能是聚集索引 9、下列命令不能执行的是()。 A、 SELECT * FROM [select] B、 SELECT * FROM @MyTable C、 SELECT * FROM [MyTable] D、 SELECT * FROM MyTable 10、并发操作会带来的数据不一致性有()。 A、丢失修改、不可重复读、读脏数据、死锁

sql数据库参考答案

1、反映现实世界中实体及实体间联系的信息模型是( )。【正确答案: D】 A 关系模型 B 层次模型 C 网状模型 D E-R模型 2.在数据操作语言(DML)的基本功能中,不包括的是( )【正确答案: B】 A 插入新数据 B 描述数据库结构 C 修改数据 D 删除数据 3.扩展名为mdf的文件是【正确答案: A】 A 主数据文件 B 次数据文件 C 日志文件 D 项目文件 4.下列四项中,不属于数据库特点的是( ) 【正确答案: C】 A 数据共享 B 数据完整性 C 数据冗余很高 D 数据独立性高 5.数据库管理系统的英文缩写是()。【正确答案: D】 A DB B DBS C DBA D DBMS 6.视图是从一个或多个表中或视图中导出的()【正确答案: A】 A 表 B 查询 C 报表 D 数据 7. update语句来更新表中的数据,一次可以更新( ).【正确答案: D】 A 一行 B 多行 C 一行和多行 D 多个 8.以下不属于聚合函数的是()【正确答案: A】) A insert ; B max() C min() D sum() 9.不是SQL Server中所包含的约束种类的是() 【正确答案: A】 A 关键字约束

C 唯一性约束 D 默认约束 10.在SQL中,SELECT语句的"SELECT DISTINCT"表示查询结果中( )【正确答案: B】 A 属性名都不相同 B 去掉了重复的数据 C 行都不相同 D 属性值都不相同 11.在数据操作语言(DML)的基本功能中,不包括的是( )【正确答案: B】 A 插入新数据 B 描述数据库结构 C 修改数据 D 删除数据 12. DELETE语句来删除表中的数据,一次可以删除()【正确答案: c】 A 一行 B 多行 C 一行和多行 D 多个 13.视图是从一个或多个表或试图中导出的()【正确答案: C】 A 报表 B 查询 C 表 D 数据 14.()包含用于恢复数据库的日志信息。【正确答案: B】 A 数据库文件; B 事物日志文件; C 文件组; D 次文件组 15.下列运算符中表示一个或多个任意字符的是( ).【正确答案: B】 A * B % C LIKE D _ 16.()是SQL Server中最重要的管理工具【正确答案: A】 A 企业管理器 B 查询分析器 C 服务管理器 D 事件探察器 17.修改和删除数据库中数据的语句。【正确答案: D】 A SELECT B INSERT C UPDATE D DROP 18.不是SQL Server中所包含的约束种类的是( ). 【正确答案: A】

sql数据库习题与答案

sql数据库习题与答案 SQL数据库习题与答案 SQL(Structured Query Language)是一种用于管理关系型数据库的标准化语言。在数据库管理系统中,SQL可以用于执行各种操作,如插入、更新、删除和查询数据。对于学习SQL的人来说,练习SQL数据库习题是非常重要的。下面将为大家提供一些常见的SQL数据库习题以及相应的答案。 1. 查询所有学生的信息 答案:SELECT * FROM students; 2. 查询所有学生的姓名和年龄 答案:SELECT name, age FROM students; 3. 查询所有学生的姓名,并按照年龄从小到大进行排序 答案:SELECT name FROM students ORDER BY age; 4. 查询学生表中年龄大于18岁的学生信息 答案:SELECT * FROM students WHERE age > 18; 5. 查询学生表中姓“张”的学生信息 答案:SELECT * FROM students WHERE name LIKE '张%'; 6. 查询学生表中的姓名和对应的课程名称 答案:SELECT https://www.doczj.com/doc/f719227896.html,, https://www.doczj.com/doc/f719227896.html, FROM students INNER JOIN course ON students.course_id = course.id; 7. 查询学生表中每个班级的学生人数 答案:SELECT class, COUNT(*) FROM students GROUP BY class; 通过以上SQL数据库习题与答案的练习,可以帮助大家更好地理解和掌握SQL

SQL试题及答案

SQL试题及答案 模拟测验1 一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题 末的括号中)(本大题共10小题,每小题2分,总计20分) 1.()是位于用户与操作系统之间的一层数据管理软件,它属于系统 软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用 和维护时由其统一管理、统一控制。A.DBMSB.DBC.DBSD.DBA 2.下列四项中,不属于SQL2005实用程序的是()。A.对象资源管理 器B.查询分析器C.服务管理器D.媒体播放器 3.SQLServer安装程序创建4个系统数据库,下列哪个不是()系统 数据库。A.materB.modelC.pubD.mdb 4.下列哪个不是ql数据库文件的后缀。 A..mdfB..ldfC..tifD..ndf 5.SQL语言允许使用通配符进行字符串匹配的某作,其中%可以表示()A.零个字符B.1个字符串C.多个字符串D.以上都是 6.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且()。A.包括15岁和35岁B.不包括15岁和35岁 C.包括15岁但不包括35岁 D.包括35岁但不包括15岁7.SQL的视 图是从()中导出的。A.基本表B.视图C.基本表或视图D.数据库 8.在SQL语言中,建立存储过程的命令是()A、CREATEPROCEDUREB、CREATERULEC、CREATEDURED、CREATEFILE9.SQL语言中,删除表中数据的 命令是()。A.DELETEB.DROPC.CLEARD.REMOVE

10.在MSSQLServer中,用来显示数据库信息的系统存储过程是()。 A.p_dbhelp B.p_db C.p_help D.p_helpdb二、简答题(16分) 1、什么是游标?使用游标的步骤? 2、什么是事务?事务的基本属性 是什么?三、应用题 1、创建一个名字为k的数据库,包含一个数据文件和一个日志文件,逻辑文件名为k_data,磁盘文件名为k_data.mdf,文件初始容量为5MB, 最大容量为10MB,文件递增量为1MB;而事务日志文件的逻辑文件名 k_log,磁盘文件名为k_log.ldf,文件初始容量为1MB,最大容量为5MB,文件递增量为1MB(数据库创建在C:\\SERVER文件夹下)(10分)2、 假设k数据库有以下三张表,请写出下列问题的SQL语句:(每题6分, 共54分)学生(学号,姓名,年龄,性别)课程(课程号,课程名,任 课教师)成绩(学号,课程号,成绩) (1)如何在SQLServer上创建这三张表;(2)查询刘峰教师所授课 程号,课程名; (3)查询年龄大于20岁的所有男同学的学号、姓名;(4)查询王 文芳同学选修的所有课程的课程号; (5)查询所有上刘峰老师课程的学生学号;(6)查询所有选修“数 据库技术”的学生的学号;(7)向学生表中插入一条记录(2003001,吴红,21,女);(8)删除三张表中所有学号为20020001的学生信息;(9)把学号为20030002的学生的年龄改为22岁; SQLServer2005复习题 一、选择题

SQL数据库选择题及答案

SQL数据库选择题及答案 第一篇:SQL数据库选择题及答案 1、在数据库技术中,独立于计算机系统的模型是_C__。A、面向对象的模型B、关系模型C、E-R模型D、层次模型 2、数据库系统的控制中枢是__B_。A、数据库、b、数据库管理系统C、数据库管理员D、数据库应用系统 3、使用SQL命令将学生表STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是__C_。 A、UPDATE SET AGE WITH AGE+1 B、REPLACE AGE WITH AGE+1 C、UPDATE STUDENT SET AGE=AGE+1 D、UPDATE STUDENT AGE WITH AGE+1 4、在关系数据库中,建立数据库表时,将年龄字段值限制在12~40岁之间的这种约束属于__B__。 A、视图完整性约束 B、域完整性约束 C、参照完整性约束 D、实体完整性约束 5、在 SQL 语句中,与 X BETWEEN 20 AND 30 等价的表达式是__D_。A、X>=20 AND X<30 B、X>20 AND X<30 C、X>20 AND X<=30 D、X>=20 AND X<=30 6、在数据库中,概念模型是_D__。A、用于现实的建模,与具体的DBMS有关B、用于信息世界的建模,与具体的DBMS有关 C、用于现实的建模,与具体的DBMS无关 D、用于信息世界的建模,与具体的DBMS无关 7、数据库的并发操作可能带来的问题包括__B_。A非法用户的使用B丢失更新C数据独立性会提高D增加数据冗余度 8、在关系数据库中,模式对应的是__A___。A、视图和所有基本表

SQL复习题(附部分答案)

一、单选题 1.根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项: ( ___) A.只存在一对多的实体关系,以图形方式来表示。 B.以二维表格结构来保存数据,在关系表中不允许有重复行存在。 C.能体现一对多、多对多的关系,但不能体现一对一的关系。 D.关系模型数据库是数据库发展的最初阶段。 答案[ B] 2、在“连接”组中有两种连接认证方式,其中在( ___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。 A 、 Windows身份验证B、SQL Server身份验证 C 、以超级用户身份登录时 D 、其他方式登录时 答案[ B] 3、关系数据库中,主键是(___),当运用 Transact-SQL 语句创建主键时,可以是( __)。 ⑴ A 、为标识表中唯一的实体B、创建唯一的索引,允许空值 C 、只允许以表中第一字段建立D、允许有多个主键的 ⑵ A 、 create table table1 (column1 char(13) not null primary key, column2 int not on primary key; B 、alter table table1 with nocheck add constraint [PK_table1] primary key nonclustered ( column1) on primary; C、alter table table1 column1 primary key ; 答案[AC] 4、视图是一种常用的数据对象,可以简化数据库操作,当使用多个数据表来 建立视图时,不允许在该语句中包括( ___)等关键字。 A 、 ORDER BY,COMPUTE B 、ORDER BY,COMPUTE,COMPUTR BY C 、 ORDER BY,COMPUTE BY,GROUP BY D 、 GROUP BY,COMPUT E BY 答案[B ] 5、在 Transact-SQL 语法中, SELECT语句的完整语法较复杂,但至少包括的部分(_1_),使用关键字( _2_)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是( _3__),如果在 SELECT语句中使用聚合函数时,可以在后面使用( _4_)。 ⑴A 、SELECT,INTO B 、SELECT,FROM C 、SELECT,GROUP D、仅 SELECT ⑵ A 、DISTINCT B、UNION C 、ALL D 、TOP ⑶A 、JOIN B、UNION C、INTO D 、 LIKE ⑷A 、 GROUP BY 、BCOMPUTE BY 、CHAVING D、COMPUTE 答案[BABA] 6、SQL Server 2008 是一个()的数据库系统。 (A) 网状型( B)层次型(C)关系型(D)以上都不是

数据库sql课后练习题及答案解析

数据库sql课后练习题及答案解析 第一篇:数据库sql课后练习题及答案解析 先创建下面三个表: (book表) (borrow表) (reader表) 1)找出姓李的读者姓名(NAME)和所在单位(COMPANY)。 2)列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。3)查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排序。 4)查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。 5)查找书名以”计算机”开头的所有图书和作者(WRITER)。 6)检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。 ##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。 9)* 无重复地查询2006年10月以后借书的读者借书证号(READER_ID)、姓名和单位。 ##10)* 找出借阅了一书的借书证号。 11)找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。12)查询2006年7月以后没有借书的读者借书证号、姓名及单位。#13)求”科学出版社”图书的最高单价、最低单价、平均单价。##14)* 求”信息系”当前借阅图书的读者人次数。 #15)求出各个出版社图书的最高价格、最低价格和总册数。#16)分别找出各单位当前借阅图书的读者人数及所在单位。 17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。18)分别找出借书人次数多于1人次的单位及人次数。

sql数据库练习题参考答案

第1章数据库基础 练习题 一、单项选择题 1.C 2.A 3.C 4.D 5.D 6.B 7.A 8.B 9.B 10.D 11.C 12.A 13.C 14.B 15.A 16.B 17.A 18.D 19.B 20.B 21.A; D 22.A 23.C 24.D 25.B 26.B 27.B 28.D 29.B 30.B 二、填空题 1.概念;数据 2.属性 3.码 4.一对一联系;一对多(或多对一)联系;多对多联系 5.候选码 6.候选码 7.关系名(属性1,属性2,…,属性n) 8.关系数据结构;关系操作集合;关系完整性约束 9.实体;参照;用户定义的;实体;参照 10.空值 11.需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运行和维护阶段 12.准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应用系统的目标,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的依据。 13.将需求分析得到的用户需求抽象为信息结构即概念模型。 14.将概念结构进一步转化为某一DBMS支持的数据模型,并对其进行优化。 15.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。 三、指出以下各缩写的英文意思和中文意思 1.DB:Database 2.DBMS:Database Management System 3.RDBMS: 4.DBS:Database System 5.DBA:Database Administrator

SQL数据库习题及答案

SQL数据库习题及答案 1.模型中,同一个关系中的不同属性,其属性名__B__。A. 可以相同 B. 不能相同C. 可以相同,但数据类型不同 D. 必须相同 2.数据库系统由数据库、A组成。A.DBMS、应用程序、支持数据库运行的软硬件环境和DBA 3.计算机数据管理技术的发展可以划分为三个阶段,在某个阶段数据是以文件形式长期存储在辅助存储器中,程序和数据之间具有相对的独立性,数据不再属于某个特定的应用程序,数据可以重复使用,该阶段是B。B.文件管理阶段C.数据库管理阶段D.信息管理系统阶段 4.在数据库的三级体系结构中,数据库的模式对应于数据库的D B.内部视图C.存储视图D.概念视图 5.在数据库的三级体系结构中,数据的逻辑独立性是通过D来实现的。D.外模式-模式映射 6.三层C/S结构包括客户机、应用服务器和数据库服务器三部分。 7.DDL是指数据描述语言,DML是指数据操纵-查询语言,DBMS是指数据库管理系统,DD是指数据字典。 8.在SPARC结构中,定义的数据库三层结构分别是外模式、模式和内模式。9.数据的独立性包括物理独立性和逻辑独立性两个方面。 10.实体集之间的联系有三种,分别是一对一的联系,一对多的联系,多对多的联系11.试说明数据管理的数据库阶段的主要特点。答:数据库管理的数据库阶段主要特点是:1、数据共享性;2、具有较高的数据与程序的独立性;3、便于对数据实行集中统一的控制。12.试说明DBMS的组成。答:DBMS是由一系列软件构成的复杂系统,一般来说DBMS由下列三类软件组成:语言系统;控制数据库运行的程序;数据库维护程序;13.数据模型的三要素是什么?答:数据模型的三要素是数据结构、数据操作、数据的约束条件。14.关系模型有什么特点?答:关系模型有什么特点:1、关系模型与非关系模型不同,它是建立在严格的数学概念基础上的;2、关系模型的概念单一,无论实体或实体之间的联系都用关系表示3、存取路径对用户透明。4、关系必须是规范化的关系。 第二章关系数据库基本理论 1.下列不属于关系代数运算的是 A 。A.查询B.投影C.选择D.联

sql考试题及答案

sql考试题及答案 sql考试题及答案 【篇一:sql试题及答案】 题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分) 1. ()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。a.dbms b.db c.dbs d.dba 2. 下列四项中,不属于sql2005实用程序的是()。a.对象资源管理器b.查询分析器c.服务管理器d.媒体播放器 3. sql server安装程序创建4个系统数据库,下列哪个不是()系统数据库。 a. master b. model c. pub d. msdb 4. 下列哪个不是sql 数据库文件的后缀。a..mdf b..ldf c..tif d..ndf 5. sql语言允许使用通配符进行字符串匹配的*作,其中?%?可以表示() a.零个字符 b.1个字符串 c. 多个字符串 d. 以上都是 6. sql语言中,条件年龄between 15 and 35表示年龄在15至35之间,且( )。 a.包括15岁和35岁 b.不包括15岁和35岁 c.包括15岁但不包括35岁 d.包括35岁但不包括15岁7. sql 的视图是从()中导出的。a. 基本表b. 视图 c. 基本表或视图 d. 数据库 8. 在sql语言中,建立存储过程的命令是() a、create procedure b、create rule c、create dure d、create file

9. sql语言中,删除表中数据的命令是( )。a. delete b. drop c. clear d. remove 10. 在ms sql server中,用来显示数据库信息的系统存储过程是( )。a. sp_dbhelp b. sp_db c. sp_help d. sp_helpdb 二、简答题(16分) 1、什么是游标?使用游标的步骤? 2、什么是事务?事务的基本属性是什么?三、应用题 1、创建一个名字为ks的数据库,包含一个数据文件和一个日志文件,逻辑文件名为ks_data,磁盘文件名为ks_data.mdf,文件初始容量为5mb,最大容量为10mb,文件递增量为1mb;而事务日志文件的逻辑文件名ks_log,磁盘文件名为ks_log.ldf,文件初始容量为1mb,最大容量为5mb,文件递增量为1mb(数据库创建在c:\\server文件夹下)(10分) 2、假设ks数据库有以下三张表,请写出下列问题的sql语句:(每题6分,共54分)学生(学号,姓名,年龄,性别)课程(课程号,课程名,任课教师)成绩(学号,课程号,成绩)(1)如何在sql server上创建这三张表;(2)查询刘峰教师所授课程号,课程名; (3)查询年龄大于20岁的所有男同学的学号、姓名;(4)查询王文芳同学选修的所有课程的课程号;(5)查询所有上刘峰老师课程的学生学号; (6)查询所有选修“数据库技术”的学生的学号; (7)向学生表中插入一条记录(?***-*****?,?吴红?,21,?女?);(8)删除三张表中所有学号为***-*****的学生信息;(9)把学号为***-*****的学生的年龄改为22岁;sql server 2005 复习题一、选择题 1. sql语言允许使用通配符进行字符串匹配的*作,其中?%?可以表示(c ) a 零个字符 b 1个字符串 c 多个字符串 d 以上都是2 如何在已经创建好的表上添加一个外键(a )

数据库(sql)课堂练习题(答案)

假设有如下4个样表 student(学号,姓名,性别,出生日期,班级) teacher(教工号,姓名,性别,出生日期,职称,所在系) course(课程号, 课程名,教工号) score(学号,课程号,成绩) 1、查询学生信息表中所有的姓名、性别和班级 select sname,sex,class from student 2、查询成绩表中成绩在60到80之间的所有记录 select * from score where degree between 60 and 80 3、查询学生信息表中‘95031’班的学生或性别为‘女’的学生记录 select * from student where class=95031 or sex='女' 4、以班级降序显示学生信息表的所有记录 select * from student order by class desc 5、以课程号升序、成绩降序显示成绩表的所有记录 select * from score order by cno asc , degree desc 6、查询‘95031’班的学生人数 select count(sno) 人数 from student where class=95031 7、查询成绩表中的最高分的学生的学号,课程号 select sno,cno from score where degree=(select max(degree) from score) 8、查询成绩表中课程号为‘3-105’的平均分*/ select avg(degree) 平均成绩 from score where cno='3-105' 9、显示成绩表中至少有5名学生选修的并以3开头的课程号的平均分数 select avg(degree) 平均分数 from score where cno like '3%' group by cno having count(sno)>=5 10、列出95033班和95031班全体学生的记录 select * from student where class in('95031','95033') 11、显示所有学生的姓名、课程号和成绩 select sname,cno,degree from student,score where student.sno=score.sno 12、列出所有同学的姓名、课程名和成绩 select sname,cname,degree from student,score,course where student.sno=score.sno and https://www.doczj.com/doc/f719227896.html,o=https://www.doczj.com/doc/f719227896.html,o 13、显示'张旭'教师任课的学生成绩 select student.sno, sname,degree from student,score where student.sno=score.sno and cno in (select cno from course where tno in (select tno from teacher where name='张旭' ) ) 14、列出存在有85分以上成绩的课程号 select distinct cno from score where degree in (select degree from score where degree>85) 15、列出最高分同学的学号、课程号和成绩*/ select * from score where sno= (select sno from score where degree= (select max(degree) from score)) 16、列出所有未讲课的教师的姓名和系别 select name,depart from teacher where not exists (select * from course where course.tno=teacher.tno)

SQL语言习题参考答案

第3章 SQL语言习题参考答案 1.试述SQL语言的特点。(85页) 答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。2.试述SQL的定义功能。(87页) 答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。 S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4)) 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成: CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2)) 工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、

所在城市(CITY)组成: CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)). 供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成: CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2)) 4.针对上题中建立的四个表试用SQL语言完成第二章习 题5中的查询: (1)求供应工程J1零件的供应商号码SNO: SELECT DIST SNO FROM SPJ WHERE JNO='J1' (2)求供应工程J1零件P1的供应商号码SNO: SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO: SELECT SNO FROM SPJ,P WHERE JNO='J1' AND = AND COLOR='红' (4)求没有使用天津供应商生产的红色零件的工程号JNO: SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE ='天津' AND COLOR='红' AND = AND =。(5)求至少用了供应商S1所供应的全部零件的工程号JNO。

sql习题答案

sql习题答案 1.3 习题 1. 数据库的发展历史分为哪几个阶段?各有什么特点? 答:从数据管理的角度看,数据库技术到目前共经历了人工管理阶段、文件系统阶段和数据库系统阶段。 人工管理阶段数据管理特点:数据不保存,没有对数据进行管理的软件系统,没有文件的概念,数据不具有独立性。 文件系统阶段数据管理特点:数据可以长期保存,由文件系统管理数据,文件的形式已经多样化,数据具有一定的独立性。 数据库系统阶段数据管理特点:采用复杂的结构化的数据模型,较高的数据独立性,最低的冗余度,数据控制功能。 2. 简述数据、数据库、数据库管理系统、数据库系统的概念。 答:数据是指描述事物的符号记录。人们通过数据来认识世界,交流信息。 数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。 数据库管理系统(DataBase Management System,简称DBMS)是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能,它位于用户和操作系统之间,是一层数据管理软件。 数据库系统(DataBase System,简称DBS)是指在计算机系统中引入了数据库后的系统,由计算机硬件、数据库、数据库管理系统、应用程序和用户构成,即由计算机硬件、软件和使用人员构成。 3. 使用数据库系统有什么好处? 答:简化管理,提高效率,提供安全。 4. 试述数据库系统的三级模式结构和二级映象的特点。

SQL数据库习题及答案.doc

SQL数据库习题及答案 1.模型中,同一个关系中的不同属性,其属性名不能相同。 2.数据库系统由数据库、DBMS、DBA、支持数据库系统的硬件环境和操作系统环境及说明书组成 3.计算机数据管理技术的发展可以划分为三个阶段,在某个阶段数据是以文件形式长期存储在辅助存储器中,程序和数据之间具有相对的独立性,数据不再属于某个特定的应用程序,数据可以重复使用,该阶段是文件管理阶段 4.在数据库的三级体系结构中,数据库的模式对应于数据库的概念视图 5.在数据库的三级体系结构中,数据的逻辑独立性是通过外模式一模式映射来实现的。 6.三层C/S结构包括客户机、应用服务器和数据库服务器三部分。 7.DDL是指数据描述语言,DML是指数据操纵-查询语言,DBMS是指数据库管理系统, DD 是指数据字典。 8.数据库的三层模式结构分别是外模式、概念模式和存储模式。 9.数据的独立性包括物理独立性和逻辑独立性两个方面。 10.实体集之间的联系有三种,分别是一对一的联系,一对多的联系,多对多的联系 11.试说明数据管理的数据库阶段的主要特点。答:数据库管理的数据库阶段主要特点是:1、数据共享性;2、具有较高的数据与程序的独立性;3、便于对数据实行集中统一的控制。 12.试说明DBMS的组成。答:DBMS是由一系列软件构成的复杂系统,一般来说DBMS 由下列三类软件组成:语言系统;控制数据库运行的程序;数据库维护程序; 13.数据模型的三要素是什么?答:数据模型的三要素是数据结构、数据操作、数据的约束条件。 14.关系模型有什么特点?答:关系模型有什么特点:1、关系模型与非关系模型不同,它是建立在严格的数学概念基础上的;2、关系模型的概念单一,无论实体或实体之间的联系都用关系表示3、存取路径对用户透明。4、关系必须是规范化的关系。 第二章关系数据库基本理论 1.下列不属于关系代数运算的是A 。 A.查询B.投影C.选择D.联结 2.在关系数据模型中,利用关系运算对两个关系进行操作,得到的结果是 B 。 A.属性 B.关系 C.元组

SQL练习题参考答案

针对以上四个表,用SQL语言完成以下各项操作: ①给学生表增加一属性Nation(民族),数据类型为Varchar(20); Alter table student add Nation Varchar(20); ②删除学生表中新增的属性Nation; Alter table student drop column Nation; ③向成绩表中插入记录(”2001110”,”3”,80); insert into Grade values('2001103','3',80); ④修改学号为”2001103”的学生的成绩为70分; update Grade set Gmark=70 where Sno='2001103'; ⑤删除学号为”2001110”的学生的成绩记录; delete Grade where Sno='2001110'; ⑥为学生表创建一个名为,以班级号的升序排序; create index IX_Class on student(Clno ASC); ⑦删除IX_Class索引 Drop index IX_Class 针对以上四个表,用SQL语言完成以下各项查询: ①找出所有被学生选修了的课程号; select distinct cno from grade; ②找出01311班女学生的个人信息; select * from student where clno=01311 and ssex='女'; ③找出01311班、01312班的学生姓名、性别、出生年份; Select sname,ssex, 2011-sage as ‘出生年份’ from student where clno in('01311','01312'); ④找出所有姓李的学生的个人信息; Select * from student where sname like ’李%’; ⑤找出学生李勇所在班级的学生人数; Select number from class where clno in (select clno from student where sname= '李勇'); ⑥找出课程名为操作系统的平均成绩、最高分、最低分;

数据库第三章习题及答案

第3章关系数据库标准语言SQL 一、选择题 1、SQL语言是的语言,易学习。 A.过程化 B.非过程化 C.格式化 D.导航式答案:B 2、SQL语言是语言。 A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库答案:C 3、SQL语言具有的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵答案:B 4、SQL语言具有两种使用方式,分别称为交互式SQL和。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 答案:C 5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。 要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系。 A.S B.SC,C C.S,SC D.S,C,SC 答案:D 6、若用如下的SQL语句创建一个student表: CREATE TABLE student(NO C(4) NOT NULL, NAME C(8) NOT NULL, SEX C(2), AGE N(2)) 可以插入到student表中的是。 A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL) C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23) 答案:B 7、当两个子查询的结果时,可以执行并,交,差操作. A.结构完全不一致 B.结构完全一致 C.结构部分一致 D.主键一致答案:B 第8到第10题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下: S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。 8、检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=‘王华’) B.SELECT SN,AGE,SEX FROM S WHERE SN=‘王华’ C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=‘王华’) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 答案:A 9、检索选修课程‘C2’的学生中成绩最高的学生的学号。正确的SELECT语句是。 A.SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE>= (SELECT GRADE FORM SC WHERE C#=‘C2’) B.SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE IN (SELECT GRADE FORM SC WHERE C#=‘C2’) C.SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE NOT IN (SELECT GRADE FORM SC WHERE C#=‘C2’) D.SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE>=ALL (SELECT GRADE FORM SC WHERE C#=‘C2’) 答案:D 10、检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是。 A.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S# B.SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE C.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S# D.SELECT S.SN,SC.C#,SC.GRADE FROM S.SC 答案:C 11、关系代数中的л运算符对应SELECT语句中的( )子句. A.SELECT B.FROM C.WHERE D.GROUP BY 答案:A 12、关系代数中的σ运算符对应SELECT语句中的( )子句. A.SELECT B.FROM C.WHERE D.GROUP BY 答案:C 13、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是( ). A. * B. % C. - D. ?答案:B 14、WHERE子句的条件表达式中,可以匹配单个字符的通配符是( ).

相关主题
文本预览
相关文档 最新文档