金陵科技学院-数据库系统原理和应用实验-报告Word下载.docx
《金陵科技学院-数据库系统原理和应用实验-报告Word下载.docx》由会员分享,可在线阅读,更多相关《金陵科技学院-数据库系统原理和应用实验-报告Word下载.docx(70页珍藏版)》请在冰点文库上搜索。
实验项目名称:
熟悉SQLServer2005环境及数据库文件管理实验学时:
2
同组学生姓名:
实验地点:
实验日期:
实验成绩:
批改教师:
批改时间:
一、实验目的和要求
1、熟悉SQLServer2005工作环境、了解SQLServer2005主要管理工具的用途、掌握登录SQLServer2005的方法;
2、熟悉数据库的组成;
3、了解数据库快照的使用方法;
4、掌握创建、修改、删除数据库的方法;
5、熟悉如何查看数据库状态;
6、掌握分离数据库和附加数据库的方法。
二、实验设备、环境
设备:
奔腾Ⅳ或奔腾Ⅳ以上计算机;
环境:
WINDOWS2000SERVER或WINDOWS2003SERVER、SQLServer2005中文版。
三、实验步骤
1、根据题目要求熟悉SQLServer2005的各种管理工具;
2、分析题意,重点分析题目要求并给出解决方法;
3、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中;
4、提交完成的实验结果。
四、实验内容
一、熟悉SQLServer2005管理工具
SQLServer2005系统提供了大量的管理工具,通过这些管理工具可以对系统实现快速、高效管理。
主要管理工具如下:
1、SQLServerManagementStudio
(1)对象资源管理器
允许查看和连接到SQLServer、分析器、集成服务器、报表服务器和SQLMobile。
一旦连接到特定的服务,可以在对象节点中查看它的组件,并且可以访问子节点对象。
(2)已注册的服务器
显示当前已注册的服务器。
窗格顶部的列表,包括SQL Server、分析服务器、集成服务器、报表服务器和SQLMobile。
允许用户在特定的服务器之间快速转换。
(3)模板资源管理器
18
提供对查询编辑器的模板和任何用户所创建的自定义模板的快速访问。
模板可以通过SQLServerManagementStudio所支持的任何脚本语言来创建。
(4)解决方案管理器
提供对现存的SQLServer、分析服务器和SQLMobile的项目的快速访问。
当项目被执行时,项目会给出连接、查询和执行的其他函数的详细信息。
2、SQLServerBusinessIntelligenceDevelopmentStudio(商业智能)
SQLServerBusinessIntelligenceDevelopmentStudio为开发人员提供的一种新的项目开发和管理工具。
开发人员可以使用SQLServerBusinessIntelligenceDevelopmentStudio设计端到端的商业智能解决方案。
3、SQLServerConfiguration
SQLServerConfiguration(配置管理器)包含了SQLServer2005服务、SQLServer2005网络配置和SQLNativeClient配置3个工具,提供数据库管理人员做服务启动与停止与监控、服务器端支持的网络协议,用户用来访问SQLServer的网络相关设置等工作。
4、SQLServer外围应用配置
SQLServer外围应用配置器是SQLServer2005的新增功能,该工具是用来减少SQLServer的服务数和组件数的一种方法,以帮助保护SQLServer避免出现安全缺口。
5、DatabaseEngineTuningAdvisor(数据库引擎的优化顾问)工具可以完成帮助用户分析工作负荷、提出创建高效索引的建议等功能。
6、SQLServer联机丛书:
主要为用户提供帮助。
7、sqlcmd:
提供了在命令提示符中输入Transact-SQL语句、系统过程和脚本文件的功能。
二、熟悉数据库的组成
1、系统数据库
(1)master数据库
master数据库存储SQL Server2005系统的所有系统级信息。
包括实例范围的元数据、端点、链接服务器和系统配置设置。
(2)model数据库
Model数据库用作SQLServer2005实例上创建的所有数据库的模板。
在SQLServer2005中在三个方面做了重大改变,包括:
扩大了最小值取之范围、兼容级别设置为90和PAGE_VERIFY数据库选项设置为CHECKSUM。
(3)msdb数据库
Msdb数据库主要被SQLServer2005代理用于进行复制、作业调度以及管理警报等活动,该数据库通常用于调度任务或排除故障。
(4)tempdb数据库
tempdb数据库是连接到SQLServer2005所有用户都可能用的全局资源,它保存所有临时表和临时存储过程。
另外,它还用来满足所有的其他存储要求,例如,存储SQLServer2005工作表。
每次启动SQLServer2005时都会重新创建tempdb数据库,以便系统启动时,给数据库总是空的。
断开连接时会自动删除临时表和存储过程,并在系统关闭后没有活动的连接。
(5)resource数据库
resource数据库是一个只读数据库,它包含了SQLServer2005中的所有系统对象。
SQLServer系统对象在物理上持续存在于Resource数据库中,但逻辑上,他们出现在数据库的sys架构上。
resource数据库的物理文件名为Mssqlsystemresource.mdf。
任意移动或重命名resource数据库文件,SQLServer2005将不能正常启动。
三、数据库存储文件
SQLServer2005数据库中有三种类型的文件来存储信息。
1、主数据文件
主数据文件包话数据库的启动信息,并指向数据库中的其他文件。
用户数据和对象可存储在该文件中,也可以存储在辅助数据文件中。
每个数据库只能有一个主数据文件。
其扩展名为.mdf。
2、辅助数据文件
辅助数据文件是可选的。
由用户定义并存储用户数据。
每个数据库可以有多个辅助数据文件,其扩展名为.ndf。
3、事务日志文件
事务日志文件是用于保存恢复数据库的日志信息的。
每个数据库必须至少有一个日志文件,其扩展名为.ldf。
4、文件组
文件组是将多个数据文件集合起来形成一个整体。
每个文件组有一个组名。
文件组分为主文件组和次文件组。
一个文件只能存放在一个文件组中,一个文件组也只能为一个数据库使用。
主文件组包含了所有的系统表。
当建立数据库时,主文件组包含数据库文件和未指定组的其他文件。
事务日志文件不包含在任何文件组中。
四、创建数据库
1、使用向导创建数据库
2、语句方式创建数据库
(1)最简单的语句创建数据库
CreatedatabasedatabaseName
(2)一般创建数据库的格式CREATEDATABASEdatabase_name[ON
[<
filespec>
[,...n]]
[,<
filegroup>
[,...n]]]
]
[LOGON{<
[,...n]}][COLLATEcollation_name]
[FORLOAD|FORATTACH]
<
:
:
=[PRIMARY]
([NAME=logical_file_name,]FILENAME='
os_file_name'
[,SIZE=size]
[,MAXSIZE={max_size|UNLIMITED}]
[,FILEGROWTH=growth_increment])[,...n]
=
FILEGROUPfilegroup_name<
[,...n]
(3)示例
CREATEDATABASESalesON
(NAME=Sales_dat,
FILENAME='
c:
\programfiles\microsoftsqlserver\mssql\data\saledat.mdf'
SIZE=10,
MAXSIZE=50,FILEGROWTH=5)
LOGON
(NAME='
Sales_log'
\programfiles\microsoftsqlserver\mssql\data\salelog.ldf'
SIZE=5MB,
MAXSIZE=25MB,FILEGROWTH=5MB)
3、请按照要求用工具和SQL语句两种方法创建名为MyDB数据库。
五、维护数据库
1、修改数据库名称
(1)使用ALTERDATABASE语句
ALTERDATABASEdatabaseNameMODIFY NAME=newdatabaseName
(2)使用存储过程
EXECsp_dboption‘databaseName’,‘SINGLE’,True /*首先将数据库设置为单用户模式*/EXECsp_renamedb‘databaseName’,‘newdatabaseName’ /*修改数据库名*/
EXECsp_dboption‘newdatabaseName’,‘SINGLE’,False /*取消单用户模式*/
(3)从资源管理器窗口修改数据库名
2、修改数据库大小
(1)设置数据库文件为自动增长方式
(2)直接修改数据库文件的大小
(3)增加辅助数据库文件
(4)示例
CREATEDATABASETest1ON
(NAME=Test1dat1,
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\t1dat1.ndf'
MAXSIZE=100MB,FILEGROWTH=5MB)GO
ALTERDATABASETest1ADDFILE
(NAME=Test1dat2,
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\t1dat2.ndf'
MAXSIZE=100MB,FILEGROWTH=5MB )
(5)请参照示例用SQL语句为MyDB数据库增加辅助数据库文件MyDB2,其大小为3MB,最大为
10MB,按照10%增长。
3、收缩数据库
(1)设置数据库为自动收缩
(2)手动收缩数据库
(3)使用DBCCSHRINKDATABASE命令收缩数据库
该命令是一种比自动收缩数据库更加灵活的收缩数据库方式。
可以对整个数据库进行收缩。
示例:
DBCCSHRINKDATABASE(UserDB,10)
/*该命令将UserDB用户数据库中的文件减小,以使UserDB中的文件有10%的可用空间。
*/
(4)请使用该命令将MyDB数据库收缩到有10%的可用空间。
4、删除数据库
(1)使用管理工具
(2)使用T-SQL语句
DROPDATABASEdatabase_name[,...n]5、分离数据库
分离数据库是指数据库从SQLServer实例上删除,但是数据文件、但事务日志文件仍然保持不变。
注意:
分离数据库如果出现下列情况之一,则不允许分离:
*已复制并发数据库、*数据库中存在数据库快照、*数据库处于未知状态。
(1)使用语句分离数据库
execsp_detach_dbMyDB
(2)可以使用工具
6、附加数据库
附加数据库时,所有的数据文件(.mdf文件和.ndf文件)都必须是可用的。
如果任何数据文件的路径和创建时或上次附加数据库时的路径不同,则必须指定文件的当前路径。
在附加数据库的过程中,
如果没有日志文件,系统将创建一个新的日志文件。
(1)使用工具附加数据库
(2)使用SQL语句附加数据库示例:
CREATEDATABASESalesON(NAME=‘Sales_dat’,
FILENAME=‘c:
)LOGON
(NAME=‘Sales_log'
)FORATTACH
(3)请用上述两种方法将MyDB数据库附加到实例中。
五、问题解答及实验结果
一、熟悉SQLServer2005管理工具1、SQLServerManagementStudio
5、DatabaseEngineTuningAdvisor(数据库引擎的优化顾问)
6、SQLServer联机丛书
7、sqlcmd
系统数据库由五部分组成:
1.master数据库 2.model数据库 3.msdb数据库 4.tempdb数据库 5.resource数据库
1、主数据文件其扩展名为.mdf。
2、辅助数据文件其扩展名为.ndf。
3、事务日志文件 其扩展名为.ldf。
4、文件组 当建立数据库时,主文件组包含数据库文件和未指定组的其他文件。
SQL语句:
CREATEDATABASESales
ON
MyDB'
D:
\SQLServie\SQL2008_x32实例根目录
\MSSQL10.MSSQLSERVER\MSSQL\DATA\MyDB2.mdf'
SIZE=3,
MAXSIZE=100,FILEGROWTH=1)
MyDB_log'
\MSSQL10.MSSQLSERVER\MSSQL\DATA\MyDB2.ldf'
SIZE=10MB,
MAXSIZE=200MB,FILEGROWTH=5MB)
(1)使用ALTERDATABASE语句
ALTERDATABASEMyDBMODIFY NAME=MyDBx
2、修改数据库大小ALTERDATABASEMyDB2ADDFILE
(NAME=MyDB2dat2,
\MSSQL10.MSSQLSERVER\MSSQL\DATA\MyDB2.ndf'
SIZE=3MB,
MAXSIZE=10MB,FILEGROWTH=10%)
DBCCSHRINKDATABASE(MyDB,10)
DROPDATABASEMyDB1
5、分离数据库
CREATEDATABASEMyDBON(NAME='
MyDB_dat'
FILENAME='
\MSSQL10.MSSQLSERVER\MSSQL\DATA\MyDB.mdf'
(NAME='
\MSSQL10.MSSQLSERVER\MSSQL\DATA\MyDB.ldf'
六、实验体会和收获
表和表数据的操作 实验学时:
4
1、了解表的类型及创建方法;
2、熟悉各种数据类型;
3、掌握列的各种属性;
4、掌握自定义数据类型的创建方法;
5、掌握用T-SQL语言和工具创建表的方法;
6、掌握工具和T-SQL语言插入数据的方法。
一、表的概述
1、表的概念
在关系数据库中每一个关系都体现为一张表。
表是用来存储数据和操作数据的逻辑结构,关系数据库中所有的数据都表现为表的形式。
2、表的类型
在SQLServer2005中,可以把表分为4种类型,即普通表、分区表、临时表和系统表。
每一种表都有其自身的作用和特点。
(1)普通表:
又称为标准表,就是通常所说的数据库中存储数据的标,是最常使用的表对象,是最重要和最基本的表。
(2)分区表:
分区表示将数据水平划分成多个单元的表,这些单元的表可以分散到数据库中的多个文件组里,以实现对单元中数据的并行访问。
其优点在于可以方便地管理大型表,提高对这些表中数据的使用效率。
(3)临时表:
临时表是临时创建的、不能永久生存的表。
又可以分为本地临时表和全局临时表。
本地临时表以#打头,它们仅对当前的用户连接时可见的,当用户从SQLServe2005实理断开连接时被删除;
全局临时表以##打头,创建后任何用户都是可见,当所有引用该表的用户从SQLServer2005中断开连接时被删除。
(4)系统表:
系统表与普通表的区别在于,系统表存储了有关SQLServer2005服务器的配置、数据库设置、用户和表对象的描述等信息。
二、列
1、列数据类型
在设计表的时候,需要知道每列字段的数据类型。
SQLServer2005系统提供了28种数据类型,主要分为七大类。
(1)精确数字类型
这些数据类型的数据可以参加各种数学运算,所有的数值都是有精度的,精度是指有效数字位数。
如整数数据类型:
binint、int、smalling、tinyint;
位数据类型bit;
货币数据类型:
Money、Smallmoney等。
(2)近似数字类型
在现实计算中,还有一些数据没有精确数值,如1/3,它无法用精确数字类型表示,需要由系统来定义精确到哪一位,这种类型就是近似数据类型。
如:
Decimal和Numeric;
Float和Real等。
(3)字符数据类型
它是用来存储各种字母、数字符号和特殊符号。
在使用该数据类型时,需要用用单引号或双引号括起来。
SQLServer2005主要提供了Char、Varchar、Text3中数据类型。
(4)Unicode字符数据类型
Unicode是一种在计算机上使用的字符编码。
它为每一种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
SQL Server 2005主要有:
Nchar、Nvarchar、Ntext三种。
(5)二进制数据类型
二进制数据类型可以用来存储二进制的数据。
主要有:
Binary、Varbinary、Image三种类型。
(6)日期和时间数据类型
在SQLServer2005中,日期和时间类型主要包括:
datetime和smalldatetime两种。
两者区别在于其表示的日期和时间的范围不同,时间的精确度也不同。
(7)其他数据类型
SQLServer2005系统还提供了Cursor、Sql_varant、Table、Timestamp、Uniqueidentifie、XML6种特殊用途的数据类型。
2、列的其他属性
(1)NULL和NOTNULL
定义属性列时可以规定该列是否可以为空。
(2)默认值
当某个属性的值大部分的取值都是相同时,可以使用默认值来减少插入数据时的时间。
(3)IDENTITY
使用IDENTITY关键字定义的字段为标识字段,标识字段是唯一标识每条记录的特殊字段,当一
条新记录添加时,这个字段就被自动赋予一个新值。
默认情况下是+1递增。
三、创建表
1、使用SQLServerManagementStudio工具在MyDB数据