DBS实验报告手册M09II.docx
《DBS实验报告手册M09II.docx》由会员分享,可在线阅读,更多相关《DBS实验报告手册M09II.docx(27页珍藏版)》请在冰豆网上搜索。
![DBS实验报告手册M09II.docx](https://file1.bdocx.com/fileroot1/2023-1/2/1ccc106d-4f0d-4c82-a257-a0e9b50c05a3/1ccc106d-4f0d-4c82-a257-a0e9b50c05a31.gif)
DBS实验报告手册M09II
学生实验报告册
(理工类)
课程名称:
数据库系统原理专业班级:
计算机科学与技术
学生学号:
学生姓名:
所属院部:
龙蟠学院指导教师:
章海鸥
2011——2012学年第1学期
金陵科技学院教务处制
实验报告书写要求
实验报告原则上要求学生手写,要求书写工整。
若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。
纸张一律采用A4的纸张。
实验报告书写说明
实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。
各院部可根据学科特点和实验具体要求增加项目。
填写注意事项
(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明
实验报告的批改要及时、认真、仔细,一律用红色笔批改。
实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。
实验报告装订要求
实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。
实验项目名称:
熟悉SQLServer2005环境及数据库文件管理实验学时:
2
同组学生姓名:
实验地点:
B407
实验日期:
实验成绩:
批改教师:
批改时间:
一、实验目的和要求
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)已注册的服务器
显示当前已注册的服务器。
窗格顶部的列表,包括SQLServer、分析服务器、集成服务器、报表服务器和SQLMobile。
允许用户在特定的服务器之间快速转换。
(3)模板资源管理器
提供对查询编辑器的模板和任何用户所创建的自定义模板的快速访问。
模板可以通过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
Sqlcmd工具提供了在命令提示符中输入Transact-SQL语句、系统过程和脚本文件的功能。
8、bcp
Bcp实用工具可以在SQLServer2005实例和用户指定格式的数据文件之间进行大容量的数据复制。
(二)熟悉数据库的组成
1、系统数据库
(1)master数据库
master数据库存储SQLServer2005系统的所有系统级信息。
包括实例范围的元数据、端点、链接服务器和系统配置设置。
(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将不能正常启动。
2、数据库快照
数据库提供了一种数据库恢复手段,可以在数据库损坏后,还原数据库到数据库快照时的状态。
这是SQLServer2005中的新增功能。
(1)源数据库存在的限制
在使用有快照的源数据库时,存在以下限制。
*不能对数据库进行删除,分离或还原。
*源数据库性能受到影响由于每次更新页时对快照进行“写入时复制”操作,导致源数据库上的I/O增加。
*不能从源数据库或任何快照中删除文件。
*源数据库必须处于在线状态,除非给数据库在数据库镜像会话中是镜像数据库。
(2)创建数据库快照
一般格式:
CREATEDATABASEdatabase_snapshot_name
ON
(NAME=logical_file_name,
FILENAME='os_file_name')[,...n]
ASSNAPSHOTOFsource_database_name
例:
为MyDB创建一个快照。
CREATEDATABASEMyDB_snapshot
ON
(NAME=MyDB_data,
FILENAME=’D:
\MyDB_snapshot.mdf’)
ASSNAPSHOTOFMyDB
(3)使用数据库快照
如果因为某个错误而损坏了数据库,可以选择将数据库恢复到给错误出现之前的数据库快照。
USEMyDB
RESTOREDATABASEMyDBfromDATABASE_SNAPSHOT=’MyDB_snapshot’
GO
(4)删除快照
DROPDATABASEMyDB_snapshot
(三)数据库存储文件
SQLServer2005数据库中有三种类型的文件来存储信息。
1、主数据文件
主数据文件包话数据库的启动信息,并指向数据库中的其他文件。
用户数据和对象可存储在该文件中,也可以存储在辅助数据文件中。
每个数据库只能有一个主数据文件。
其扩展名为.mdf。
2、辅助数据文件
辅助数据文件是可选的。
由用户定义并存储用户数据。
每个数据库可以有多个辅助数据文件,其扩展名为.ndf。
3、事务日志文件
事务日志文件是用于保存恢复数据库的日志信息的。
每个数据库必须至少有一个日志文件,其扩展名为.ldf。
4、文件组
文件组是将多个数据文件集合起来形成一个整体。
每个文件组有一个组名。
文件组分为主文件组和次文件组。
一个文件只能存放在一个文件组中,一个文件组也只能为一个数据库使用。
主文件组包含了所有的系统表。
当建立数据库时,主文件组包含数据库文件和未指定组的其他文件。
事务日志文件不包含在任何文件组中。
(四)创建数据库
1、使用向导创建数据库
2、语句方式创建数据库
(1)最简单的语句创建数据库
CreatedatabasedatabaseName
(2)一般创建数据库的格式
CREATEDATABASEdatabase_name
[ON
[[,...n]]
[,[,...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]
示例:
CREATEDATABASESales
ON
(NAME=‘Sales_dat’,
FILENAME='c:
\programfiles\microsoftsqlserver\mssql\data\saledat.mdf',
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5)
LOGON
(NAME='Sales_log',
FILENAME='c:
\programfiles\microsoftsqlserver\mssql\data\salelog.ldf',
SIZE=5MB,
MAXSIZE=25MB,
FILEGROWTH=5MB)
GO
3、请按照要求用工具和SQL语句两种方法创建名为MyDB数据库。
(五)维护数据库
1、修改数据库名称
(1)使用ALTERDATABASE语句
ALTERDATABASEdatabaseNameMODIFYNAME=newdatabaseName
(2)使用存储过程
EXECsp_dboption‘databaseName’,’SINGLE’,True/*首先将数据库设置为单用户模式*/
EXECsp_renamedb‘databaseName’,’newdatabaseName’/*修改数据库名*/
EXECsp_dboption‘newdatabaseName’,’SINGLE’,False/*取消单用户模式*/
(3)从资源管理器窗口修改数据库名
2、修改数据库大小
(1)设置数据库文件为自动增长方式。
(2)直接修改数据库文件的大小。
(3)增加辅助数据库文件。
示例:
CREATEDATABASETest1ON
(NAME=Test1dat1,
FILENAME='c:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\t1dat1.ndf',
SIZE=5MB,
MAXSIZE=100MB,
FILEGROWTH=5MB)
GO
ALTERDATABASETest1
ADDFILE
(NAME=Test1dat2,
FILENAME='c:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\t1dat2.ndf',
SIZE=5MB,
MAXSIZE=100MB,
FILEGROWTH=5MB
)
(4)请参照示例用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、查看数据库状态
(1)使用DATABASEPROPERTYEX函数。
DATABASEPROPERTYEX(database,property)
/*property是表明应返回的选项或属性设置的表达式。
*/
示例:
SELECTDATABASEPROPERTYEX(‘Mydb’,’status’)AS‘当前数据库状态’
(2)使用sys.database_files查看有关数据库文件的信息。
(3)使用sys.filegroups查看数据库文件组的信息。
(4)使用sys.maste_files查看数据文件的基本信息和状态。
6、分离数据库
分离数据库是指数据库从SQLServer实例上删除,但是数据文件、但事务日志文件任然保持不变。
注意:
分离数据库如果出现下列情况之一,则不允许分离:
*已复制并发数据库
*数据库中存在数据库快照
*数据库处于未知状态
(1)使用语句分离数据库
示例:
execsp_detach_dbMyDB
(2)可以使用工具
7、附加数据库
附加数据库时,所有的数据文件(.mdf文件和.ndf文件)都必须是可用的。
如果任何数据文件的路径和创建时或上次附加数据库时的路径不同,则必须指定文件的当前路径。
在附加数据库的过程中,如果没有日志文件,系统将创建一个新的日志文件。
(1)使用工具附加数据库
(2)使用SQL语句附加数据库
示例:
CREATEDATABASESales
ON
(NAME=‘Sales_dat’,
FILENAME='c:
\programfiles\microsoftsqlserver\mssql\data\saledat.mdf')
LOGON
(NAME='Sales_log',
FILENAME='c:
\programfiles\microsoftsqlserver\mssql\data\salelog.ldf')
FORATTACH
(3)请用上述两种方法将MyDB数据库附加到实例中。
五、问题解答及实验结果
六、实验体会和收获
实验项目名称:
表和表数据的操作实验学时:
2
同组学生姓名:
实验地点:
B407
实验日期:
实验成绩:
批改教师:
批改时间:
一、实验目的和要求
1、了解表的类型及创建方法;
2、熟悉各种数据类型;
3、掌握列的各种属性;
4、掌握自定义数据类型的创建方法;
5、掌握用T-SQL语言和工具创建表的方法;
6、掌握工具和T-SQL语言插入数据的方法。
二、实验设备、环境
设备:
奔腾Ⅳ或奔腾Ⅳ以上计算机;
环境:
WINDOWS2000SERVER或WINDOWS2003SERVER、SQLServer2005中文版。
三、实验步骤
1、根据题目要求熟悉SQLServer2005的各种管理工具;
2、分析题意,重点分析题目要求并给出解决方法;
3、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中;
4、提交完成的实验结果。
四、实验内容
(一)表的概述
1、何为表?
在关系数据库中每一个关系都体现为一张表。
表是用来存储数据和操作数据的逻辑结构,关系数据库中所有的数据都表现为表的形式。
2、表的类型
在SQLServer2005中,可以把表分为4种类型,即普通表、分区表、临时表和系统表。
每一种表都有其自身的作用和特点。
(1)普通表
又称为标准表,就是通常所说的数据库中存储数据的表,是最常使用的表对象,是最重要和最基本的表。
(2)分区表
分区表示将数据水平划分成多个单元的表,这些单元的表可以分散到数据库中的多个文件组里,以实现对单元中数据的并行访问。
其优点在于可以方便地管理大型表,提高对这些表中数据的使用效率。
(3)临时表
临时表是临时创建的、不能永久生存的表。
又可以分为本地临时表和全局临时表。
本地临时表以#打头,它们仅对当前的用户连接时可见的,当用户从SQLServe2005实例断开连接时被删除;全局临时表以##打头,创建后任何用户都是可见,当所有引用该表的用户从SQLServer2005中断开连接时被删除。
(4)系统表
系统表与普通表的区别在于,系统表存储了有关SQLServer2005服务器的配置、数据库设置、用户和表对象的描述等信息。
(二)列
1、列数据类型
在设计表的时候,需要知道每列字段的数据类型。
SQLServer2005系统提供了28种数据类型,主要分为七大类。
(1)精确数字类型
这些数据类型的数据可以参加各种数学运算,所有的数值都是有精度的,精度是指有效数字位数。
如整数数据类型:
binint、int、smallint、tinyint;位数据类型bit;货币数据类型:
Money、Smallmoney等。
(2)近似数字类型
在现实计算中,还有一些数据没有精确数值,如1/3,它无法用精确数字类型表示,需要由系统来定义精确到哪一位,这种类型就是近似数据类型。
如:
Decimal和Numeric;Float和Real等。
(3)字符数据类型
它是用来存储各种字母、数字符号和特殊符号。
在使用该数据类型时,需要用用单引号或双引号括起来。
SQLServer2005主要提供了Char、Varchar、Text三种数据类型。
(4)Unicode字符数据类型
Unicode是一种在计算机上使用的字符编码。
它为每一种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
SQLServer2005主要有:
Nchar、Nvarchar、Ntext三种。
(5)二进制数据类型
二进制数据类型可以用来存储二进制的数据。
主要有:
Binary、Varbinary、Image三种类型。
(6)日期和时间数据类型
在SQLServer2005中,日期和时间类型主要包括:
datetime和smalldatetime两种。
两者区别在于其表示的日期和时间的范围不同,时间的精确度也不同。
(7)其他数据类型
SQLServer2005系统还提供了Cursor、Sql_variant、Table、Timestamp、Uniqueidentifier、XML等六种特殊用途的数据来型。
2、列的其他属性
(1)NULL和NOTNULL
定义属性列时可以规定该列是否可以为空。
(2)默认值
当某个属性的值大部分的取值都是相同时,可以使用默认值来减少插入数据时的时间。
(3)IDENTITY
使用IDENTITY关键字定义的字段为标识字段,标识字段是唯一标识每条记录的特殊字段,当一条新记录添加时,这个字段就被自动赋予一个新值。
默认情况下是+1递增。
(三)创建表
1、使用SQLServerManagementStudio工具在MyDB数据库中创建Student和Class表。
Student表的结构为:
字段名
类型
中文名
备注
Sno
Char(8)
学号
主键
Sname
Varchar(10)
姓名
Sex
Char
(2)
性别
男、女
ClsNo
Char(6)
班级
班级的编号,参照表Class
StuAddr
Varchar(20)
住址
描述性说明
Birthday
SmallDate
出生年月
Height
Numeric(4,2)
身高
以米为单位表示学生的身高。
TotalCredit
Tinyint
总学分
Class表的结构为:
字段名
类型
中文名
备注
ClsNo
Char(6)
班号
主键
ClsName
Varchar(16)
班名
对班级的描述信息
Director
Varchar(10)
辅导员
班级的辅导员
Specialty
Varchar(30)
专业
2、使用T-SQL语言在MyDB数据库中创建Course和Grade表(P51)
Course表的结构为:
字段名
类型
中文名
备注
Cno
Char(4)
课程号
主键
Cname
Varchar(16)
课程名
课程的名称
PCno
Char(4)
先修课程
先修课程的课程号
Credit
Tinyint
学分
Grade表的结构为:
字段名
类型
中文名
备注
Sno
Char(8)
学号
学号,参照Student,与Cno组成主键
Cno
Char(4)
课程号
课程号,参照Course
Scorce
Numeric(4,1)
成绩
Cre