04第四章数据库管理.ppt
《04第四章数据库管理.ppt》由会员分享,可在线阅读,更多相关《04第四章数据库管理.ppt(71页珍藏版)》请在三一文库上搜索。
1、第四章 数据库管理,4.1 数据库的存储结构 4.2 创建、修改和删除数据库,数据库的存储结构,数据库的存储结构分为逻辑存储结构和物理存储结构两种。 数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成 。实际上,SQL Server的数据库是由诸如表、视图、索引等各种不同的数据库对象所组成。 数据库的物理存储结构是讨论数据库文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。,数据库文件,当建立一个SQL Server数据库时,数据库的实际存储被映射成几个操作系统文件。三种类型的SQL Se
2、rver数据库文件: 主数据库文件(.mdf) 辅数据库文件 (.ndf) 日志文件 (.ldf ) 每个文件有两个互相联系的名字 逻辑名 物理名,数据库文件 (续),逻辑存储结构和物理存储结构 一、数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成,SQL Server的数据库不仅仅只是数据的存储,所有与数据处理操作相关的信息都存储在数据库中。 二、数据库的物理存储结构则是讨论数据库文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。,数据库的存储结构-物理存储结构,数据库文件 1主数据库
3、文件(Primary Database File) 一个数据库可以有一个或多个数据库文件,一个数据库文件只能属于一个数据库。当有多个数据库文件时,有一个文件被定义为主数据库文件(简称为主文件),其扩展名为mdf。,3.1 数据库的存储结构,主数据库文件用来存储数据库的启动信息以及部分或者全部数据,是所有数据库文件的起点,包含指向其它数据库文件的指针。一个数据库只能有一个主数据库文件。,数据库的存储结构,2辅助数据库文件(Secondary Database File) 用于存储主数据库文件中未存储的剩余数据和数据库对象,一个数据库可以没有辅助数据库文件,但也可以同时拥有多个辅助数据库文件。 辅
4、助数据库文件的扩展名为ndf(简称为辅助文件)。,数据库的存储结构,3事务日志文件 存储数据库的更新情况等事务日志信息 ,当数据库损坏时,管理员使用事务日志恢复数据库。 每一个数据库至少必须拥有一个事务日志文件,而且允许拥有多个日志文件。事务日志文件的扩展名为ldf,日志文件的大小至少是512KB。 SQL Server事务日志采用提前写入的方式 。,SQL Server使用数据库的事务日志来防止没有完成的事务破坏数据。,数据库的存储结构,注意:SQL Server 2000中的数据和事务日志文件不能存放在压缩文件系统或象共享网络目录等远程的网络驱动器上。 SQL Server 2000的文件
5、拥有两个名称,即逻辑文件名和物理文件名。当使用Transact-SQL命令语句访问某一个文件时,必须使用该文件的逻辑名 。 物理文件名是文件实际存储在磁盘上的文件名,而且可包含完整的磁盘目录路径。,数据库文件组,文件组的主要目的是为了方便管理和空间分配。 在建立文件组时,有三条规则: 数据库文件不能与一个以上的文件组关联。 日志文件不能加到文件组里。 只有文件组中任何一个文件都没有空间了,文件组的文件才会自动增长 。 三种不同类型的文件组 主类型(PRIMARY) 用户定义型 缺省型,数据库的存储结构,数据库文件组 利用文件组可以使服务器的性能得到提高。 主文件组中包含了所有的系统表,当建立数
6、据库时,主文件组包括主数据库文件和未指定组的其他文件。 用户定义文件组中可以指定一个缺省文件组,那么在创建数据库对象时如果没有指定将其放在哪一个文件组中,就会将它放在缺省文件组中。如果没有指定缺省文件组,则主文件组为缺省文件组。,数据库的存储结构,一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用;日志文件是独立的,它不能作为任何文件组的成员。,4.1.1 页面逻辑存储结构,1、什么是页面? SQL Server中的所有信息都存储在页面(page)上,页面是数据库中使用的最小数据单元。 每一个页面存储8KB(8192字节)的信息。 所有的页面都包括一个132字节的页面头,用来唯一
7、地标识存储在页面中的数据,留下8060 字节存储数据。 每页可以包含至少一行,但一行不能超出一页的长度。每页只能存储一个表中的数据。,页面(续),2、SQL Server使用页面的类型 分配页面:用于控制数据库中给表和索引分配的页面。 数据和日志页面: 用于存储数据库数据和事务日志数据。数据存储在每个页面的数据行中。每一行大小的最大值为8060个字节。SQL Server不允许记录跨页面存储。 索引页面:用于存储数据库的索引数据。 分发页面:用于存储数据库中有关索引的信息。 文本 / 图像页面:用于存储大量的文本或二进制大对象(BLOB)。,4.1.2 盘区,1、什么是盘区? 盘区是SQL S
8、erver每次申请空间时能分配的最小单位。 一个盘区( extent)是由8个连续的页面(88KB=64KB)组成的数据结构。 当创建一个数据库对象(如一个表)时, SQL Server会自动地以盘区为单位给它分配空间。 每一个盘区只能包含一个数据库对象。 盘区是表和索引分配空间的单位。 假设我们在一个新建的数据库中,创建了一个表和两个索引,并且表中只插入了一条记录,那么,总共占用364KB=192KB空间。,盘区(续),2、SQL Server使用的盘区的种类 混合型一个混合型区域有64KB,其中的页可以组成8个不同的对象。 统一型一个统一型区域有64KB,其中所有的页必须属于同一个对象。
9、当你第一次建立一个数据库对象时, SQL Server在一个混合型区域中为它分配空间。如果这个对象增长到包含8个页或更多时,SQL Server便会将现有数据移到一个统一型区域中。,4.2 创建、修改和删除数据库,4.2.1 创建数据库 4.2.2 设置数据库选项 4.2.3 修改数据库 4.2.4 删除数据库,4.2.1 创建数据库,每个数据库都由以下几个部分的数据库对象所组成: 关系图、表、视图、存储过程、用户、角色、规则、默认、用户自定义数据类型和用户自定义函数。,估算数据库的空间需求,数据库管理员的主要任务之一是创建数据库,并且需要为每个文件指定容量。准确地估算应有的容量以免浪费不必占
10、用的资源或者用尽数据库的空间是数据库管理员的责任。,考虑因素, 每行记录的大小。每行记录都由一列或者多列数据组成。这些列决定了每一行的大小,必须从数据库开发人员那里或者通过自行检查数据库中的每个表得到每一行的大小。 记录的数量。表中的记录数有可能基本不变,也有可能变化相当大。数据库开发人员可以告诉你数据库中的每个表预计存储多少条数据。 表的数量。一些数据库只有少量的表,另一些却有可能有成百上千的表。你可以使用企业管理器自行查看表的数量。 索引的数量。每个表都有一个或者多个索引,这些索引可能是聚簇式索引或者是非簇式索引。每个非簇式索引将在数据库中占用额外的空间。 每个索引的大小。索引的大小取决于
11、使用该索引的列的大小、索引中包含的记录数量和索引的填充因子。填充因子越大,索引对象占用的空间就越多。 数据库对象的数量和大小。数据库包含很多对象,例如触发器、视图、存储过程等等。,考虑因素, 事务日志的大小。事务日志大小的差别很大。这取决于很多因素,其中包括数据库中的数据的修改频率。大多数事务日志以数据库容量的1 0 %到2 5 %为起点,在数据库被用于实际工作环境后再通过监控来调整。经验显示,经常被修改的数据库和很少被修改的数 据库相比需要更大的事务日志。越是经常备份,事务日志就越是可以小一些,这是因为在每次备份过程中都会截断事务日志。 数据库的计划成长量。有一些数据库的容量从不增长,也有一
12、些每周都大幅度地增长。为了确定总体的计划成长量,你必须估算数据库中每个表的成长量。,估算公式,其中,行的长度,就是指一行的字节数。,创建新数据库的注意事项,缺省情况下只有系统管理员可以创建新数据库 给数据库指定名字必须遵循SQL Server命名规范 所有的新数据库都是model数据库的拷贝 单个数据库可以存储在单个文件上,也可以跨越多个文件存储 数据库的大小可以被扩展或者收缩 当新的数据库创建时, SQL Server自动地更新“master”数据库的“sysdatabases”系统表,在SQL Server中创建数据库时,在创建新数据库之前,首先创建两个文件:一个用于数据库,另外一个用于事
13、务日志。考虑在数据库使用的文件的逻辑名上加 入“ data ”这个词,在事务日志使用的文件的逻辑名上加入“ log ” 这个词( 例如 “marketing_data”和“marketing_log”)。,创建新数据库的注意事项,1) 缺省情况下,只有系统管理员可以创建新数据库。 2 ) 给数据库指定的名字必须遵循SQL Server命名规范: 字符的长度可以从1到3 0。 名称的第一个字符必须是一个字母或者是下列字符中的某一个:下划线( _),a t符号(),或者是英镑符号( #)。 在首字母后的字符可以是字母、数字或者前面规则中提到的符号。 名称当中不能有任何空格,除非将名字用引号引起来。
14、,创建新数据库的注意事项,3) 所有的新数据库都是model数据库的拷贝。这意味着新数据库不可能比model数据库当前的容量更小。 4) 单个数据库可以存储在单个文件上,也可以跨越多个文件存储。 5) 数据库的大小可以被扩展或者收缩。 6) 当新的数据库创建时, SQL Server自动地更新“ master”数据库的“ sysdatabases”系统表。,创建数据库的方法,使用向导创建数据库 使用企业管理器(Enterprise Manager)创建数据库 使用Transact-SQL语言创建数据库。,使用企业管理器创建数据库,该使用企业管理器来创建和管理数据库。这个图形化用户界面比Tran
15、sact-SQL语句或者系统存储过程更容易使用。,步骤-创建名为M Y D B的数据库,1) 在企业管理器的主界面中选择一个SQL Server,单击这个服务器旁边的加号打开这个文件夹,出现各个SQL Server文件夹。 2) 单击Databases旁的加号,打开这个文件夹,出现这个SQL Server上当前所有数据库的列表(见图5 - 3),3) 右击D a t a b a s e s文件夹,从菜单中选择New Database,出现Database Properties对话框(见图5 - 4)。 4) 在Name一栏中输入新建数据库的名字,如: MYDB。确保遵循了SQL Server的
16、命名规范标准。,5) 在File name一栏中可以输入数据文件的逻辑名。缺省情况下,系统自动产生“数据库名_ Data”的数据文件,你可以修改这个名字。而且,你可以输入多个文件。 6 ) 在Location中可以指定数据文件所在的位置。缺省情况下,是安装SQL Server的目录的Data子目录下。你可以修改它。 7) 在Initial size一栏中以兆为单位输入数据文件的初始容量。值得注意的是,数据文件必须以1 M的整倍数来创建,所以在这里你必须输入一个整数。,8 ) 在该页的下面,你可以选择Automatically grow file,指明:如果数据库的数据容量超过了数据文件的大小,
17、数据文件可以自动增加。你可以指定按照百分比增加(选择By percent后输入百分数),或者指定按照大小增加(选择In megabytes后输入大小)。你还可以指定:增加是否有上限。如果想指定上限,可以选择Restrict filegrowth并输入上限的大小;如果不想指定上限,可以选择Unrestricted filegrowth。 9) 在Transaction Log页中,输入日志文件的名称和大小。 10) 单击“确定”按钮立即创建数据库。 如果你选择“确定”,这个数据库就会立即创建。SQL Server不会返回任何有关创建的状态的信息。你可以通过在企业管理器的主界面中查看Databas
18、es文件夹下是否包含新建的数据库来验证创建工作成功与否。,(一)使用向导创建数据库,以下图4-1 到图4-8是使用向导创建数据库 ,用户根据提示操作,即可创建数据库。,图4-1 选择向导对话框,图4-2 欢迎使用创建数据库向导对话框,图4-3 输入数据库名称和文件位置对话框,图4-4 定义数据库文件逻辑名称及初始大小对话话框,图4-5 定义数据库增长信息对话框,图4-6 定义事务日志文件名称及初始大小对话框,图4-7 定义事务日志文件增长信息对话框,图4-8 确认创建数据库对话框,(3) 使用Transact-SQL语言创建数据库,语法如下:,CREATE DATABASE database_
19、name ON PRIMARY ,n , ,n LOG ON ,n FOR RESTORE :=(NAME=logical_file_name, FILENAME=os_file_name ,SIZE=size ,MAXSIZE=max_size|UNLIMITED ,FILEGROWTH=growth_increment ) ,n :=FILEGROUP filegroup_name ,n,database_name:数据库的名称,最长为128个字符。 PRIMARY:该选项是一个关键字,指定主文件组中的文件。 LOG ON:指明事务日志文件的明确定义。 NAME:指定数据库的逻辑名称,这是
20、在SQL Server系统中使用的名称,是数据库在SQL Server中的标识符。,各参数说明如下:,FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。 SIZE:指定数据库的初始容量大小。 MAXSIZE:指定操作系统文件可以增长到的最大尺寸。 FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。,例子4-1:创建了一个Company数据库,创建了一个Company数据库,该数据库的主数据文件逻辑名称为Company_data,物理文件名为Company.mdf,初始大小为10MB,最大尺寸为无限大,增
21、长速度为10%;数据库的日志文件逻辑名称为Company_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。 程序清单:,create database company on primary (name=company_data, filename=d:mssql7datacompany.mdf, size=10, maxsize=unlimited, filegrowth=10%) log on (name=company_log, filename=d:mssql7datacompany.ldf, size=1, maxsize=5, fil
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 04 第四 数据库 管理
链接地址:https://www.31doc.com/p-2875592.html