资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Copyright2008,1,第3章 创建和管理数据库,创建数据库,创建文件组,管理数据库,数据结构介绍,第3章 创建和管理数据库创建数据库,数据库存储结构,数据库的存储结构,逻辑存储结构,数据库是由哪些性质的信息所组成,。,实际上,,SQL Server,的数据库是由诸如表、视图、索引等各种不同的数据库对象所组成。,物理存储结构,讨论数据库文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。,数据库存储结构数据库的存储结构,数据库文件,主数据库文件,一个数据库可以有一个或多个数据库文件,一个数据库文件只能属于一个数据库。当有多个数据库文件时,有一个文件被定义为主数据库文件(简称为主文件),其扩展名为,mdf,。,主数据库文件用来存储数据库的启动信息以及部分或者全部数据,是所有数据库文件的起点,包含指向其它数据库文件的指针。一个数据库只能有一个主数据库文件。,数据库文件主数据库文件,数据库文件,辅助数据库文件,一个用于存储主数据库文件中未存储的剩余数据和数据库对象,一个数据库可以没有辅助数据库文件,但也可以同时拥有多个辅助数据库文件。,辅助数据库文件的扩展名为,ndf,(简称为辅助文件)。,数据库文件辅助数据库文件,数据库文件,事务日志文件,一个,存储数据库的更新情况等事务日志信息,当数据库损坏时,管理员使用事务日志恢复数据库。,每一个数据库至少必须拥有一个事务日志文件,而且允许拥有多个日志文件。事务日志文件的扩展名为,ldf,,日志文件的大小至少是,512KB,。,SQL Server,事务日志采用提前写入的方式。,数据库文件事务日志文件,创建数据库,1,使用向导创建数据库,2,使用企业管理器创建数据库,3,使用,Transact-SQL,语言创建数据库,创建数据库1使用向导创建数据库,使用,T-SQL,语言创建数据库,CREATE DATABASE,S,ampleON PRIMARY(NAME=,S,ample,D,ata,FILENAME=c:,Program Files,.D,ata,S,ample.mdf,SIZE=10MB,MAXSIZE=15MB,FILEGROWTH=20%)LOG ON (NAME=,S,ample,L,og,FILENAME=c:,Program Files,.D,ata,S,ample.ldf,SIZE=3MB,MAXSIZE=5MB,FILEGROWTH=1MB),主数据库文件,事务日志文件,逻辑文件名,物理文件名,文件增长量,建立数据库的定义,:,数据库的名称,数据库的大小,数据库将驻留在哪一个文件中,使用T-SQL语言创建数据库CREATE DATABASE,Transact-SQL,语言的命令格式说明:,用,括起来的内容表示是可选的;,,,n,表示重复前面的内容;,用,括起来表示在实际编写语句时,用相应的内容替代;,用,括起来表示是必选的;,类似,A|B,的格式,表示,A,和,B,只能选择一个,不能同时都选。,使用,Transact-SQL,语言创建数据库,Transact-SQL语言的命令格式说明:使用Transa,CREATE DATABASE database_name,ON,PRIMARY (NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED ,FILEGROWTH=growth_increment),n,LOG ON,(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED ,FILEGROWTH=growth_increment),n,使用,Transact-SQL,语言创建数据库,CREATE DATABASE database_name使,database_name,:数据库的名称。数据库名称在服务器中必须唯一,最长为,128,个字符,并且要符合标识符的命名规则。每个服务器管理的数据库最多为,32767,个。,PRIMARY,:用于指定主文件组中的文件。如果不指定,PRIMARY,关键字,则在命令中列出的第一个文件将被默认为主文件。,SIZE,:指定数据库的初始容量大小。如果没有指定主文件的大小,则,SQL Server,默认其与模板数据库中的主文件大小一致,其它数据库文件和事务日志文件则默认为,1MB,。指定大小的数字,size,可以使用,KB,、,MB,、,GB,和,TB,后缀,默认的后缀为,MB,。,Size,中不能使用小数,其最小值为,512KB,,默认值为,1MB,。主文件的,size,不能小于模板数据库中的主文件。,使用,Transact-SQL,语言创建数据库,database_name:数据库的名称。数据库名称在服务器,MAXSIZE,:指定操作系统文件可以增长到的最大尺寸。如果没有指定,则文件可以不断增长直到充满磁盘。,FILEGROWTH,:指定文件每次增加容量的大小,当指定数据为,0,时,表示文件不增长。增加量可以确定为以,KB,、,MB,作后缀的字节数或以,%,作后缀的被增加容量文件的百分比来表示。默认后缀为,MB,。如果没有指定,FILEGROWTH,,则默认值为,10%,,每次扩容的最小值为,64KB,。,使用Transact-SQL语言创建数据库,MAXSIZE:指定操作系统文件可以增长到的最大尺寸。如果没,创建数据库(举例),例,3-2-1,:使用,CREATE DATABASE,创建一个,student,数据库,所有参数均取默认值。,例,3-2-2,:创建一个,Student1,数据库,该数据库的主文件逻辑名称为,Student1_data,,物理文件名为,Student1.mdf,,初始大小为,10MB,,最大尺寸为无限大,增长速度为,10%,;数据库的日志文件逻辑名称为,Student1_log,,物理文件名为,Student1.ldf,,初始大小为,1MB,,最大尺寸为,5MB,,增长速度为,1MB,。,创建数据库(举例)例3-2-1:使用CREATE DATAB,例,3-2-3,:创建一个指定多个数据文件和日志文件的数据库。该数据库名称为,students,,有,1,个,10MB,和,1,个,20MB,的数据文件和,2,个,10MB,的事务日志文件。数据文件逻辑名称为,student1,和,student2,,物理文件名为,student1.mdf,和,student2.mdf,。主文件是,student1,,由,primary,指定,两个数据文件的最大尺寸分别为无限大和,100MB,,增长速度分别为,10%,和,1MB,。事务日志文件的逻辑名为,studentlog1,和,studentlog2,,物理文件名为,studentlog1.ldf,和,studentlog2.ldf,,最大尺寸均为,50MB,,文件增长速度为,1MB,。,创建数据库(举例),例3-2-3:创建一个指定多个数据文件和日志文件的数据库。该,第,2,章 创建和管理数据库,创建数据库,创建文件组,管理数据库,数据结构介绍,第2章 创建和管理数据库创建数据库,创建文件组,文件组的概念,文件组是,SQL Server,中一个或多个文件的命名集合,它构成分配或用于数据库管理的单个单元,文件组的使用场合,当有多个磁盘,希望把文件分布在这些磁盘上以提高性能,文件组的类型,两种文件组:主文件组和用户定义文件组,主文件组,包含主文件的文件组,用户定义的文件组,在首次创建或以后更改数据库时,用户明确创建的任何文件组,创建文件组文件组的概念,Northwind,数据库,默认文件组,OrderHistory,组,sys.,sys.,sysusers,sysobjects,.,Orders,Customers,Products,OrdHistYear2,OrdHistYear1,Northwind.mdf,C:,D:,OrdHist1.ndf,OrdHist2.ndf,Northwind.Idf,E:,创建文件组(续),Northwind 数据库默认文件组OrderHistory,创建文件组(续),ALTER DATABASE Northwind,ADD FILEGROUP OrderHistoryGroup,GO,ALTER DATABASE Northwind,ADD FILE,(NAME=OrdHistYear1,FILENAME=c:HistoryDB OrdHist1.ndf,SIZE=5MB),TO FILEGROUP OrderHistoryGroup,GO,创建文件组(续),第,2,章 创建和管理数据库,创建数据库,创建文件组,管理数据库,数据结构介绍,第2章 创建和管理数据库创建数据库,管理数据库,查看数据库信息,修改数据库,收缩数据库或文件,删除数据库,事务日志的工作过程,管理数据库查看数据库信息,检索数据库信息,使用系统存储过程来显示数据库以及数据库参数的信息,sp_helpdb,sp_helpdb,数据库名,检索数据库信息使用系统存储过程来显示数据库以及数据库参数的信,使用,Transact-SQL,语言修改数据库,只有数据库管理员或具有,CREATE DATABASE,权限的数据库所有者才有权执行该语句。,ALTER DATABASE,语句的语法格式如下:,修改数据库,使用Transact-SQL语言修改数据库 修改数据库,Alter database databasename,add file,n to filegroup filegroupname,|add log file,n,|remove file logical_file_name,|remove filegroup filegroup_name,|modify file,|modify name=new_databasename,|add filegroup filegroup_name,|modify filegroup filegroup_name,filegroup_property|name=new_filegroup_name,修改数据库,Alter database databasename修改数,add file,n to filegroup filegroupname,:表示向指定的文件组中添加新的数据文件。,add log file,n,:增加新的日志文件。,remove file logical_file_name,:删除指定的操作系统文件。,remove filegroup filegroup_name,:删除指定的文件组。,modify file,:修改某个操作系统文件。,modify name=new_databasename,:重命名数据库。,add filegroup filegroup_name,:增加一个文件组。,modify filegroup filegroup_name,:修改某个指定文件组的属性。,add file,n to fi,修改数据库(举例),ALTER DATABASE,S,ample,MODIFY FILE(NAME=,S,ample,L,og,SIZE=,15,MB),GO,ALTER DATABASE,S,ample,ADD FILE,(NAME=,S,ample,D,ata2,FILENAME=c:,Program Files,.D,ata,Sample2,.ndf,SIZE=1,5,MB,MAXSIZE=20MB),GO,修改数据库(举例)ALTER DATABASE Sampl,管理数据文件和日志文件的增长
展开阅读全文