数据库原理与应用教程—SQL Server课后习题答案(3)

2019-03-29 12:50

答:(1)E-R图 书号 出版社名 单位 还书日期 书名 姓名 邮编

M 出版 1 出版社 借书人 M 借阅 N 图书 地址 E-mail 电话 借书证号 数量 位置 借书日期

(2)和(3)关系模式

图书(书号,书名,数量,位置,出版社名) 借书人(借书证号,姓名,单位)

出版社(出版社名,邮编,地址,电话,E-mail) 借阅(书号,借书证号,借书日期,还书日期)

6.4 习题

1.安装Microsoft SQL Server 2005系统操作。 答:略。

2.SQL Server 2005主要提供了哪些服务?如何启动、暂停或停止SQL Server服务? 答:服务器管理、对象资源管理、SQL Server配置管理等。

启动、暂停或停止SQL Server服务:首先在SQL Server配置管理器的窗口左边单击“SQL Server 2005服务”,此时在窗口右边会看到已安装的所有服务,可以选中某个服务,然后单击窗口上部工具栏中的相应按钮,或右击某个服务名称,在弹出的快捷菜单中选择相应的菜单选项来启动或停止服务。

3.SQL Server外围应用配置器的主要作用是什么?

答:SQL Server外围应用配置器(SQL Server Surface Area Configuration)是SQL Server 2005提供的一个新的管理工具。通过SQL Server外围应用配置器,可以在统一集中的界面下设置各种SQL Server服务实例对外沟通的渠道,降低可能的危险。 4.简述SQL Server Management Studio的使用。 答:略。

5.简述对象资源管理器的功能。

答:SQL Server Management Studio的对象资源管理器组件是一种集成工具,可以查看和管理所有服务器类型的对象。

用户可以通过该组件操作数据库,包括新建、修改、删除数据库、表、视图等数据库对象,新建查询、设置关系图、设置系统安全、数据库复制、数据备份、恢复等操作,是SQL Server Management Studio中最常用、也是最重要的一个组件,类似于SQL Server 2000中的企业管理器。

11

7.3 习题

1.简述T-SQL语言的特点。 答:(1)综合统一

(2)两种使用方式,统一的语法结构 (3)高度非过程化

(4)类似于人的思维习惯,容易理解和掌握

2.什么是标识符?T-SQL中有几种标识符?它们的区别是什么?

答:标识符是用来标识事物的符号,其作用类似于给事物起的名称。标识符分为两类:常规标识符和分隔标识符。

符合所有标识符格式规则的标识符为常规标识符,可以使用分隔符,也可以不使用分隔符。不符合标识符格式规则的标识符必须使用分隔符。 3.如何表示数据库对象名?

答:[server_name.[database_name].[schema_name] | database_name. [schema_name] | schema_name.]object_name

4.什么是局部变量?什么是全局变量?如何表示它们?

答:全局变量由系统提供且预先声明,通过在名称前加两个“@”符号区别于局部变量。用户只能使用全局变量,不能对它们进行修改。全局变量的作用范围是整个SQL Server系统,任何程序都可以随时调用它们。

T-SQL语言中的变量是可以保存单个特定类型的数据值的对象,也称为局部变量,只在定义它们的批处理或过程中可见。

5.以下变量名中,哪些是合法的变量名,哪些是不合法的变量名?

A1,1a,@x,@@y,&变量1,@姓名,姓名,#m,##n,@@@abc##,@my_name 答:合法的变量名:@x,@@y,@姓名,@my_name

不合法的变量名:A1,1a,&变量1,姓名,#m,##n,@@@abc## 6.SQL Server 2005所使用的运算符类别有哪些?

答:SQL Server 2005系统中,可以使用的运算符可以分为算术运算符、逻辑运算符、赋值运算符、字符串串联运算符、按位运算符、一元运算符及比较运算符等。 7.利用T-SQL语句计算下列表达式,并给出运算结果。 (1)9-3*5/2+6%4 (2)5&2|4 (3)'你们'+'好' (4)~10 答:(1)4 (2)4 (3)你们好 (4)-11 8.给出以下T-SQL语句的运行结果。

DECLARE @d SMALLDATETIME SET @d='2007-1-26' SELECT @d+10,@d-10 答:2007-02-05,2007-01-16

9.什么是批处理?使用批处理有何限制?批处理的结束符是什么?

12

答:批处理是包含一个或多个T-SQL语句的集合,从应用程序一次性地发送到SQL Server 2005进行执行,因此可以节省系统开销。SQL Server 将批处理的语句编译为一个可执行单元,称为执行计划,批处理的结束符为“GO”。 10.注释有几类,它们分别是什么? 答:在T-SQL中可使用两类注释符:

(1) ANSI标准的注释符“--”用于单行注释;

(2) 与C语言相同的程序注释符号,即“/*……*/”,“/*”用于程序注释开头,“*/”用语程序注释结尾,可以在程序中多行文字标示为注释。

8.5 习题

1.简述数据库的两种存储结构。 答:数据库的物理存储结构指的是保存数据库各种逻辑对象的物理文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,SQL Server 2005将数据库映射为一组操作系统文件。

逻辑存储结构:数据库是存储数据的容器,即数据库是一个存放数据的表和支持这些数据的存储、检索、安全性和完整性的逻辑成分所组成的集合。 2.数据库由哪几种类型的文件组成?其扩展名分别是什么?

答:(1) 主数据文件:主数据文件是数据库的起点,指向数据库中的其他文件。主数据文件的推荐文件扩展名是 .mdf。

(2) 辅助数据文件:除主数据文件以外的所有其他数据文件都是辅助数据文件。辅助数据文件的推荐文件扩展名是 .ndf。

(3) 事务日志文件:日志文件包含着用于恢复数据库的所有日志信息。日志文件的推荐文件扩展名是 .ldf。

3.简述SQL Server 2005中文件组的作用和分类。 答:为了便于管理和分配数据而将文件组织在一起,通常可以为一个磁盘驱动器创建一个文件组(File Group),将多个数据库文件集合起来形成一个整体。

SQL Server中的数据库文件组分为主文件组(Primary File Group)和用户定义文件组(user_defined Group)。

4.使用SQL Server Management Studio创建名为“仓库库存”的数据库,并设置数据库主文件名为仓库库存_data,大小为10MB,日志文件名为仓库库存_log,大小为2MB。 答:略。

5.删除习题4创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。 答:CREATE DATABASE仓库库存

(NAME = '仓库库存_data',

FILENAME = 'F:\\仓库库存_data.MDF' ,

13

SIZE = 10MB,

FILEGROWTH = 20%) LOG ON

(NAME ='仓库库存_log',

FILENAME = 'F:\\仓库库存_log. LDF', SIZE = 2MB, MAXSIZE = 5MB,

FILEGROWTH = 1MB)

6.请分别使用SQL Server Management Studio和T-SQL语句创建数据库Student,要创建的数据库的要求如下所示:数据库名称为Student,包含3个20MB的数据库文件,2个10MB的日志文件,创建使用一个自定义文件组,主文件为第一个文件,主文件的后缀名为.mdf,次要文件的后缀名为.ndf;要明确地定义日志文件,日志文件的后缀名为.ldf;自定义文件组包含后两个数据文件,所有的文件都放在目录“C:\\DATA”中。 答:略。

7.在数据库“仓库库存”中完成下列操作。 (1)创建“商品”表,表结构如表1:

表1 商品表

列名 商品编号 商品名称 单价 生产商 数据类型 Char Varchar Float Varchar 长度 6 20 30 是否允许为空值 NOT NULL NOT NULL, 说明 主键

(2)创建“仓库”表,表结构如表2:

表2 仓库表 列名 仓库编号 仓库地址

数据类型 Char Varchar 长度 3 20 是否允许为空值 NOT NUL NOT NULL 说明 主键 (3)创建“库存情况”表,表结构如表3:

表3 库存情况表 列名 仓库编号 商品编号 数量 数据类型 Char Char int 长度 3 6 是否允许为空值 NOT NULL NOT NUL 说明 主键 主键 答:(1)USE仓库库存 GO

14

CREATE TABLE 商品

(商品编号 char(6) NOT NULL PRIMARY KEY, 商品名称 char(20) NOT NULL, 单价 Float,

生产商 Varchar (30) ) (2),(3)略。 8.建立“商品”表、“仓库”表和“库存情况”表三表之间的关系图。 答:略。

9.分别给“商品”表、“仓库”表和“库存情况”表添加数据。 答:略。

9.4 习题

针对“教学库”中的三个表,完成1~5题。

1.试用SQL语句在学生表中加入“年龄”字段,要求:年龄为tinyint类型,可以为空。然后为所有学生输入年龄数据。

2.试用SQL的查询语句实现下列查询: (1)统计有学生选修的课程门数。

答:SELECT COUNT(DISTINCT 课程号) FROM 选课 (2)求选修C004课程的学生的平均年龄。 答:SELECT AVG(年龄) FROM 学生,选课

WHERE 学生.学生号=选课.学生号 and 课程号=?C004? (3)求学分为3的每门课程的学生平均成绩。

答:SELECT 课程.课程号,AVG(成绩) FROM 课程,选课

WHERE 课程.课程号=选课.课程号and 学分=3 GROUP BY 课程.课程号

(4)统计每门课程的学生选修人数,超过3人的课程才统计。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 答:SELECT 课程号,COUNT(*) FROM 选课

GROUP BY 课程号 HAVING COUNT(*) >3

ORDER BY COUNT(*) DESC, 课程号

(5)检索学号比王非同学大,而年龄比他小的学生姓名。 答:SELECT姓名 FROM 学生

WHERE 学生号>(SELECT学生号 FROM学生

WHERE 姓名=?王非?)

and 年龄<(SELECT年龄 FROM学生

15


数据库原理与应用教程—SQL Server课后习题答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:有理数乘除法简算

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: