《(2版)数据库实验1 数据库创建管理.docx》由会员分享,可在线阅读,更多相关《(2版)数据库实验1 数据库创建管理.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验一数据库的创建与管理一、实验目的及要求本实验的主要目是学会运用可视化的管理平台进行数据库的创建和管理,并理解通过T-SQL命 令进行数据库创建和管理的方式。基本要求包括: 掌握在管理平台中创建数据库。 掌握数据库的SQL创建方式。 了解数据库的主要管理操作。了解使用系统存储过程查看数据库信息。二、实验原理及背景知识(一)SQL Server 2005 系统数据库1 master数据库master数据库存储了 SQL Server系统的所有系统级信息,包括实例范围的元数据(例如登录账 户、端点、链接服务器等)、系统设置参数、所有其它数据库基本信息、这些数据库文件的位置及 SQL Server
2、实例的初始化信息等。使用该数据库时,一旦系统级别的信息发生改变,就应该进行备份, 不要在master数据库中创建用户对象。2 model数据库该系统数据库主要是保存实例上所有数据库的模板,也就是说,在创建新数据库时必须使用该 系统数据库的有关内容。每次创建新的数据库,将通过复制model数据库中的内容来创建数据库, 如果修改了 model数据库的内容,则之后创建的所有数据库都将继承这些修改,例如:可以设置权 限或数据库选项、添加表、函数和存储过程等对象。3、msdb数据库该系统数据库用于SQL Server 2005代理服务,代理服务主要用于DBA来自动执行某些管理任 务,例如在每天的晚上18
3、:00自动备份数据库等,凡是这些自动执行的任务就需要代理服务的支持。 如果不需要执行这些代理服务功能,则该系统数据库可有可无。4、tempdb数据库该系统数据库是连接到SQL Server实例的所有用户都可用的全局资源,它保存所有临时表和 临时存储过程,不能在该数据库中保存永久数据。5、Resource 数据库该系统数据库是SQL Server 2005第五个“隐藏的”数据库,是只读数据库,它包含了 SQL Server 2005实例中的所有系统对象,如系统表和系统视图等。SQL Server系统对象(如sys. objects)在 物理上持续存在于Resource数据库中,但在逻辑上,它们出
4、现在每个数据库的sys架构中。该数据 库无法使用可以列出所有数据库的一般SQL命令来看到它。Resource数据库的ID始终是32767。若要确定Resource数据库的版本号,请使用:SELECT SERVERPROPERTYResourceVersion,);若要访问系统对象的SQL定义,请使用OBJECT_DEFINITION函数:SELECT OBJECT_DEFINITION(0BJECT_ID(,sys. objects,);(二)SQL Server 2005数据库的结构和组成1、数据库逻辑结构从逻辑角度,SQL Server 2005将数据库组织成为各种数据库对象,如数据表、视
5、图、索引、数 据类型、存储过程和触发器等。这些数据库对象是用户使用数据库的基本单位。在这些对象中,数据表是由行和列组成的二维表,用来存储大量的数据,视图是一种虚拟的数 据表,它好像数据表的窗户,索引是将数据表中若干列作为整个表的引导,就像图书索引可加快查 询图书速度一样;数据类型是存储在数据表中的各种数据的类型;存储过程是用SQL语句编写的 一组操纵数据库的语句集合。2、数据库物理结构从物理角度看,SQL Server 2005数据库以多种操作系统文件的形式存储在计算机硬盘上,一般 一个数据库被组织成数据文件和日志文件两种类型的文件。在SQL Server 2005中,数据文件分为主 数据文件
6、和二级数据文件两种形式,使用一组物理文件来映射数据库,数据库中所有数据和对象都 存储在如下的三种操作系统文件中。(1)主数据库文件:该文件包含数据库的启动信息,用来存放数据,它是所有数据库文件的起 点(包含指向其他数据库文件的指针);每个数据库都必须有而且仅有一个主数据文件;主数据文 件的默认扩展名为*.mdf。(2)二级数据文件:也用来存放数据。一个数据库中,可以没有二级数据文件,也可以拥有多 个,如果主数据库文件可以包含数据库中所有数据,则数据库就不需要二级数据文件,如果数据库 很大,主数据文件的容量超过系统的限制,就需要设置一个或多个二级数据文件。二级数据文件的 默认扩展名为*.ndf(
7、3)日志文件:用来存放事务日志,记录了用户对数据库的所有操作,因此,根据日志文件信 息可以恢复一个数据库。每个数据库至少有一个日志文件,也可以拥有多个日志文件;日志文件的 默认扩展名为*.ldf。3、文件组数据库文件组(File Group)是数据库中数据文件的逻辑集合,包含一个或多个数据文件,使用 文件组可以实现将数据分布在多个磁盘上并在查询过程中使用并行线程同时扫描多个磁盘,有效地 提高数据库的读写速度。如:假如一个文件组中的数据文件分布在不同的硬盘驱动器上,在创建数 据表时,表中的数据便分布在不同的硬盘上,读写表时,可以通过并行线程操作,大大提高数据的 存取效率。数据库文件组分为以下3种
8、类型:(1)主文件组(Primary):包含主数据文件和没有被包含在其他文件组里的文件。数据库的系 统表都被包含在主文件组里。(2)自定义文件组(User_defined):包含所有在使用 CREATE DATABASE 或 ALTER DATABASE 时用FILEGROUP关键字进行约束的文件。(3)默认文件组:包含所有在创建时没有指定文件组的表、索引,以及text、ntext和image 数据类型的数据。创建数据库文件组一般遵循的原则为:(1)一个文件或文件组只能被一个数据库使用。(2) 一个文件只能属于一个文件组。(3)日志文件不能属于文件组(4)不仅只有文件属于文件组,数据表也属于某
9、个文件组,数据表和文件的关系通过文件组进 行关联。(三)创建数据库语法格式CREATE DATABASE database_nameONPRIMARY(NAME = logical_file_name ,FILENAME = os_file_name,SIZE = size,MAXSIZE = max_size | UNLIMITED ,FILEGROWTH = growthjncrement ) ,.n , ,.n LOGON(NAME=logical_file_name,FILENAME=/os_file_name,SIZE = size,MAXSIZE=max_size | UNLIMT
10、ED,FILEGROWTH=grow_increment),.n(四)修改数据库语法格式ALTER DATABASE database ADD FILE ,.n TO FILEGROUP filegroup_name | ADD LOG FILE ,.n| REMOVE FILE logical_file_name| ADD FILEGROUP filegroup_name| REMOVE FILEGROUP filegroup_name| MODIFY FILE | MODIFY NAME = new_dbname| MODIFY FILEGROUP filegroup_name fileg
11、roup_property | NAME = new_filegroup_name | SET ,.n WITH | COLLATE (五)收缩数据库语法格式DBCC shrinkdatabase (database_name,target_percent)with nojnfomsgs(六)删除数据库语法格式DROP DATABASE database name三、实验内容及步骤(-)企业管理管理数据库1、建立一个名为stumanage的数据库,其中主数据文件的逻辑名称为stumanage_mdf,物理文 件的名称为d:datastumanage.mdf,大小为20MB,最大为50MB,以2
12、5%的速度增长,数据库的日 志文件为stumanagejog,物理文件的名称为d: data stumanage.ldf,大小为3MB,最大为10MB, 以1MB的速度增长。其操作步骤如下:(1)打开SQLServer Management Studio,右击“数据库”,如实验图1-1。在弹出的快捷菜单 中选择“新建数据库”,弹出实验图1-2。实验图1-1选择“新建数据库”实验图1-2新建数据库界面实验图1-3 ”新建数据库”的“常规”标签页(2)在实验图1-2的“常规标签页中,定义数据库数据文件的逻辑文件名称stumanage_mdf, 在路径下设置物理文件路径为d:data,初始大小位置设
13、置大小为20MB,打开自动增长对话框,如 实验图1-3所示,在该子对话框中设置文件自动增长方式为25%,文件最大为50MB,日志文件采用和数据文件相似的方法进行属性设置。如实验图1-3所示。注意:物理文件名一经确定,便不能更改,SQL Server可以创建文件,但不能创建路径,因此路 径d:data在本机上必须存在,否则,需要在d盘创建data文件夹后才能建立数据库2、在第二个磁盘(如果没有第二个磁盘,也可选择第二个分区)上添加三个次数据文件: datal.ndf data2.ndf 和 data3.ndf, datal.ndf 的物理文件名称为 e:datadatal.ndf, data2.
14、ndf 和 data3.ndf的物理文件名称分别为d:datadata2.ndf和e:datadata3.ndf,三个数据文件的其余属性自 己设置。将datal.ndf归属于文件组fgroupl,将data2.ndf和data3mdf归属于文件组fgroup2。其步 骤如下:(1)在实验图1-2中,选择左侧的“文件组”选项页,如实验图1-4,在该页面上,点击下方 的“添加”按钮,在名称列输入文件组名称fgroupl,用同样的方法再添加一个文件组fgroup2。实验图1-4 ”新建数据库”的“文件组”标签页(2)再次回到实验图13的页面,点击下方的“添加”按钮,在逻辑名称列输入datal.ndf
15、, 并设置属性,在“文件组”列打开文件组下拉框,如实验图1-5,选择fgroupl文件组,用同样的 方法,添加data2. ndf和data3. ndf数据文件,并将其添加到相应的文件组中。娓项件 京选文区脚本 13群助数据库名称00:所有者9):使用全文索弓100stunanage缓认值I逻揖名称文件类型文件组初始大小(MB)自云鸠长路径stwnejae_tndf数据PRIHART20增里为25%,增长的最口d:datestwnanage_log日志不适用3培里为1 MB,增长的最Rd:datadatal_ndf数据PRIMARY _ 3培里为1 I1B,不限制增长二e:data数据库文件(
16、F).PRIMARYfp-ouplfgroup2领文件组连接服分器:YZh连接:VZHAdmini strator进第就绪取消实验图1-5将数据文件添加到文件组注意:日志文件不属于任何文件组,故日志文件没有可选的文件组。3、修改数据库。右击实验图1-1中左侧树形控件中“数据库”选项,在出现的快捷菜单上选择“刷新”,则所 建立的数据库stumanage将出现在左侧的数据库列表中,如实验图1-6。右击 建tumanage”选项, 在出现的快捷菜单中选择“属性”,在“属性”对话框(如实验图1-7)中可以修改、添加和删除数 据库文件和文件组。汉 Microsoft SQL Server Managem
17、ent Studio文件(F)端亩(E) ?EH(V) IH(T) HQ(W)社区(Q 邵助(H)=2.新近回2s翦出G Li右. 已注册的服务平Xj e 他国或 s Q数据岑弓i拿6 9 PC 国 LJI SQL Server 组 出wzh对象资源百理 连横(O) “ 署9 (jJ wzh (SQL Server 9.0.1399 - WZHAdministratc e 口衣as库国 ( 田 国GB ( 田 田 出田CJ h L1J ffi L3 庄口 庄12)建目探廿与1 wa 曲二|邮列2(D - 0报表(。)J stumanageWZ HS5GE6EJSstu ma nage密成羞-
18、stum3Mge卜o-i| Q 3E3_?又用8_?选中_?如康住*aeStRE3$onu.g*所有畲。):ratU4.iu.trrt*使帔钾明霞文件名称53琼车关系圜CJ表LJ祝目J同义词LJl Service BrokerJ丽匚,安全性又忸理文号a苞始大d4句自壮长第隹SitFHHKIjaet*)25%.3 a:4*iatdjidf3e为i.源&雌titfqp23St为l B.蕊&雌. datetit3e为i.源&雌.B5不M3St为l n.阴金冰ZZI a : 一拿统数据库匚J数括度快照IJ AdventureWorks i J AdventureWorksDW|j Report Ser
19、ver连我般貂SSfZHVAimttratw* 各在五*,26任. Wf.g)I - I 1 一 实验图1-6选择“属性”实验图1-7修改数据库选项页注意:此时,不能再修改文件路径,且对文件大小进行修改时,修改的文件大小要大于或等于 修改前数据文件大小。4、重命名数据库为pupil。在所建立的数据库上点击右键,选择“重命名”,输入新的数据库名称“pupil”,完成数据库 更名。注意:一般在数据库创建好之后,不要更改数据库名称5、删除所建立的数据库pupil。在所建立的数据库上点击右键,选择“删除在出现的删除对话框中,选择“关闭现有连接 点击确定,完成数据库删除。注意:完成对数据库的修改后,需要
20、及时备份master系统数据库。(二)SQL命令管理数据库1、创建数据库stumanage:建立一个名为stumanage的数据库,其中主数据文件的逻辑名称为 stumanage data,物理文件名称为d: datastumanage. mdf,大小为20MB,最大为50MB,以25%的速 度增长,数据库的日志文件为stumanage_log,物理文件名称为d: datastumanage. Idf,大小为3MB, 最大为10MB,以1MB的速度增长。CREATE DATABASE stumanageON PRIMARY(NAME=stnmanage_data/FILENA14E=, d:d
21、atastumanage .mdf1 .SIZE=20MB.1AXSIZE=5OMB.FILEGROWTH=25%)LOG ON(NAME=s tumanage_logfFILENAME1d:datastLJnanage.Idf1fSIZE=3MB.l-IAXSIZE=10MB.FILEGROWTH=lbfB )2、修改数据库stumanage(1)在该数据库上添加一个文件组,文件组逻辑名为groupl。ALTER DATABASE stumanage ADD FILEGROUP groupl(2)在文件组groupl上添加一个二级数据文件,逻辑文件名称为testl,物理文件名称为 d:dat
22、atestl. ndf,文件大小为5MB。ALTER DATABASE stumanageADD file(NAME=testlrFILENAl-fE=1 d: datatestl .ndf 1, SIZE=5MB)TO FILEGROWTH groupl(3)在数据库中添加一个日志文件,文件逻辑文件名为testlog,物理文件名为 d:datatestl. Idf,文件大小5MB。ALTER DATABASE stumanage ADD LOG FILE (NAME=testl_logfFILENAl-fE=, d:datatestl .Idf1 r SIZE=5MB )(4)将testl文
23、件改名为test2,大小为15MB,文件的最大容量为UNLIMITED (不限制容量)。ALTER DATABASE stumanage MODIFY FILE (NAME=testlf NEWNAl-IE=test2, SIZE=15MBf 1AXSIZE=UNLIMITED )(5)将文件组groupl设定为默认文件组ALTER DATABASE stumanage MODIFY FILEGROUP groupl DEFAULT (6)移除文件test2,由于groupl为默认文件组,其中必须至少存在一个数据文件,故此时不 能将test2文件删除,需要将文件组groupl的默认属性转移到别
24、的文件组之后,才能将test2文件删 除。ALTER DATABASE stumanage MODIFY FILEGROUP PRIMARY DEFAULT GO ALTER DATABASE stumanage REl-fOVE FILE test2(7)删除文件组groupl。当文件组处于默认状态或者文件组中有数据文件时,文件组不能删除。 ALTER DATABASE stumanage RE140VE FILEGROUP groupl(8)修改数据库名称为new stumanage。ALTER DATABASE stumanage MODIFY NA1-1E =new_stumanage
25、 3、收缩数据库。DBCC shrinkdatabase(new_stumanage1z10) /*将数据库缩为有10%的剩余空间*/ 4、运用系统存储过程查询数据库信息。 (1)查询数据库结构信息EXEC sp_helpdb new_stnmanage (2)查询数据库文件stumanage_data的信息。EXEC sp_helpfile stumanage_data (3)查询PRIMARY数据库文件组信息。EXEC sp_helpfilegroup primary 5、删除数据库。DROPDATA3ASE new_s tumanage四、实验测验1、按照下面要求使用SQL命令创建一个数
26、据库。名称:Test主要数据文件:逻辑名称:Test_M_Data物理名称:D:DBTest_MData.MDF初始大小:4MB递增:2MB最大:300MB次要数据文件:逻辑名称:Test_N_Data物理名称:D:DBTest_NData.NDF初始大小:4MB递增:10%最大:不限日志文件:逻辑名称:Test_Log其他信息:默认2、在第三部分实验结果数据库Test中添加2个文件组group1和group2,在groupl中添加2个二级 数据文件testl和test2,在group2中添加1个数据文件test3。3、设置group2为默认文件组。五、实验思考题1、为什么要管理数据库文件和日志文件的增长?2、被定义为默认的文件组有什么条件?3、文件组在数据库管理中的作用是什么?