数据库原理实验教材Word文件下载.docx
- 文档编号:18047539
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:73
- 大小:1.99MB
数据库原理实验教材Word文件下载.docx
《数据库原理实验教材Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库原理实验教材Word文件下载.docx(73页珍藏版)》请在冰豆网上搜索。
熟悉查询分析器的环境。
查询分析器用于执行Transaction-SQL命令等SQLScripts,以查询、分析或处理数据库中的数据。
对于掌握SQL语言理解SQLServer的工作有很大帮助。
(1)通过选择“开始”程序MicrosoftSQLServer”查询分析器”命令,打开“查询分析器“对话框,如图1-4所示。
图1-4“SQLServer查询分析器“对话框
(2)在查询分析器的右边的【脚本编辑器】里输入如下命令:
usepubs
go
sp_helpauthors
go
select*
fromauthors
(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'
\microsoftsqlserver\mssql\data\testlog.ldf'
size=5mb,
maxsize=25mb,
filegrowth=5mb)
(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
查看库
sp_helpdbtest
)执行该语句,返回结果如图2-6所示。
图2-6查看库的结果
图2-7
也可以在企业管理器里看:
右击test数据库查看任务版,如图2-7所示。
修改数据库
ALTERDATABASETest
ADDFILE
(NAME=Test_data,
FILENAME='
\ProgramFiles\microsoftsqlserver\mssql\data\test_data.mdf'
SIZE=5,
MAXSIZE=50,
FILEGROWTH=1
)
)执行该语句,返回结果如图2-8所示。
ADDFILE是指增加一个数据文件,还可以是ADDLOGFILE、REMOVEFILE、MODIFYFILE等,分别代表增加日志文件、删除数据库文件和修改文件信息等。
图2-8修改返回的结果
建立表
表1Student表
表2、SC表
表3、课程表(Course)
建表的定义语句格式:
CREATETABLE<
表名>
(<
列名>
<
数据类型>
[<
列级完整性约束条件>
]
[,<
]]…
表级完整性约束条件>
]);
<
:
所要定义的基本表的名字
组成该表的各个属性(列)
涉及相应属性列的完整性约束条件
涉及一个或多个属性列的完整性约束条件
建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。
其中学号不能为空,值是唯一的,并且姓名取值也唯一。
CREATETABLEStudent
(SnoCHAR(5)NOTNULLUNIQUE,
SnameCHAR(20)UNIQUE,
SsexCHAR
(2),
SageINT,
SdeptCHAR(15));
)执行该语句,返回结果如图2-10所示。
也可以在企业管理器里建立表:
展开数据库节点右击数据库节点pubs右击表新建表,(如图2-11所示)。
在图2-11相应列输入字段名、数据类型以及数据长度,保存。
图2-10用查询分析器建立表
图2-11用企业管理器建立表
表2和表3可用同一方法建立。
输入数据
语句格式:
INSERT
INTO<
[(<
属性列1>
[,<
属性列2>
…)]
VALUES(<
常量1>
常量2>
]…)
将一个学生记录:
(学号:
95001;
姓名:
李勇;
性别:
男;
年龄:
20岁;
所在系:
CS)插入到Student表中。
INSERT
INTOStudent
VALUES(‘95020’,‘陈冬’,‘男’,18,‘IS’);
)执行该语句,返回结果如图2-12所示。
图2-12插入数据返回的结果
表1的其他记录和表2、表3的记录用同一方法输入。
也可以通过企业管理器输入数据:
通过选择“开始”程序MicrosoftSQLServer”企业管理器”命令,打开企业管理器窗口。
展开数据库节点右击数据库节点pubs左击表在右边的表中找到Student表右击Student表打开表返回所有行(或返回首行,如图2-12,2-13所示)。
在图2-13中输入记录。
Student表中其他记录和表2、表3的记录用同一方法输入。
图2-12返回所有行
图2-13输入记录
2、项目要写全。
1、选择要执行的数据库,应该是哪个SQL命令?
A、USEB、GOC、EXECD、DB
2、下列那个数据文件是创建和正常使用一个数据库必不可少的?
A、日志文件B、安装程序文件C、主文件D、次文件
3、判断:
主键可以建立在“值可以为NULL”的列上。
4、判断:
删除表必须小心注意的操作,因为表一旦删除便无法恢复。
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
图3-2查询返回的结果
本例改变了列的顺序。
查询全体学生的详细记录。
在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-3所示。
SELECT*
等价于:
SELECTSno,Sname,Ssex,Sage,Sdept
查全体学生的姓名及其出生年份。
在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-4所示。
SELECTSname,1996-Sage
目标列经过计算。
图3-3查询返回的结果
图3-4查询返回的结果
查询全体学生的姓名、出生年份和系,并用别名。
在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-5所示。
SELECTSnameNAME,'
YearofBirth:
'
BIRTH,
2000-SageBIRTHDAY,SdeptDEPARTMENT
图3-5查询返回的结果
(2)选择表中的若干元组。
查询选修了课程的学生学好并取消重复列。
在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-6所示。
SELECTDISTINCTSno
FROMSC;
图3-6查询返回的结果
查询所有年龄在20岁以下的学生姓名及其年龄。
在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-7所示。
SELECTSname,Sage
FROMStudent
WHERESage<
20;
图3-7查询返回的结果
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
WHERESdeptIN('
IS'
'
MA'
CS'
);
图3-9查询返回的结果
查询学号为95001的学生的详细情况。
在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-10所示。
SELECT*
WHERESnoLIKE'
95001'
;
SELECT*
FROMStudent
WHERESno='
;
图3-10查询返回的结果
查询所有姓刘学生的姓名、学号和性别。
在查询分析器的右边的【脚本编辑器】里输入如下命令,编译并运行,结果如图3-11所示。
SELECTSname,Sno,Ssex
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
WHERESdept='
ANDSage<
21;
图3-15查询返回的结果
(3)对查询结果排序
查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。
在查询
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 实验 教材