信息系统与数据库技术全书实验参考答案

2019-04-13 23:13

10.1 实验一 SQL Server数据库基本操作

一.实验目的

本实验主要了解Microsoft SQL Server 2000中各组件的主要功能和基本使用方法;了解SQL Server数据库的逻辑结构和物理结构;了解数据表的结构特点以及索引的基本概念。通过本实验,读者将学会在“企业管理器”中创建和修改数据库和数据表结构、对数据表进行数据的添加、删除和更新操作以及在数据表上创建字段索引的操作。

二.实验环境

? Microsoft SQL Server 2000 企业管理器

三.实验内容

1.创建一个名称为Book的数据库,支持教材订购信息管理,要求:

(1)将主数据库文件Book_Data.MDF放置在的D:\\DBF文件夹中,文件大小为5MB,最大值为50MB,文件增量为2MB。

(2)将事务日志文件Book_Log.LDF放置在的D:\\DBF文件夹中,文件大小为5MB,最大值为100MB,文件增量为1MB。

实验参考步骤:

1)在D:\\下创建DBF文件夹。

2)在企业管理器窗口右单击“数据库”或任一数据库名,从快捷菜单中选择“新建数据库”命令,出现“数据库属性”对话框。

3) 在“数据库属性”对话框中选择“常规”选项卡,在名称文本框中输入:Book;

4) 在“数据库属性”对话框中选择“数据文件”选项卡,设置数据文件的位置、大小、最大值和文件增量等属性;

5) 在“数据库属性”对话框中选择“事务日志”选项卡,设置事务日志文件的位置、大小、最大值和文件增量等属性。

2.在上题所建数据库Book中建立5张数据表结构并分别向数据表插入记录。

实验参考步骤:

在企业管理器中展开Book数据库。右击数据库文件夹下的“表”项,从弹出的快捷菜单中选择“新建表”命令,弹出“表设计”界面,分别建立5张表的结构,并且为各个表建立主关键字。

3.创建T_Teacher、T_Academy、T_BookInfo、T_Publisher和T_BookOrder5个表之间的关系。

实验参考步骤::

1) 在企业管理器中展开Book数据库。右击数据库文件夹下的“关系图”项,从弹出的快捷菜单中选择“新建数据库关系图”命令。

2) 通过“创建数据库关系图向导”新建关系图。

4.任选两个数据表插入3-5条记录(例如T_BookInfo、T_BookOrder、T_Teacher),各数据表记录如表9-xb)所示。

实验参考步骤:

在企业管理器中展开Book数据库中的表文件夹,右单击需插入记录的数据表,从弹出的快捷菜单中选择“打开表/返回所有行”命令。在数据表显示界面中依次输入记录。

5.将T-teacher表“TeacherName”字段的类型改为Varchar(16)。为T_BookOrder表添加约

束条件,使得“StuBookNum”和“TeaBookNum”的取值都大于0;“OrderTime”大于2007年。

实验参考步骤:

1) 在企业管理器中展开Book数据库中的表文件夹,右击T-teacher表,选择“表设计”,进入T-teacher表结构设计界面,修改“TeacherName”字段的类型。

2) 在企业管理器中展开Book数据库表文件夹,右击T_BookOrder表,选择“表设计”,进入T_BookOrder表结构设计界面,右单击T_BookOrder表结构设计界面,从弹出的快捷菜单中选择“CHECK约束”命令,在“属性”对话框的“CHECK约束”选项卡中点击“新建”按钮分别设置约束条件。

6.练习记录数据的添加、删除和更新操作。在T_Teacher表中添加记录“01010117、黄蓉、13、女、1977-9-21、副教授、63478445”。将T_Teacher表中TeacherCode为“01010113”的记录删除;将TeacherCode为“01010116”记录的title字段内容更新为“教授”。

实验参考步骤:

在企业管理器中展开Book数据库表文件夹,右击T-teacher表,选择“打开表/返回所有行”,进入T-teacher表数据行显示界面,进行数据的添加、删除和更新操作。

7.在企业管理器中练习索引的创建和删除。在“TeacherName”(降序)和“AcadCode”(升序)上建立一个名称为“Name_Code”的普通索引。删除“Name_Code”索引。

实验参考步骤: 方法1:

在企业管理器中展开Book数据库表文件夹,右击T_Teacher表,选择“表设计”,进入T_Teacher表结构设计界面,右单击T_Teacher表结构设计界面,从弹出的快捷菜单中选择“索引/键”命令,在“属性”对话框的“索引/键”选项卡中点击“新建”按钮进行“Name_Code”索引的建立。 方法2:

在企业管理器中展开Book数据库表文件夹,右击T-teacher表,选择“所有任务/管理索引”,打开“管理索引”窗口,进行索引的建立和编辑。

10.2 实验二 T-SQL语言基本操作

一.实验目的

本实验主要了解T-SQL语句以及在查询分析器中执行T-SQL语句的方法。通过本实验,读者将了解使用T-SQL语句创建数据库和数据表;掌握数据库查询语句Select语句的基本语法及使用方法;掌握对数据表进行数据插入、修改和删除的T-SQL语句;了解T-SQL语言的各种运算符、控制语句的功能并学会简单的程序编写。

二.实验环境

? Microsoft SQL Server 2000查询分析器和Microsoft SQL Server 2000企业管理器 ? Book数据库

三.实验内容

1.利用企业管理器中提供的“生成SQL脚本”命令编写Book数据库中数据表对象“T_Teacher”、“T_BookOrder”、“T_BookInfo”、“T_Publisher”、“T_Academy”创建的脚本文件D:\\Table.sql。

实验参考步骤:

1) 在企业管理器右单击Book数据库,选择“所有任务/生成SQL脚本”菜单,打开“生成SQL脚本”窗口,点击“全部显示”按钮。

2) 按要求添加写入脚本的对象,点击“确定”按钮,打开“另存为”对话框,设置脚本文件名称。

2.在查询分析器中使用T-SQL语句完成实验一中的第1题。

CREATE DATABASE Book ON

(NAME=Book_Data,

FILENAME='D:\\DBF\\BOOK_Data.MDF', SIZE=5MB, MAXSIZE=50MB, FILEGROWTH=2MB) LOG ON

(NAME=Book_log,

FILENAME='D:\\DBF\\Book_Log.LDF', SIZE=5MB, MAXSIZE=100MB, FILEGROWTH=1MB)

3.编写SELECT语句,建立以下查询 1)显示T_BookInfo表中所有字段的值。

SELECT * FROM T_BookInfo

2)查询T_Teacher表中所有记录的TeacherCode、TeacherName、EnterDate和Title字段信息。

USE Book

SELECT TeacherCode,TeacherName,EnterDate,Title FROM T_Teacher

3)查询男教师的姓名(TeacherName),显示时将字段名TeacherName改为“姓名”。

SELECT TeacherName AS 姓名 FROM T_Teacher WHERE Sex='男'

4)查询2007年以后出版的教材名称(BookName)、出版日期(PublishDate)和库存量(StockNum),显示时字段标题分别为:教材名称、出版日期和库存量。

SELECT BookName AS 教材名称,

PublishDate AS 出版日期,StockNum AS 库存量 FROM T_BookInfo

WHERE year(PublishDate)>='2007' 或

SELECT BookName AS 教材名称,

PublishDate AS 出版日期,StockNum AS 库存量 FROM T_BookInfo

WHERE PublishDate>='2007-01-01'

5)查询所有教材的出版社代码(PublisherCode),将重复的记录去掉。

SELECT DISTINCT PublisherCode FROM T_BookInfo

6)查询学生订书量(StuBookNum)最大的3个记录,显示教材代号(BookCode)和学生订书量(StuBookNum)。

SELECT top 3 BookCode,StuBookNum FROM T_BookOrder

ORDER BY StuBookNum DESC

图7

7)查询学生订书量(StuBookNum)在150到250之间的教材信息。

SELECT BookCode,TeacherCode,StuBookNum,OrderTime FROM T_BookOrder

WHERE ( StuBookNum BETWEEN 150 AND 250)

8)查询每一种教材的学生订书总量。

SELECT BookCode AS 教材代号 ,SUM(StuBookNum) AS 学生订书数量 FROM T_BookOrder GROUP BY BookCode

9)查询书名为“VB程序设计”的教材的学生总订量(StuBookNum)和教师总订量(TeaBookNum)和总订量。

SELECT SUM(StuBookNum) AS 学生总订量,SUM(TeaBookNum) AS 教师总订量, (SUM(StuBookNum)+SUM(TeaBookNum)) AS 总订量 FROM T_BookInfo ,T_BookOrder

WHERE T_BookInfo.BookCode=T_BookOrder.BookCode AND BookName='VB程序设计' 或

SELECT SUM(StuBookNum) AS 学生总订量,SUM(TeaBookNum) AS 教师总订量, (SUM(StuBookNum)+SUM(TeaBookNum)) AS 总订量 FROM T_BookInfo INNER JOIN T_BookOrder ON T_BookInfo.BookCode=T_BookOrder.BookCode WHERE BookName='VB程序设计'

10)显示教材的最高价、最低价、平均价、最高价与最低价之间的差值。

SELECT str(Max(Price),5,2) AS 最高价,str(Min(Price),5,2)AS 最低价, str(AVG(Price),5,2) AS 平均价, str((Max(Price)-Min(Price)),5,2) AS 差值 FROM T_BookInfo

11)查询出版社代号(PublisherCode)为10、02、31的出版社所出版的教材信息。要求显示教材名称(BookName)、作者(Author)、价格(Price)、库存(StockNum)和出版社名称(Publisher)。

SELECT T_BookInfo.BookName,T_BookInfo.Author,T_BookInfo.Price, T_BookInfo.StockNum,T_Publisher.PublisherCode,T_Publisher.Publisher FROM T_Publisher,T_BookInfo

WHERE T_Publisher.PublisherCode=T_BookInfo.PublisherCode AND T_Publisher.PublisherCode IN ('10','02','31') 或:

SELECT T_BookInfo.BookName,T_BookInfo.Author,T_BookInfo.Price,

T_BookInfo.StockNum,T_Publisher.PublisherCode,T_Publisher.Publisher FROM T_Publisher INNER JOIN T_BookInfo

ON T_Publisher.PublisherCode=T_BookInfo.PublisherCode WHERE T_Publisher.PublisherCode IN ('10','02','31')

12)查询没有领书的教师信息。要求显示TeacherCode(教师工号)、TeacherName(姓名)、AcadName(学院名称)和Telephone(电话号码),并按学院名称降序排列。

SELECT T_Teacher.TeacherCode,TeacherName,AcadName,Telephone FROM T_BookOrder ,T_Teacher ,T_Academy

WHERE T_Teacher.TeacherCode= T_BookOrder.TeacherCode AND T_Teacher.AcadCode= T_Academy.AcadCode AND TakeAway=0 ORDER BY AcadName DESC 或:

SELECT T_Teacher.TeacherCode,TeacherName,AcadName,Telephone FROM T_Academy INNER JOIN

(T_Teacher INNER JOIN T_BookOrder

ON T_Teacher.TeacherCode=T_BookOrder.TeacherCode) ON T_Academy.AcadCode=T_Teacher.AcadCode WHERE TakeAway=0 ORDER BY AcadName DESC

13)查询人文学院教师所订教材的信息。要求显示教材代码(BookCode)、数量(StuBookNum+TeaBookNum)和订教材日期(OrderTime)。

SELECT BookCode,StuBookNum+TeaBookNum AS 数量,OrderTime FROM T_BookOrder

WHERE TeacherCode IN (SELECT TeacherCode FROM T_Teacher

WHERE AcadCode=(SELECT AcadCode FROM T_Academy

WHERE AcadName='人文学院')) 或:

SELECT BookCode,StuBookNum+TeaBookNum AS 数量,OrderTime FROM T_BookOrder WHERE TeacherCode IN (SELECT TeacherCode

FROM T_Teacher INNER JOIN T_Academy ON T_Teacher.AcadCode=T_Academy.AcadCode WHERE AcadName='人文学院')

14)查询姓名字符数大于等于4个字符的作者情况,要求显示作者姓名(Author)、教材名称(BookName)。

SELECT Author,BookName From T_BookInfo WHERE LEN(Author)>=4


信息系统与数据库技术全书实验参考答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:6小学语文教师素养大赛知识问答题目

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

马上注册会员

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