资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,孙 发 勤,扬州大学新闻与传媒学院,YZU.SUN163.COM,数据库原理与应用,第四讲,SQL Server 200,5,数据库,的创建和管理,数据库原理与应用第四讲 SQL Server 200,主要内容,SQL Server,特点,SQL Server,的安装和配置,SQL Server,工具和实用程序,主要内容 SQL Server 特点,4.1,数据库的存储结构,数据库的存储结构分为逻辑存储结构和物理存储结构两种。,数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成,。,实际上,,SQL Server,的数据库是由诸如表、视图、索引等各种不同的数据库对象所组成。,数据库的物理存储结构是讨论数据库文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。,4.1 数据库的存储结构 数据库的存储结构分为逻辑存储结构,4.1,数据库的存储结构,4.1.1,数据库文件,1,主数据库文件(,Primary Database File,),一个数据库可以有一个或多个数据库文件,一个数据库文件只能属于一个数据库。当有多个数据库文件时,有一个文件被定义为主数据库文件(简称为主文件),其扩展名为,mdf,。,4.1 数据库的存储结构4.1.1 数据库文件,4.1,数据库的存储结构,主数据库文件用来存储数据库的启动信息以及部分或者全部数据,是所有数据库文件的起点,包含指向其它数据库文件的指针。一个数据库只能有一个主数据库文件。,4.1 数据库的存储结构主数据库文件用来存储数据库的启动信,4.1,数据库的存储结构,2,辅助数据库文件(,Secondary Database File,),用于存储主数据库文件中未存储的剩余数据和数据库对象,一个数据库可以没有辅助数据库文件,但也可以同时拥有多个辅助数据库文件。,辅助数据库文件的扩展名为,ndf,(简称为辅助文件)。,4.1 数据库的存储结构2辅助数据库文件(Seconda,4.1,数据库的存储结构,3,事务日志文件,存储数据库的更新情况等事务日志信息,,,当数据库损坏时,管理员使用事务日志恢复数据库。,每一个数据库至少必须拥有一个事务日志文件,而且允许拥有多个日志文件。事务日志文件的扩展名为,ldf,,日志文件的大小至少是,512KB,。,SQL Server,事务日志采用提前写入的方式,。,4.1 数据库的存储结构3事务日志文件,4.1,数据库的存储结构,注意:,SQL Server 2000,中的数据和事务日志文件不能存放在压缩文件系统或象共享网络目录等远程的网络驱动器上。,SQL Server 2000,的文件拥有两个名称,即逻辑文件名和物理文件名。当使用,Transact-SQL,命令语句访问某一个文件时,必须使用该文件的逻辑名,。,物理文件名是文件实际存储在磁盘上的文件名,而且可包含完整的磁盘目录路径。,4.1 数据库的存储结构注意:SQL Server 200,4.1,数据库的存储结构,4.1.2,数据库文件组,利用文件组可以使服务器的性能得到提高。,主文件组中包含了所有的系统表,当建立数据库时,主文件组包括主数据库文件和未指定组的其他文件。,用户定义文件组中可以指定一个缺省文件组,那么在创建数据库对象时如果没有指定将其放在哪一个文件组中,就会将它放在缺省文件组中。如果没有指定缺省文件组,则主文件组为缺省文件组。,4.1 数据库的存储结构4.1.2 数据库文件组,4.1,数据库的存储结构,一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用;日志文件是独立的,它不能作为任何文件组的成员。,本章首页,4.1 数据库的存储结构一个文件只能存在于一个文件组中,一,4.2,创建和删除数据库,4.2.1,创建数据库,创建数据库需要一定许可,在默认情况下,只有系统管理员和数据库拥有者可以创建数据库。数据库被创建后,创建数据库的用户自动成为该数据库的所有者。,创建数据库的过程实际上就是为数据库设计名称、设计所占用的存储空间和存放文件位置的过程等。,4.2 创建和删除数据库 4.2.1 创建数据库,4.2,创建和删除数据库,1,使用向导创建数据库,2,使用企业管理器创建数据库,3,使用,Transact-SQL,语言创建数据库,4.2 创建和删除数据库1使用向导创建数据库,4.2,创建和删除数据库,说明:在,Transact-SQL,语言的命令格式中,用,括起来的内容表示是可选的;,,,n,表示重复前面的内容;用,括起来表示在实际编写语句时,用相应的内容替代;用,括起来表示是必选的;类似,A|B,的格式,表示,A,和,B,只能选择一个,不能同时都选。,4.2 创建和删除数据库说明:在Transact-SQL语,4.2,创建和删除数据库,CREATE DATABASE database_name,ON PRIMARY ,,,n,,,,,n ,LOG ON ,,,n,FOR LOAD|FOR ATTACH,4.2 创建和删除数据库,4.2,创建和删除数据库,:=,(,NAME=logical_file_name,,,FILENAME=,os_file_name,,,SIZE=size,,,MAXSIZE=max_size|UNLIMITED,,,FILEGROWTH=growth_increment,),,,n,:=,FILEGROUP filegroup_name ,,,n,4.2 创建和删除数据库:=,4.2,创建和删除数据库,database_name,:新数据库的名称。数据库名称在服务器中必须唯一,最长为,128,个字符,并且要符合标识符的命名规则。每个服务器管理的数据库最多为,32767,个。,ON,:指定存放数据库的数据文件信息。,列表用于定义主文件组的数据文件,,列表用于定义用户文件组及其中的文件。,PRIMARY,:用于指定主文件组中的文件。主文件组的第一个由,指定的文件是主文件。如果不指定,PRIMARY,关键字,则在命令中列出的第一个文件将被默认为主文件。,4.2 创建和删除数据库database_name:新数据,4.2,创建和删除数据库,LOG ON,:指明事务日志文件的明确定义。如果没有本选项,则系统会自动产生一个文件名前缀与数据库名相同,容量为所有数据库文件大小,1/4,的事务日志文件。,FOR LOAD,:表示计划将备份直接装入新建的数据库,主要是为了和过去的,SQL Server,版本兼容。,FOR ATTACH,:表示在一组已经存在的操作系统文件中建立一个新的数据库。,NAME,:指定数据库的逻辑名称。,FILENAME,:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和,NAME,的逻辑名称一一对应。,4.2 创建和删除数据库LOG ON:指明事务日志文件的明,4.2,创建和删除数据库,SIZE,:指定数据库的初始容量大小。如果没有指定主文件的大小,则,SQL Server,默认其与模板数据库中的主文件大小一致,其它数据库文件和事务日志文件则默认为,1MB,。指定大小的数字,size,可以使用,KB,、,MB,、,GB,和,TB,后缀,默认的后缀为,MB,。,Size,中不能使用小数,其最小值为,512KB,,默认值为,1MB,。主文件的,size,不能小于模板数据库中的主文件。,MAXSIZE,:指定操作系统文件可以增长到的最大尺寸。如果没有指定,则文件可以不断增长直到充满磁盘。,4.2 创建和删除数据库SIZE:指定数据库的初始容量大小,4.2,创建和删除数据库,FILEGROWTH,:指定文件每次增加容量的大小,当指定数据为,0,时,表示文件不增长。增加量可以确定为以,KB,、,MB,作后缀的字节数或以,%,作后缀的被增加容量文件的百分比来表示。默认后缀为,MB,。如果没有指定,FILEGROWTH,,则默认值为,10%,,每次扩容的最小值为,64KB,。,4.2 创建和删除数据库FILEGROWTH:指定文件每次,4.2,创建和删除数据库,例,4-2-1,:使用,CREATE DATABASE,创建一个,student,数据库,所有参数均取默认值。,例,4-2-2,:创建一个,Student1,数据库,该数据库的主文件逻辑名称为,Student1_data,,物理文件名为,Student1.mdf,,初始大小为,10MB,,最大尺寸为无限大,增长速度为,10%,;数据库的日志文件逻辑名称为,Student1_log,,物理文件名为,Student1.ldf,,初始大小为,1MB,,最大尺寸为,5MB,,增长速度为,1MB,。,4.2 创建和删除数据库例4-2-1:使用CREATE D,4.2,创建和删除数据库,例,4-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,。,4.2 创建和删除数据库例4-2-3:创建一个指定多个数据,4.2,创建和删除数据库,4.2.2,删除数据库,1,利用企业管理器删除数据库,2,利用,Drop,语句删除数据库,Drop database database_name,n,说明:只有处于正常状态下的数据库,才能使用,DROP,语句删除。当数据库处于以下状态时不能被删除:数据库正在使用;数据库正在恢复;数据库包含用于复制的已经出版的对象。,本章首页,4.2 创建和删除数据库4.2.2 删除数据库 本章首页,4.3,修改数据库,4.3.1,数据库更名,在重命名数据库之前,应该确保没有用户使用该数据库,而且数据库应该设置为,“,单用户,”,模式。系统存储过程,sp_renamedb,语法如下:,sp_renamedb dbname=old_name,newname=new_name,4.3 修改数据库 4.3.1 数据库更名,4.3,修改数据库,4.3.2,利用企业管理器修改数据库属性,限制访问包含两个选项:,“,db_owner,dbcreator,或,sysadmin,的成员,”,选项表示只有数据库的所有者、数据库创建者和系统管理员才有权使用数据库;,“,单用户,”,选项表示数据库在同一时间只能供一个用户使用。,ANSI NULL,默认设置:允许在数据库表的列中输入空(,NULL,)值。,递归触发器:指定是否允许触发器递归调用。,自动更新统计信息:允许使用,SELECT INTO,或,BCP,、,WRITETEXT,、,UPDATETEXT,命令向表中大量插入数据。在开发数据库时常常将此选项设置为真。,4.3 修改数据库4.3.2 利用企业管理器修改数据库属,4.3,修改数据库,残缺页检测:允许自动检测有损坏的页。页是数据库内容的基本存储单位,每个页的大小为,8KB,。由于,SQL Server,对页的读写单位是大小为,512,字节的扇区,当每个页的第一个扇区被成功写入后,,SQL Server,就认为此页已经被成功写入。因此,如果写完第一个扇区后发生突发事件,导致写入中断,就会产生有损坏的页,需要通知备份来恢复数据库。,自动关闭:当数据库中无用户时,自动关闭该数据库,并将所占用的资源交还给操
展开阅读全文