数据库原理实验教材.docx

上传人:b****6 文档编号:5086060 上传时间:2022-12-13 格式:DOCX 页数:73 大小:1.99MB
下载 相关 举报
数据库原理实验教材.docx_第1页
第1页 / 共73页
数据库原理实验教材.docx_第2页
第2页 / 共73页
数据库原理实验教材.docx_第3页
第3页 / 共73页
数据库原理实验教材.docx_第4页
第4页 / 共73页
数据库原理实验教材.docx_第5页
第5页 / 共73页
点击查看更多>>
下载资源
资源描述

数据库原理实验教材.docx

《数据库原理实验教材.docx》由会员分享,可在线阅读,更多相关《数据库原理实验教材.docx(73页珍藏版)》请在冰豆网上搜索。

数据库原理实验教材.docx

数据库原理实验教材

实验一

实验题目:

SQLServer2000基本操作

一、实验目的:

1、熟悉SQLServer2000环境和系统结构;

2、熟悉SQLServer2000的基本工具;

3、使用企业管理器实现对服务器和数据库的管理;

4、使用查询分析器进行SQL脚本的编写、编译和运行。

二、实验仪器

计算机

三、实验原理:

在用SQLServer为企业提供信息服务之前,要先熟悉SQLServer的运行环境。

熟练使用数据库系统提供的工具是一个系统管理员必要的学习步骤。

SQLServer最基本的运行环境是它的企业管理器。

从企业管理器界面上,用户可以进一步接触到其他的各种工具。

当需要编写SQL脚本时,最常用的工具则是查询分析器。

通过本实验,使大家对SQLServer的运行环境逐步熟悉起来。

四、实验内容与步骤:

1、练习企业管理器的使用

SQLServer2000的基本工具。

使用企业管理器控制SQLServer服务。

使用企业管理器查看当前数据库实例的配置数据。

(1)通过选择“开始”程序MicrosoftSQLServer”企业管理器”命令,打开企业管理器窗口,如图1-1所示。

图1-1SQLServer企业管理器

企业管理器的界面是一个标准的Windows界面,由标题栏、菜单栏、工具栏、树窗口和任务对象窗口组成。

(2)打开企业管理器,展开【SQLServer组】节点。

在SQLServer组下边的节点(BHDX-734BEAC40C(WindowsNT))右击,将弹出图1-2所示菜单。

从该菜单上可以看到目前用户可以对实例BHDX-734BEAC40C(WindowsNT)进行的操作。

单击图1-2所示菜单命令中的【断开】,则将断开当前企业管理器这个应用和SQLServer服务器之间的连接通信。

这时(BHDX-734BEAC40C(WindowsNT)以下所有节点都将收缩。

(3)单击图1-2所示菜单命令中的【暂停】,可以暂停当前SQLServer服务。

(4)单击图1-2所示菜单命令中的【停止】,可以停止当前正在运行的SQLServer服务。

(5)单击图1-2所示菜单命令中的【启动】,可以重新启动当前已经停止的SQLServer服务。

(6)单击图1-2所示菜单命令中的【属性】,则将弹出图1-3所示的对话框。

该对话框定义了许多SQLServer实例级别的配置参数。

也可以修改这些配置参数。

 

图1-2操作实例的菜单选项

图1-3SQLServer实例级别的配置参数

2、练习查询分析器的使用

查询分析器基本知识。

熟悉查询分析器的环境。

查询分析器用于执行Transaction-SQL命令等SQLScripts,以查询、分析或处理数据库中的数据。

对于掌握SQL语言理解SQLServer的工作有很大帮助。

(1)通过选择“开始”程序MicrosoftSQLServer”查询分析器”命令,打开“查询分析器“对话框,如图1-4所示。

图1-4“SQLServer查询分析器“对话框

(2)在查询分析器的右边的【脚本编辑器】里输入如下命令:

usepubs

go

sp_helpauthors

go

select*

fromauthors

go

(3)按Ctrl+F5键对该语句进行编译(或者按工具栏的绿色对号)。

(4)按F5键(或工具栏的

)执行该语句,返回结果如图1-5所示。

图1-5程序执行返回后的结果

(5)输入并执行如下语句:

USEnorthwind

Go

Selectcompanyname,city,region

Fromsuppliers

返回结构如图1-6所示:

图1-6

(6)按Ctrl+L,系统返回查询计划分析,如图1-7所示。

图1-7查看查询分析计划

(7)单击查询分析器个节点,并在各节点上右击,查看查询分析器的细节特征。

3、服务管理器

(1)服务管理器用于启动、暂停或停止数据库服务器SQLServer、SQLServerAgent、MSDTC(MicrosoftDistributedTransactionCoordinator)。

在对SQLServer数据库进行任何操作之前,必须启动本地或远程SQLServer服务,这个过程可以在SQLServer服务管理器中完成。

通过选择“开始”程序MicrosoftSQLServer”服务管理器”命令,打开“服务管理器“窗口,如图1-8所示。

在SQLServer服务管理器中有如下操作:

在SQLServer服务管理器中的“服务器”框中选择服务器名,例如:

BHDX-734BEAC40C;

在“服务“下拉式列表中选择一种服务,如图1-9所示,例如SQLServer。

单击

按钮,以启动、暂停、

图1-8“SQLServer服务管理器“对话框停止所选择的服务。

如果要在启动操作系统时自动启动所选择的服务,可以选择“当启动OS时自动启动服务”复选框。

图1-9“SQLServer服务管理器“对话框服务选项

4、客户端网络实用工具

客户端网络实用工具是一个图形工具,用于配置客户端的连接、测定网络库的版本信息以及设定本地数据库的相关选项。

启动方法:

“开始”程序MicrosoftSQLServer”客户端网络实用工具”命令,打开“客户端网络实用工具“对话框,如图1-10所示。

安装所需要的协议以后,就可以从客户计算机访问包含在网络库和数据库中的例程。

图1-10“SQLServer客户端网络实用工具“对话框

5、服务器网络实用工具

服务器网络实用工具用于配置服务器端的连接、测定网络库的版本信息。

启动服务器网络实用工具的方法:

“开始”程序MicrosoftSQLServer”服务器网络实用工具”命令,打开“服务器网络实用工具“对话框,如图1-11所示。

图1-11“SQLServer服务器网络实用工具“对话框

6、熟悉系统数据库的结构

在企业管理器中。

依次打开所有四个系统数据库:

master,,model,,msdb,tempdb,并查看其中所有的数据对象,包括:

表、视图、存储过程、用户、角色、规则、默认值、用户定义的数据类型、用户定义的函数和全文目录。

(1)在企业管理器中展开master数据库节点,显示出master数据库中所有的表。

(2)从这些表中找出名为“sysservers”的表,这个表存储有当前SQLServer环境中的实例描述。

在目前我们的环境中,只有一个BHDX-734BEAC40C实例存在,所有该表中的数据应该只有一行。

(3)在该表上,右击,将进入【打开表】子菜单,选择【返回所有行】。

系统返回结果如下图所示。

(4)请按照这样的方法查看其他表的内容。

图1-12查看系统表的内容

7、熟悉样例数据库的内容

请在企业管理器中,依次打开所有两个样例数据库:

pubs,Northwind,并查看其中所有的数据对象,包括:

表、视图、存储过程、用户、角色、规则、默认值、用户定义的数据类型、用户定义的函数和全文目录。

五、实验报告要求

1、实验报告由个人独立完成,每人一份。

2、实验项目要写全。

3、实验的基本步骤要合理正确。

4、内容充实,字迹工整。

六、思考题:

1、下列那个数据库是可以在运行SQLServer过程中被删除?

A、masterB、modelC、pubsD、Northwind

2、请认真查看master数据库中所有表,并查看表中的内容分别包含了什么?

3、SQLServer提供哪几个系统数据库?

4、SQLServer提供哪几个样例数据库?

5、判断:

如果master数据库被损坏了,SQLServer照常可以运行。

()

6、如果SQLServer被停止运行,则tempdb数据库中的所有数据都将丢失。

()

 

实验二

实验题目表、数据库的基本操作

一、实验目的:

1、掌握如何创建一个SQLServer数据库。

2、掌握如何创建表,输入数据。

3、理解SQLServer2000数据库的存储结构。

二、实验仪器

计算机

三、实验原理:

数据库用于存放数据和各种数据库对象,数据库日志文件用来记录数据库的各种变化,以及对数据库进行的各种操作的备忘录。

本实验联系实际操作,创建数据库、表并在表中输入数据。

四、实验内容与步骤:

1、创建一个SQLServer数据库

建立库

(1)打开“服务管理器”以及“查询分析器”,在“查询分析器“编辑栏输入以下内容:

CREATEDATABASETest

ON

(NAME='Test_dat',

FILENAME='g:

\microsoftsqlserver\mssql\data\testdat.mdf',

size=10,

maxsize=50,

filegrowth=5)

logon

(name='test_log',

FILENAME='g:

\microsoftsqlserver\mssql\data\testlog.ldf',

size=5mb,

maxsize=25mb,

filegrowth=5mb)

go

(2)按Ctrl+F5键对该语句进行编译(或者按工具栏的绿色对号)。

(3)按F5键(或工具栏的

)执行该语句,返回结果如图2-1所示。

以上数据库定义了一个主文件Test_dat,大小10,自动增长率5;定义了一个日志文件'test_log,大小55mb,自动增长率5mb。

也可以利用企业管理器创建数据库:

(1)通过选择“开始”程序MicrosoftSQLServer”企业管理器”命令,打开企业管理器窗口。

展开数据库节点右击数据库节点新建数据库(如图2-2至2-5所示)。

要求:

主文件Test_dat,大小10,自动增长率5;定义了一个日志文件test_log,大小55mb,自动增长率5mb。

图2-1创建一个test数据库

图2-2新建数据库

图2-3

图2-4

图2-5

查看库

(1)打开“服务管理器”以及“查询分析器”,在“查询分析器“编辑栏输入以下内容:

sp_helpdbtest

(2)按Ctrl+F5键对该语句进行编译(或者按工具栏的绿色对号)。

(3)按F5键(或工具栏的

)执行该语句,返回结果如图2-6所示。

图2-6查看库的结果

图2-7

也可以在企业管理器里看:

右击test数据库查看任务版,如图2-7所示。

修改数据库

(1)打开“服务管理器”以及“查询分析器”,在“查询分析器“编辑栏输入以下内容:

ALTERDATABASETest

ADDFILE

(NAME=Test_data,

FILENAME='g:

\ProgramFiles\microsoftsqlserver\mssql\data\test_data.mdf',

SIZE=5,

MAXSIZE=50,

FILEGROWTH=1

(2)按Ctrl+F5键对该语句进行编译(或者按工具栏的绿色对号)。

(3)按F5键(或工具栏的

)执行该语句,返回结果如图2-8所示。

ADDFILE是指增加一个数据文件,还可以是ADDLOGFILE、REMOVEFILE、MODIFYFILE等,分别代表增加日志文件、删除数据库文件和修改文件信息等。

图2-8修改返回的结果

建立表

表1Student表

表2、SC表

表3、课程表(Course)

建表的定义语句格式:

CREATETABLE<表名>(<列名><数据类型>[<列级完整性约束条件>]

[,<列名><数据类型>[<列级完整性约束条件>]]…

[,<表级完整性约束条件>]);

<表名>:

所要定义的基本表的名字

<列名>:

组成该表的各个属性(列)

<列级完整性约束条件>:

涉及相应属性列的完整性约束条件

<表级完整性约束条件>:

涉及一个或多个属性列的完整性约束条件

建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。

其中学号不能为空,值是唯一的,并且姓名取值也唯一。

(1)打开“服务管理器”以及“查询分析器”,在“查询分析器“编辑栏输入以下内容:

CREATETABLEStudent

(SnoCHAR(5)NOTNULLUNIQUE,

SnameCHAR(20)UNIQUE,

SsexCHAR

(2),

SageINT,

SdeptCHAR(15));

(2)按Ctrl+F5键对该语句进行编译(或者按工具栏的绿色对号)。

(3)按F5键(或工具栏的

)执行该语句,返回结果如图2-10所示。

也可以在企业管理器里建立表:

(1)通过选择“开始”程序MicrosoftSQLServer”企业管理器”命令,打开企业管理器窗口。

展开数据库节点右击数据库节点pubs右击表新建表,(如图2-11所示)。

在图2-11相应列输入字段名、数据类型以及数据长度,保存。

图2-10用查询分析器建立表

图2-11用企业管理器建立表

表2和表3可用同一方法建立。

输入数据

语句格式:

INSERT

INTO<表名>[(<属性列1>[,<属性列2>…)]

VALUES(<常量1>[,<常量2>]…)

将一个学生记录:

(学号:

95001;姓名:

李勇;性别:

男;年龄:

20岁;所在系:

CS)插入到Student表中。

(1)打开“服务管理器”以及“查询分析器”,在“查询分析器“编辑栏输入以下内容:

INSERT

INTOStudent

VALUES(‘95020’,‘陈冬’,‘男’,18,‘IS’);

(2)按Ctrl+F5键对该语句进行编译(或者按工具栏的绿色对号)。

(3)按F5键(或工具栏的

)执行该语句,返回结果如图2-12所示。

图2-12插入数据返回的结果

表1的其他记录和表2、表3的记录用同一方法输入。

也可以通过企业管理器输入数据:

通过选择“开始”程序MicrosoftSQLServer”企业管理器”命令,打开企业管理器窗口。

展开数据库节点右击数据库节点pubs左击表在右边的表中找到Student表右击Student表打开表返回所有行(或返回首行,如图2-12,2-13所示)。

在图2-13中输入记录。

Student表中其他记录和表2、表3的记录用同一方法输入。

图2-12返回所有行

图2-13输入记录

五、实验报告要求

1、实验报告由个人独立完成,每人一份。

2、项目要写全。

3、实验的基本步骤要合理正确。

4、内容充实,字迹工整。

六、思考题:

1、选择要执行的数据库,应该是哪个SQL命令?

A、USEB、GOC、EXECD、DB

2、下列那个数据文件是创建和正常使用一个数据库必不可少的?

A、日志文件B、安装程序文件C、主文件D、次文件

3、判断:

主键可以建立在“值可以为NULL”的列上。

()

4、判断:

删除表必须小心注意的操作,因为表一旦删除便无法恢复。

()

5、判断:

SQLServer在进行数据操作的时候,总是先写数据库,然后记录日志。

()

6、判断:

数据库一旦建立就不允许修改大小。

()

 

实验三

实验题目SQL数据查询语言的使用

一、实验目的:

1、掌握SELECT语句的基本用法。

2、实用WHERE子句进行有条件的查询。

3、掌握IN,NOTIN,BETWEEN使用来查询。

4、利用LIKE子句实现模糊查询。

5、利用子句为结果排序。

二、实验仪器

计算机

三、实验原理:

用户用来和数据库进行交流,向数据库提出要求的语言是Transact-SQL。

实际上,Transact-SQL也是数据库管理系统可以理解的唯一语言。

使用Transact-SQL编写应用程序可以完成所有的数据库管理工作。

任何应用程序,只要目的是向SQLServer的数据库管理系统发出指令以获得数据库管理系统的响应,最终都必须体现为以Transact-SQL语句为表现形式的指令。

四、实验内容与步骤:

查询语句格式

SELECT[ALL|DISTINCT]<目标列表达式>

[,<目标列表达式>]…

FROM<表名或视图名>[,<表名或视图名>]…

[WHERE<条件表达式>]

[GROUPBY<列名1>[HAVING<条件表达式>]]

[ORDERBY<列名2>[ASC|DESC]];

SELECT子句:

指定要显示的属性列

FROM子句:

指定查询对象(基本表或视图)

WHERE子句:

指定查询条件

GROUPBY子句:

对查询结果按指定列的值分组,该属性列值相等的元组为一个组。

通常会在每组中作用集函数。

HAVING短语:

筛选出只有满足指定条件的组

ORDERBY子句:

对查询结果表按指定列值的升序或降序排序

1、单表查询

(1)选择表中的若干列,这就是投影操作。

查询全体学生的学号与姓名。

通过选择“开始”程序MicrosoftSQLServer”查询分析器”命令,打开“查询分析器“对话框在查询分析器的右边的【脚本编辑器】里输入如下命令:

SELECTSno,Sname

FROMStudent;

按Ctrl+F5键对该语句进行编译(或者按工具栏的绿色对号),按F5键(或工具栏的

)执行该语句,返回结果如图3-1所示。

图3-1查询返回的结果

查询全体学生的姓名、学号、所在系。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-2所示。

SELECTSname,Sno,Sdept

FROMStudent;

图3-2查询返回的结果

本例改变了列的顺序。

查询全体学生的详细记录。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-3所示。

SELECT*

FROMStudent;

等价于:

SELECTSno,Sname,Ssex,Sage,Sdept

FROMStudent;

查全体学生的姓名及其出生年份。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-4所示。

SELECTSname,1996-Sage

FROMStudent;

目标列经过计算。

图3-3查询返回的结果

图3-4查询返回的结果

查询全体学生的姓名、出生年份和系,并用别名。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-5所示。

SELECTSnameNAME,'YearofBirth:

'BIRTH,

2000-SageBIRTHDAY,SdeptDEPARTMENT

FROMStudent;

图3-5查询返回的结果

(2)选择表中的若干元组。

查询选修了课程的学生学好并取消重复列。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-6所示。

SELECTDISTINCTSno

FROMSC;

图3-6查询返回的结果

查询所有年龄在20岁以下的学生姓名及其年龄。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-7所示。

SELECTSname,Sage

FROMStudent

WHERESage<20;

图3-7查询返回的结果

等价于:

SELECTSname,Sage

FROMStudent

WHERENOTSage>=20;

查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-8所示。

SELECTSname,Sdept,Sage

FROMStudent

WHERESageBETWEEN20AND23;

图3-8查询返回的结果

BETWEEN…AND包括边界,NOTBETWEENAND不包括边界。

查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-9所示。

SELECTSname,Ssex

FROMStudent

WHERESdeptIN('IS','MA','CS');

图3-9查询返回的结果

查询学号为95001的学生的详细情况。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-10所示。

SELECT*

FROMStudent

WHERESnoLIKE'95001';

等价于:

SELECT*

FROMStudent

WHERESno='95001';

图3-10查询返回的结果

查询所有姓刘学生的姓名、学号和性别。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-11所示。

SELECTSname,Sno,Ssex

FROMStudent

WHERESnameLIKE'刘%';

图3-11查询返回的结果

查询名字中第2个字为"阳"字的学生的姓名和学号。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-12所示。

SELECTSname,Sno

FROMStudent

WHERESnameLIKE‘____阳%';

图3-12查询返回的结果(没有记录被查询到)

查询DB_Design课程的课程号和学分。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-13所示。

SELECTCno,Ccredit

FROMCourse

WHERECnameLIKE'DB\_Design'ESCAPE'\'

图3-13查询返回的结果(没有记录被查询到)

某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。

查询缺少成绩的学生的学号和相应的课程号。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-14所示。

SELECTSno,Cno

FROMSC

WHEREGradeISNULL;

图3-14查询返回的结果(没有记录被查询到)

ISNULL”不能用“=NULL”代替

查询计算机系年龄在21岁以下的学生姓名。

在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-15所示。

SELECTSname

FROMStudent

WHERESdept='CS'ANDSage<21;

图3-15查询返回的结果

(3)对查询结果排序

查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。

在查询

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1