您好,欢迎访问三七文档
数据库原理及应用数据库原理及应用AnIntroductiontoDatabaseSystem数据库原理及应用数据库系统概论AnIntroductiontoDatabaseSystem第4章SQLServer2005数据库的创建和管理数据库原理及应用教学目标:•掌握SQLServer2005数据库的基本概念,包括SQLServer2005数据库的基本定义、分类、数据库文件和数据库文件组•熟练掌握用SSMS和T-SQL语句创建、查看、修改和删除数据库的各种方法和步骤。•学习T-SQL创建数据库的语法和实际应用。数据库原理及应用第4章SQLServer2005数据库的创建和管理•4.1SQLServer2005数据库概述•4.2创建数据库•4.3查看和修改数据库•4.4删除数据库•4.5分离和附加数据库•4.6数据库脱机和联机•4.7收缩数据库•4.8收缩数据库文件数据库原理及应用4.1SQLServer2005数据库概述•4.1.1数据库的定义•4.1.2SQLServer2005数据库•4.1.3数据库文件•4.1.4数据库文件组数据库原理及应用4.1.1数据库的定义•数据库的定义:(database)是对象的容器,以操作系统文件的形式存储在磁盘上。•它不仅可以存储数据,而且能够使数据存储和检索以安全可靠的方式进行。表视图关系规则默认存储过程数据库原理及应用4.1.2SQLServer2005数据库•SQLServer数据库分为:系统数据库、示例数据库、用户数据库数据库原理及应用4.1.2SQLServer2005数据库系统数据库(1)Master数据库记录SQLServer2005实例的所有系统级信息,定期备份,不能直接修改。(2)Tempdb数据库用于保存临时对象或中间结果集以供稍后的处理,SQLServer2005关闭后该数据库清空。(3)Model数据库用作SQLServer2005实例上创建所有数据库的模板。对model数据库进行的修改(如数据库大小、排序规则、恢复模式和其他数据库选项)将应用于以后创建的所有数据。(4)Msdb数据库用于SQLServer2005代理计划警报和作业,是SQLServer中的一个Windows服务。(5)Resource数据库一个只读数据库,包含SQLServer2005包括的系统对象。系统对象在物理上保留在Resource数据库中,但在逻辑上显示在每个数据库的sys架构中。数据库原理及应用4.1.2SQLServer2005数据库•示例数据库•AdventureWorks/AdventureWorksDW是SQLServer2005中的示例数据库(如果在安装过程中选择安装了的话)。此数据库基于一个生产公司,以简单、易于理解的方式来展示SQLServer2005的新功能。数据库原理及应用4.1.2SQLServer2005数据库•用户数据库•用户根据数据库设计创建的数据库。如教务管理数据库(EDUC),图书管理数据库(Library)。数据库原理及应用4.1.3数据库文件主数据文件(.mdf)包含数据库的启动信息,并指向数据库中的其他文件;存储用户数据和对象;每个数据库有且仅有一个主数据文件。辅助数据文件(.ndf)存储主数据文件未存储的其他数据和对象;可用于将数据分散到多个磁盘上。如果数据库超过了单个Windows文件的最大大小,可以使用次数据文件,这样数据库就能继续增长;可以没有也可以有多个;名字尽量与主数据文件名相同。事务日志文件(.ldf)保存用于恢复数据库的日志信息;每个数据库至少有一个日志文件,也可以有多个。数据库原理及应用4.1.4数据库文件组•数据库文件组:为了便于分配和管理,SQLServer2005允许将多个文件(不同的磁盘)归纳为同一组,并赋予此组一个名称主文件组D:E:主数据文件系统表次文件组次数据文件日志文件数据库原理及应用4.2创建数据库SQLServer2005创建数据库的方法有两种:使用SSMS图形界面;使用T-SQL语言数据库原理及应用4.2创建数据库使用SSMS图形界面演示数据库原理及应用4.2创建数据库•4.2.1使用SSMS创建数据库•4.2.2使用T-SQL语句创建数据库数据库原理及应用4.2.1使用SSMS创建数据库•请看演示数据库原理及应用4.2.2使用T-SQL语句创建数据库使用T-SQL语言:一块动手填上注释CREATEDATABASEdatabase_name[ON[PRIMARY][filespec[,...n][,filegroup[,...n]][LOGON{filespec[,...n]}]][COLLATEcollation_name][WITHexternal_access_option]][;]数据库原理及应用4.2.2使用T-SQL语句创建数据库filespec::={(NAME=logical_file_name,FILENAME={'os_file_name'|'filestream_path'}[,SIZE=size[KB|MB|GB|TB]][,MAXSIZE={max_size[KB|MB|GB|TB]|UNLIMITED}][,FILEGROWTH=growth_increment[KB|MB|GB|TB|%]])[,...n]}数据库原理及应用4.2.2使用T-SQL语句创建数据库filegroup::={FILEGROUPfilegroup_name[CONTAINSFILESTREAM][DEFAULT]filespec[,...n]}数据库原理及应用4.2.2使用T-SQL语句创建数据库例:创建一个Test数据库,该数据库的主数据文件逻辑名称为Test_data,物理文件名为Test.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Test_log,物理文件名为Test.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。数据库原理及应用4.2.2使用T-SQL语句创建数据库CREATEDATABASEtestONPRIMARY--建立主数据文件(NAME='test',--逻辑文件名FILENAME='E:\练习数据\test.mdf',--物理文件路径和名字SIZE=10240KB,--初始大小MAXSIZE=UNLIMITED,--最大尺寸为无限大FILEGROWTH=10%)--增长速度为10%LOGON(NAME='test_log',--建立日志文件FILENAME='F:\练习日志\test_log.ldf',--物理文件路径和名字SIZE=1024KB,MAXSIZE=5120KB,FILEGROWTH=1024KB)数据库原理及应用4.2.2使用T-SQL语句创建数据库•例:创建图书管理数据库Library。数据库原理及应用4.2.2使用T-SQL语句创建数据库CREATEDATABASELibraryOn(NAME=Library,FILENAKME='E:\图书管理数据\Library_data.mdf',SIZE=3,MAXSIZE=10,FILEGROWTH=10%)LOGON(NAME=Library_log,FILENAME='F:\图书管理日志\Library_log.ldf',SIZE=1,MAXSIZE=2,FILEGROWTH=10%)数据库原理及应用4.2.2使用T-SQL语句创建数据库•例:创建数据库Archive,该数据库具有三个100-MB数据文件和两个100-MB事务日志文件。主文件是列表中的第一个文件,并使用PRIMARY关键字显式指定。事务日志文件在LOGON关键字后指定。请注意用于FILENAME选项中各文件的扩展名:.mdf用于主数据文件,.ndf用于辅助数据文件,.ldf用于事务日志文件。数据库原理及应用4.2.2使用T-SQL语句创建数据库CREATEDATABASEArchiveONPRIMARY(NAME=Arch1,FILENAME='''+@data_path+'archdat1.mdf'',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Arch2,FILENAME='''+@data_path+'archdat2.ndf'',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Arch3,FILENAME='''+@data_path+'archdat3.ndf'',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20)LOGON(NAME=Archlog1,FILENAME='''+@data_path+'archlog1.ldf'',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Archlog2,FILENAME='''+@data_path+'archlog2.ldf'',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20)数据库原理及应用4.2.2使用T-SQL语句创建数据库•例:分离在示例4中创建的数据库Archive,然后使用FORATTACH子句附加该数据库。Archive定义为具有多个数据和日志文件。但是,由于文件的位置自创建后没有发生更改,所以只需在FORATTACH子句中指定主文件。在SQLServer2005中,要附加的数据库中包含的所有全文文件也将随之一起附加。数据库原理及应用4.2.2使用T-SQL语句创建数据库USEmaster;GOsp_detach_dbArchive;GO--GettheSQLServerdatapathDECLARE@data_pathnvarchar(256);SET@data_path=(SELECTSUBSTRING(physical_name,1,CHARINDEX(N'master.mdf',LOWER(physical_name))-1)FROMmaster.sys.master_filesWHEREdatabase_id=1ANDfile_id=1);--ExecuteCREATEDATABASEFORATTACHstatementEXEC('CREATEDATABASEArchiveON(FILENAME='''+@data_path+'archdat1.mdf'')FORATTACH');GO数据库原理及应用4.3查看和修改数据库•4.3.1使用SSMS查看或修改数据库•4.3.2使用T-SQL语句修改数据库数据库原理及应用4.3.1使用SSMS查看或修改数据库•使用SSMS图形界面,请看操作演示。数据库原理及应用4.3.2使用T-SQL语句修改数据库•使用T-SQL语言:上机时大家自己从网络上找注释Alterdatabasedatabasename{addfilefilespec[,…n][tofilegroupfilegroupname]|addlogfilefilespec[,…n]|removefilelogical_file_name[withdelete]|modifyfilefilespec|modifyname=new_databasename|addfilegroupfilegroup_name|removefilegroupfilegroup_name|modifyfilegroupfilegroup_name{filegroup_property|name=new_filegroup_name数据库原理及应用4.3.2使用T-SQL语句修改数据库例:将两个数据文件和一个事务日志文件添加到test数据库中。ALTERDATABASETestADDFILE--添加两个次数据文件(NAME=Test1,FILENAME='E:\练习数据\test1.ndf',SIZE=5MB,MA
本文标题:数据库原理及应用---第4章--SQL-Server-2005数据库的创建和管理
链接地址:https://www.777doc.com/doc-5338800 .html