《数据库的创建和管理.ppt》由会员分享,可在线阅读,更多相关《数据库的创建和管理.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章 数据库的创建和管理数据库的创建和管理 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第2章 数据库的创建和管理2.1 基本概念基本概念 主要数据文件数据文件v数据库次要数据文件事务日志文件主要数据文件用来存储数据库的启动信息、部分或全部数据,扩展名为.mdf每个数据库只能有一个主要数据文件次要数据文件用于保存所有主要数据文件中容纳不下的数据,扩展名为.ndf用于存储数据库中的所有对象保存用于恢复数据库的日志信息 第2章 数据库的创建和管理v 文件组:将多个
2、数据文件集合起来形成的一个整体目的:便于进行管理和数据的分配类型:主文件组:包含了所有的系统表用户自定义文件组默认文件组:包含所有在创建时没有指定文件组的表、索引等数据库对象注意:一个数据文件不能存在于两个或两个以上的文件组里,日志文件不属于任何文件组第2章 数据库的创建和管理2.1.1 2.1.1 数据库的物理存储结构数据库的物理存储结构第2章 数据库的创建和管理2.1.2 2.1.2 事务日志事务日志 事务日志文件,用以记录所有事务和每个事务对数据库所做的修改,当数据库破坏时可以用事务日志恢复数据库内容。2.1.3 2.1.3 系统数据库和示例数据库系统数据库和示例数据库 安装SQL Se
3、rver2000时,系统自动创建4个系统数据库和2个示例数据库。第2章 数据库的创建和管理v master master数据库数据库master数据库记录了SQLServer系统的所有系统级别的信息,包括所有的登录帐户和密码、系统的配置信息以及所有用户定义数据库的存储位置、初始化信息。master是SQLServer中重要的数据库,如果master数据库受到损坏,SQLServer将不能启动。v modelmodel数据库数据库model数据库是建立新数据库的模板,它包含了将复制到每个新建数据库中的系统表。第2章 数据库的创建和管理v msdbmsdb数据库数据库该数据库主要被SQLServe
4、rAgent用于进行复制、作业调度以及管理报警等活动。v tempdb tempdb数据库数据库tempdb数据库保存所有的临时表、临时数据以及临时创建的存储过程。这四个系统数据库是运行这四个系统数据库是运行SQL ServerSQL Server的基础。的基础。v 示例数据库示例数据库pubs数据库记录一个虚拟的图书出版公司的数据信息northwind数据库保存了一个虚拟的贸易公司的数据信息第2章 数据库的创建和管理2.2 创建数据库创建数据库 创建数据库是创建表及其它数据库对象的第一步。数据库的创建包括为数据库确定名称、决定数据库大小,及在数据库中用来存储数据的文件。2.2.1 2.2.1
5、 使用企业管理器创建数据库使用企业管理器创建数据库 (1)进入SQL Server企业管理器,在左边的目录树结构中选择“数据库”文件夹。(2)单击“操作”菜单中的“新建数据库”命令或右键单击“数据库”文件夹,在弹出的快捷菜单上选择“新建数据库”命令。系统打开“数据库属性”对话框。第2章 数据库的创建和管理 (3)在“常规”选项卡中输入数据库的名称,假设为Sales。输入数据库名称第2章 数据库的创建和管理(4)选择“数据文件”选项卡,在该窗口中设置数据文件的属性。数据文件的逻辑名文件位置 初始大小 文件所在的文件组 文件否允许自动增长 第2章 数据库的创建和管理 (5)选择“事务日志”选项卡,
6、在该窗口中可设置日志文件的属性。(6)单击“确定”按钮,数据库创建完成。第2章 数据库的创建和管理2.2.2 2.2.2 使用使用T-SQLT-SQL语句创建数据库语句创建数据库创建数据库的T-SQL语句的语法形式:CREATEDATABASEdatabase_nameON,.n,.n LOGON,.n:=PRIMARY(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),.n:=FILEGROUPfilegroup_name
7、,.n第2章 数据库的创建和管理v database_name:新创建的数据库的名称。vON:指出用来存储数据库中数据部分的磁盘文件(数据文件)。vPRIMARY:指定主文件组中的主文件。vLOGON:指定用来存储数据库日志的磁盘文件。vNAME=logical_file_name:指定数据文件或日志文件的逻辑名。vFILENAME=os_file_name:指定数据文件或日志文件的操作系统文件名,包括文件名和路径。vSIZE=size:指定数据文件或日志文件的初始大小,默认单位为MB。第2章 数据库的创建和管理vMAXSIZE=max_size|UNLIMITED:指定数据文件或日志文件可以
8、增长到的最大容量,默认单位为MB。vFILEGROWTH=growth_increment:指定数据文件或日志文件的增长幅度,默认单位为MB。例2-1创建一个数据库sample。主文件为sample_dat。CREATEDATABASEsampleONPRIMARY(NAME=sample_dat,FILENAME=d:programfilesmicrosoftsqlservermssqldatasample_data.mdf,SIZE=5,MAXSIZE=50,FILEGROWTH=10)第2章 数据库的创建和管理例2-2创建一个只包含一个数据文件和一个日志文件的数据库。该数据库名为Sale
9、s,数据文件的逻辑名为Sales_data,数据文件的操作系统名为sales_data.mdf,初始大小为10MB,最大可增加至500MB,增幅为10;日志文件的逻辑名为Sales_log,操作系统名为sales_log.ldf,初始大小为5MB,最大值为100MB,日志文件大小以2MB增幅增加。CREATEDATABASESalesON(NAME=Sales_data,FILENAME=d:programfilesmicrosoftsqlservermssqldatasales_data.mdf,SIZE=10MB,MAXSIZE=500MB,FILEGROWTH=10%)LOGON(NAM
10、E=Sales_log,FILENAME=d:programfilesmicrosoftsqlservermssqldatasales_log.ldf,SIZE=5MB,MAXSIZE=100MB,FILEGROWTH=2MB)第2章 数据库的创建和管理例2-3创建一个包含多个数据文件和日志文件的数据库。该数据库名为student,含有三个初始大小为10MB的数据文件和两个8MB的日志文件。CREATEDATABASEstudentONPRIMARY(NAME=std_dat1,FILENAME=d:program filesmicrosoft sqlservermssqldatastuden
11、t1.mdf,SIZE=10MB,MAXSIZE=200MB,FILEGROWTH=20),(NAME=std_dat2,FILENAME=d:program filesmicrosoft sqlservermssqldatastudent2.ndf,SIZE=10MB,MAXSIZE=200MB,FILEGROWTH=20),第2章 数据库的创建和管理(NAME=std_dat3,FILENAME=d:programfilesmicrosoftsqlservermssqldatastudent3.ndf,SIZE=10MB,MAXSIZE=200MB,FILEGROWTH=20)LOGON(
12、NAME=std_log1,FILENAME=d:programfilesmicrosoftsqlservermssqldatastdlog1.ldf,SIZE=8MB,MAXSIZE=100MB,FILEGROWTH=10MB),(NAME=std_log2,FILENAME=d:programfilesmicrosoftsqlservermssqldatastdlog2.ldf,SIZE=8MB,MAXSIZE=100MB,FILEGROWTH=10MB)第2章 数据库的创建和管理例2-4创建一个包含两个文件组的数据库。该数据库名为business,主文件组包含business_dat1和
13、business_dat2两个数据文件。文件组business_group包含文件数据文件business_dat3。该数据库还包含一个日志文件business_log。CREATEDATABASEbusinessONPRIMARY(NAME=business_dat1,FILENAME=d:programfilesmicrosoftsqlservermssqldatabusinessdat1.mdf,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10),(NAME=business_dat2,FILENAME=d:programfilesmicrosoftsqlserv
14、ermssqldatabusinessdat2.ndf,SIZE=10MB,MAXSIZE=500MB,FILEGROWTH=10),第2章 数据库的创建和管理FILEGROUPbusiness_group(NAME=business_dat3,FILENAME=d:programfilesmicrosoftsqlservermssqldatabusinessdat3.ndf,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10%)LOGON(NAME=business_log,FILENAME=d:programfilesmicrosoftsqlservermssqlda
15、tabusinesslog.ldf,SIZE=8MB,MAXSIZE=100MB,FILEGROWTH=10MB)第2章 数据库的创建和管理2.3 数据库的管理数据库的管理2.3.1 2.3.1 查看数据库查看数据库 1用企业管理器查看数据库的属性 进入SQLServer企业管理器,在左边的目录树结构中选中要查看的数据库Sales,单击右键,在弹出的快捷菜单上单击“属性”命令,即可进入Sales数据库的属性窗口。该窗口共有6个选项卡,包括“常规”、“数据文件”、“事务日志”、“文件组”、“选项”及“权限”,我们可以根据需要进入选择不同的选项卡查看数据库相应的信息。第2章 数据库的创建和管理第2
16、章 数据库的创建和管理2用T-SQL语句查看数据库的属性 使用系统存储过程sp_helpdb可以查看某个数据库或所有数据库的属性。格式:sp_helpdb database_name 该存储过程显示了Sales数据库的名称、大小、所有者、创建日期以及数据文件和日志文件等属性。例2-5查看数据库Sales的属性。sp_helpdbSales例2-6查看所有数据库的属性sp_helpdb第2章 数据库的创建和管理2.3.2 2.3.2 修改数据库修改数据库 1用企业管理器修改数据库属性 进入数据库的属性窗口,在属性窗口中修改数据库属性。注意:在删除文件组时要求该文件组中不包含任何数据文件,否则SQ
17、LServer会给出错误信息2用T-SQL语句修改数据库属性其语法形式为:第2章 数据库的创建和管理ALTERDATABASEdatabase ADD FILE ,.n TO FILEGROUPfilegroup_name|ADDLOGFILE,.n|REMOVEFILElogical_file_name|ADDFILEGROUPfilegroup_name|REMOVEFILEGROUPfilegroup_name|MODIFYFILE|MODIFYNAME=new_dbname|MODIFYFILEGROUPfilegroup_namefilegroup_property|NAME=new
18、_filegroup_name第2章 数据库的创建和管理vADDFILE,.n TOFILEGROUPfilegroup_name:表示向指定的文件组添加新的数据文件。vADDLOGFILE,.n:添加新的事务日志文件。vREMOVEFILElogical_file_name:删除某一文件。vADDFILEGROUPfilegroup_name:添加一个文件组。vREMOVEFILEGROUPfilegroup_name:删除某一文件组。vMODIFYFILE:修改某个文件的属性。vMODIFYNAME=new_dbname:修改数据库的名字第2章 数据库的创建和管理vMODIFYFILEGR
19、OUPfilegroup_namefilegroup_property|NAME=new_filegroup_name:修改某一文件组的属性。例2-7为数据库sample添加一个数据文件sample_dat2和一个日志文件sample_log2。ALTERDATABASEsampleADDFILE(NAME=sample_dat2,FILENAME=d:programfilesmicrosoftsqlservermssqldatasample_dat2.ndf,SIZE=4,MAXSIZE=10,FILEGROWTH=1)ALTERDATABASEsampleADDLOGFILE(NAME=s
20、ample_log2,FILENAME=d:programfilesmicrosoftsqlservermssqldatasample_log2.ldf,SIZE=4,MAXSIZE=10,FILEGROWTH=1)例2-8为数据库sample添加一个文件组USER1,并向该文件组添加一个二个数据文件sampuser_dat1和sampuser_dat2。ALTERDATABASEsampleADDFILEGROUPUSER1ALTERDATABASEsampleADDFILE(NAME=sampuser_dat1,FILENAME=d:programfilesmicrosoftsqlserv
21、ermssqldatasampuser_dat1.ndf,SIZE=4,MAXSIZE=10,FILEGROWTH=1),(NAME=sampuser_dat2,FILENAME=d:programfilesmicrosoftsqlservermssqldatasampuser_dat2.ndf,SIZE=4,MAXSIZE=10,FILEGROWTH=1)TOFILEGROUPUSER1第2章 数据库的创建和管理例2-9从数据库sample中删除文件sampuser_dat2。ALTERDATABASEsampleREMOVEFILEsampuser_dat2例2-10删除数据库sample
22、中的文件组USER1。ALTERDATABASEsampleREMOVEFILEsampuser_dat1ALTERDATABASEsampleREMOVEFILEGROUPUSER1注意:在删除文件组时必须先删除文件组中所包含的文件。第2章 数据库的创建和管理例2-11修改数据库sample中数据文件sample_dat2的属性,将其初始大小改为10MB,最大容量改为80MB,增长幅度改为5MB。ALTERDATABASEsampleMODIFFILE(NAME=sample_dat2,SIZE=10,MAXSIZE=80,FILEGROWTH=5)第2章 数据库的创建和管理例2-12修改数
23、据库business中文件组business_group的属性,将其改名为group1,并设置为DEFAULT属性(即该文件组为默认文件组)。ALTERDATABASEbusinessMODIFYFILEGROUPbusiness_groupNAME=group1ALTERDATABASEbusinessMODIFYFILEGROUPgroup1DEFAULT例2-13将数据库student改名为stud_teacher。ALTERDATABASEstudentMODIFYNAME=stud_teacher 第2章 数据库的创建和管理2.3.3 2.3.3 重命名数据库重命名数据库语法形式为:
24、sp_renamedbold_name,new_nameold_name:数据库的当前名称;new_name是数据库的新名称。例2-14将数据库business更名为company。sp_renamedbbusiness,company第2章 数据库的创建和管理2.3.4 2.3.4 数据库的收缩数据库的收缩SQLServer2000允许收缩数据库中的每个文件以删除未使用的页。数据文件和事务日志文件都可以收缩。1自动收缩(1)使用企业管理器设置自动收缩数据库在数据库的“属性对话框”中,点击“选项”选项卡,选中“自动收缩”复选框,即可完成数据库自动收缩的设置。设置自动收缩第2章 数据库的创建和管
25、理(2)T-SQL语句自动收缩数据库使用ALTERDATABASE语句可以将数据库设为自动收缩。当数据库中有足够的可用空间时,就会发生收缩。其语法形式为:ALTERDATABASEdatabase_nameSETAUTO_SHRINKon/off例2-15将数据库sales的收缩设为自动收缩。ALTERDATABASEsalesSETAUTO_SHRINKon注意:不能将整个数据库收缩到比其原始大小还要小。第2章 数据库的创建和管理2手工收缩DBCCSHRINKDATABASE(database_name,target_percent,NOTRUNCATE|TRUNCATEONLY)v dat
26、abase_name:是要收缩的数据库名称。v target_percent:是数据库收缩后的数据库文件中所要的剩余可用空间百分比。vNOTRUNCATE:被释放的文件空间依然保持在数据库文件的范围内。如果未指定,则被释放的文件空间将被操作系统回收利用。第2章 数据库的创建和管理vTRUNCATEONLY:将数据文件中的任何未使用的空间释放给操作系统。例2-16缩小sales数据库的大小,使得该数据库中的文件有20的可用空间。DBCCSHRINKDATABASE(sales,20)还可以使用DBCC命令来缩小某一个操作系统文件的长度,其语法形式为:DBCCSHRINKFILE(file_nam
27、e,target_size|,EMPTYFILE|NOTRUNCATE|TRUNCATEONLY)第2章 数据库的创建和管理vfile_name:是要收缩的操作系统文件名。vtarget_size:将文件缩小到指定的长度,以MB为单位。如果缺省该项,文件将尽最大可能进行缩小。vEMPTYFILE:将指定文件上的数据全部迁移到本文件组的其它文件上,以后的操作将不会再再该文件上增加数据。例2-17将数据库sales中名为sales_data的文件收缩至7MB。USEsalesGODBCCSHRINKFILE(sales_data,7)第2章 数据库的创建和管理2.4 删除数据库删除数据库1用企业管
28、理器删除数据库(1)打开SQLServer企业管理器窗口,在左边的目录树结构中选择要删除的数据库文件夹,如company。(2)选择“操作”菜单中的“删除”命令或右键单击要删除的数据库,在弹出的快捷菜单中选择“删除”命令,系统会弹出“删除数据库”的确认对话框。(3)单击“是”按钮就会删除该数据库。2T-SQL语句删除数据库语法形式:DROPDATABASEdatabase_name第2章 数据库的创建和管理例2-18删除数据库studentDROPDATABASEstudent例2-19删除sample和student数据库。DROPDATABASEsample,student注意:4个系统数据库master、tempdb、model、msdb不能删除。正在使用的数据库不能删除。数据库被删除之后,文件及其数据都从服务器上的磁盘中删除。一旦删除数据库,它即被永久删除,所以删除数据库时一定要谨慎。第2章 数据库的创建和管理小结:小结:介绍了SQLServer数据库创建、管理和删除的方法,学习了数据库的基本存储结构。并对系统数据库和示例数据库进行了讲解通过对本章的学习,应该重点掌握根据需要创建数据库,并对其进行有效的管理