《数据库原理及应用SQLServer数据库的创建和管理.pptx》由会员分享,可在线阅读,更多相关《数据库原理及应用SQLServer数据库的创建和管理.pptx(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库系统概论An Introduction to Database System第4章SQLServer2005数据库的创建和管理第1页/共45页教学目标:掌握SQL Server 2005数据库的基本概念,包括SQL Server 2005数据库的基本定义、分类、数据库文件和数据库文件组熟练掌握用SSMS和T-SQL语句创建、查看、修改和删除数据库的各种方法和步骤。学习T-SQL创建数据库的语法和实际应用。第2页/共45页第4章SQL Server 2005数据库的创建和管理4.1SQLServer2005数据库概述4.2创建数据库4.3查看和修改数据库4.4删除数据库4.5分离和附加数据
2、库4.6数据库脱机和联机4.7收缩数据库4.8收缩数据库文件第3页/共45页4.1 SQL Server 2005数据库概述数据库的定义数据库数据库文件数据库文件组第4页/共45页数据库的定义数据库的定义:(database)是对象的容器,以操作系统文件的形式存储在磁盘上。它不仅可以存储数据,而且能够使数据存储和检索以安全可靠的方式进行。表视图关系规则默认存储过程第5页/共45页数据库SQLServer数据库分为:系统数据库、示例数据库、用户数据库第6页/共45页数据库系统数据库(1)Master数据库记录SQLServer2005实例的所有系统级信息,定期备份,不能直接修改。(2)Tempd
3、b数据库用于保存临时对象或中间结果集以供稍后的处理,SQLServer2005关闭后该数据库清空。(3)Model数据库用作SQLServer2005实例上创建所有数据库的模板。对model数据库进行的修改(如数据库大小、排序规则、恢复模式和其他数据库选项)将应用于以后创建的所有数据。(4)Msdb数据库用于SQLServer2005代理计划警报和作业,是SQLServer中的一个Windows服务。(5)Resource数据库一个只读数据库,包含SQLServer2005包括的系统对象。系统对象在物理上保留在Resource数据库中,但在逻辑上显示在每个数据库的sys架构中。第7页/共45页
4、数据库示例数据库AdventureWorks/AdventureWorksDW 是SQLServer2005中的示例数据库(如果在安装过程中选择安装了的话)。此数据库基于一个生产公司,以简单、易于理解的方式来展示SQLServer2005的新功能。第8页/共45页数据库用户数据库用户根据数据库设计创建的数据库。如教务管理数据库(EDUC),图书管理数据库(Library)。第9页/共45页数据库文件主数据文件主数据文件(.mdf)包含数据)包含数据库的启动信息,并库的启动信息,并指向数据库中的其指向数据库中的其他文件;存储用户他文件;存储用户数据和对象;每个数据和对象;每个数据库有且仅有一数据
5、库有且仅有一个主数据文件。个主数据文件。辅助数据文件(辅助数据文件(.ndf)存储主数据文件未存储的其存储主数据文件未存储的其他数据和对象;他数据和对象;可用于将数据分散到多个磁可用于将数据分散到多个磁盘上。如果数据库超过了单盘上。如果数据库超过了单个个 Windows 文件的最大大文件的最大大小,可以使用次数据文件,小,可以使用次数据文件,这样数据库就能继续增长;这样数据库就能继续增长;可以没有也可以有多个;名可以没有也可以有多个;名字尽量与主数据文件名相同。字尽量与主数据文件名相同。事务日志文件(事务日志文件(.ldf)保存用于恢复数据库的保存用于恢复数据库的日志信息;每个数据库日志信息;
6、每个数据库至少有一个日志文件,至少有一个日志文件,也可以有多个。也可以有多个。第10页/共45页数据库文件组数据库文件组:为了便于分配和管理,SQLServer2005允许将多个文件(不同的磁盘)归纳为同一组,并赋予此组一个名称主文件组D:E:主数据文件系统表次文件组次数据文件日志文件第11页/共45页4.2创建数据库SQLServer2005创建数据库的方法有两种:使用SSMS图形界面;使用T-SQL语言第12页/共45页4.2创建数据库使用SSMS图形界面演示第13页/共45页4.2创建数据库使用SSMS创建数据库使用T-SQL语句创建数据库第14页/共45页使用SSMS创建数据库请看演示
7、第15页/共45页使用T-SQL语句创建数据库使用T-SQL语言:一块动手填上注释CREATEDATABASEdatabase_nameONPRIMARY,.n,.nLOGON,.nCOLLATEcollation_nameWITH;第16页/共45页使用T-SQL语句创建数据库:=(NAME=logical_file_name,FILENAME=os_file_name|filestream_path,SIZE=sizeKB|MB|GB|TB,MAXSIZE=max_sizeKB|MB|GB|TB|UNLIMITED,FILEGROWTH=growth_incrementKB|MB|GB|T
8、B|%),.n第17页/共45页使用T-SQL语句创建数据库:=FILEGROUPfilegroup_nameCONTAINSFILESTREAMDEFAULT,.n第18页/共45页使用T-SQL语句创建数据库例:创建一个Test数据库,该数据库的主数据文件逻辑名称为Test_data,物理文件名为Test.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Test_log,物理文件名为Test.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。第19页/共45页使用T-SQL语句创建数据库CREATEDATABASEtestONPRIMA
9、RY-建立主数据文件(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)第20页/共45页使用T-SQL语句创建数据库例:创建图书管理数据库Library。第21页/共45页使用T-SQL语句
10、创建数据库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%)第22页/共45页使用T-SQL语句创建数据库例:创建数据库Archive,该数据库具有三个100-MB数据文件和两个100-MB事务日志文件。主文件是列表中的第一个文件,并使用PRIMARY关键字显式指
11、定。事务日志文件在LOGON关键字后指定。请注意用于FILENAME选项中各文件的扩展名:.mdf用于主数据文件,.ndf用于辅助数据文件,.ldf用于事务日志文件。第23页/共45页使用T-SQL语句创建数据库CREATE DATABASE Archive ONPRIMARY (NAME=Arch1,FILENAME=+data_path+archdat1.mdf,SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Arch2,FILENAME=+data_path+archdat2.ndf,SIZE=100MB,MAXSIZE=200,FILEGROWT
12、H=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)第24页/共45页使用T-SQL语句创建数据库例:分离在示例4中创建的数
13、据库Archive,然后使用FORATTACH 子句附加该数据库。Archive定义为具有多个数据和日志文件。但是,由于文件的位置自创建后没有发生更改,所以只需在FORATTACH 子句中指定主文件。在SQLServer2005中,要附加的数据库中包含的所有全文文件也将随之一起附加。第25页/共45页使用T-SQL语句创建数据库USE master;GOsp_detach_db Archive;GO-Get the SQL Server data pathDECLARE data_path nvarchar(256);SET data_path=(SELECT SUBSTRING(physic
14、al_name,1,CHARINDEX(Nmaster.mdf,LOWER(physical_name)-1)WHERE database_id=1 AND file_id=1);-Execute CREATE DATABASE FOR ATTACH statementEXEC(CREATE DATABASE Archive ON(FILENAME=+data_path+archdat1.mdf)FOR ATTACH);GO第26页/共45页4.3查看和修改数据库使用SSMS查看或修改数据库使用T-SQL语句修改数据库第27页/共45页使用SSMS查看或修改数据库使用SSMS图形界面,请看操作
15、演示。第28页/共45页使用T-SQL语句修改数据库使用T-SQL语言:上机时大家自己从网络上找注释Alterdatabasedatabasenameaddfile,ntofilegroupfilegroupname|addlogfile,n|removefilelogical_file_namewithdelete|modifyfile|modifyname=new_databasename|addfilegroupfilegroup_name|removefilegroupfilegroup_name|modifyfilegroupfilegroup_namefilegroup_prope
16、rty|name=new_filegroup_name第29页/共45页使用T-SQL语句修改数据库例:将两个数据文件和一个事务日志文件添加到test数据库中。ALTERDATABASETestADDFILE-添加两个次数据文件(NAME=Test1,FILENAME=E:练习数据test1.ndf,SIZE=5MB,MAXSIZE=100MB,FILEGROWTH=5MB),(NAME=Test2,FILENAME=E:练习数据test2.ndf,SIZE=3MB,MAXSIZE=10MB,FILEGROWTH=1MB)GOALTERDATABASETestADDLOGFILE(NAME=t
17、estlog1,-添加一个次日志文件FILENAME=F:练习日志testlog1.ldf,SIZE=5MB,MAXSIZE=100MB,FILEGROWTH=5MB)GO第30页/共45页使用T-SQL语句修改数据库例:添加文件组EDUC_Group。ALTERDATABASEEDUCADDFILEGROUPEDUC_Group第31页/共45页使用T-SQL语句修改数据库例:将一个新的数据文件EDUC_data2添加到EDUC数据库的EDUC_Group文件组。ALTERDATABASELibraryADDFILE-添加次数据文件(NAME=Library2,FILENAME=E:图书管理
18、数据Library_data2.ndf)tofilegroupLibrary_group第32页/共45页4.4删除数据库使用ManagementStudio删除数据库使用T-SQL语句删除数据库第33页/共45页使用Management Studio删除数据库使用SSMS图形界面,请看演示。第34页/共45页使用T-SQL语句删除数据库使用T-SQL语言。DROPDATABASE database_name,n第35页/共45页使用T-SQL语句删除数据库例:删除创建的数据库Test。DROPDATABASETest例:删除创建的数据库Test和EDUCDROPDATABASETest,ED
19、UC第36页/共45页4.5分离和附加数据库分离和附加数据库有两种方法实现,我们在讲解创建数据库时介绍了使用T-SQL语言分离和附加数据库的方法,下面介绍使用SSMS分离和附加数据库。第37页/共45页4.5分离和附加数据库分离数据库附加数据库第38页/共45页4.5分离和附加数据库使用SSMS分离和附加数据库演示。第39页/共45页4.6数据库脱机和联机如果需要暂停数据库,可以执行数据库脱机操作如果需要重新启动脱机的数据库,可以执行数据库联机操作请看演示第40页/共45页4.7 收缩数据库如果在创建数据库时,分配的空间过大,可以执行收缩数据库操作来减小数据库占用的空间请看演示第41页/共45
20、页4.7 收缩数据库收缩数据库的命令语法格式很简单:DBCCSHRINKDATABASE(database_name,target_percent例如,收缩AdventureWorks数据库至原库90%,可以使用DBCCSHRINKDATABASE(“AdventureWorks”,90%)第42页/共45页4.8 收缩数据库文件用户除了可以收缩数据库外,还可直接收缩文件请看演示第43页/共45页4.8 收缩数据库文件收缩数据库文件的命令语法格式很简单:DBCCSHRINKFILE(file_name|file_id,,target_size)例如,收缩AdventureWorks数据库至原库80MB,可以使用DBCCSHRINKFILE(“AdventureWorks”,80)来实现。第44页/共45页感谢您的观看!第45页/共45页