第三讲 数据库的创建与管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库的创建与管理

●数据库存储结构

●数据库的创建

●数据库的管理

1数据库的存储结构

数据库是相互关联的数据集合,通常是一系列表的结合。

数据库创建的过程就是数据库逻辑设计的物理实现过程。如果能根据ER模型并结合实际情况创建一个性能优异、结构合理并具有良好扩充性能的数据库,将会为后面在数据库基础上开发应用程序奠定坚实的基础,这是数据库管理最重要、最核心的问题。

数据库的创建主要包括数据库及其表、索引、视图、存储过程等对象的创建。

创建数据库时,系统会建立数据库的存储结构。

数据库的存储结构分为逻辑存储结构和物理存储结构两种。

数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成。实际上,SQL Server 的数据库是由诸如表、视图、索引等各种不同的数据库对象所组成。

数据库的物理存储结构则是讨论数据库文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。

一、页面

在SQL Server中,数据存储的基本单位是页(Page)。

页的大小是8KB(8192字节),这样数据库上每一兆字节是128页。

每页的开始部分是96B的页首(Page Head),用于存放系统信息,如页的类型、页的可用空间、占据该页的数据库对象的对象标识等。

页有数据页、索引页、文本/图象页等6种(P46)。

二、物理数据库的文件和文件组

1.文件

SQL Server2000将数据库置于操作系统文件之上,数据和日志信息不可能混淆。一个文件只能由一个数据库使用。

有三类文件:

1)主数据文件(.mdf):

是数据库开始的地方,它指向数据库的其他文件,每个数据库都必须具有一个主数据文件。

2)辅助数据文件(.ndf):

包含主数据文件不能放置的数据;一些数据库文件没有辅助数据文件,有的则有多个。

3)事务日志文件(.ldf):

包含用来恢复数据库的日志信息,每个数据库必须具有一个日志文件,可以包含多个。

2.文件组

文件组是文件的集合。对文件进行分组,便于进行数据的管理和分配磁盘空间。

SQL Server2000包含两类文件组:

1)主文件组(Primary File Group):

每个数据库都有一个默认的主文件组,主要包含主数据文件的数据以及其他没有具体规定文件组的文件。

2)用户自定义的文件组:

创建或修改数据库语句中定义关键字Filegroup实现。

3.文件和文件组的设计规则:

♦文件和文件组不能由一个以上的数据库使用;

♦文件只能是一个文件组的成员;

♦事务日志文件不属于任何一个文件组。

注意:数据和事务日志不能属于同一文件或文件组。数据文件和日志文件总是分开存放的。

三、事务日志文件

SQL创建数据库的时候,会同时创建事务日志文件。

事务日志文件存储数据库的更新情况等事务日志信息,当数据库损坏时,管理员使用事务日志恢复数据库。

每一个数据库至少必须拥有一个事务日志文件,而且允许拥有多个日志文件。事务日志文件的扩展名为.ldf,日志文件的大小至少是512KB。

事务日志文件和数据文件必须分开存放,优点如下:

♦事务日志文件可以单独备份;

♦有可能从服务器失效的事件中将服务器恢复到最近的状态;

♦事务日志不会抢占数据库的空间;

♦可以很容易地监测到事务日志的空间;

♦在向数据文件和事务日志文件写入数据时会产生较少的冲突,这有利于提高SQL的性能。

2数据库的创建

创建数据库的三种方法:

◆使用Transact-SQL语言创建数据库

◆使用企业管理器创建数据库

◆使用向导创建数据库

1.Transact-SQL语言简介

SQL中最常用的编程工具是查询分析器。

进入查询分析器的两种方法:

♦从“开始”菜单一路找到SQL中的“查询分析器”启动;

♦先进入“企业管理器”-》“工具”-》“查询分析器”启动

Transact-SQL(T_SQL)语言特点

SQL(结构数据查询语言)主要用于关系数据库中的数据检索(Retrieve)。

SQL语言和第3代语言(C,PASCAL)相比:更加简练、易读、易维护和易扩充。

注意事项:

创建数据库需要一定许可,在默认情况下,只有系统管理员和数据库拥有者可以创建数据库。

数据库名字必须遵循SQL Server命名规则,见P51。

2.使用Transact-SQL语言创建数据库

创建数据库的SQL语句的语法格式:

CREATE DATABASE database_name

[ON[PRIMARY][[,…n]

[,[,…n]]]

[LOG ON{[,…n]}]

[FOR LOAD|FOR ATTACH]

其中:

用[]括起来的内容表示是可选的;[,…n]表示重复前面的内容;用<>括起来表示在实际编写语句时,用相应的内容替代;用{}括起来表示是必选的;类似A|B的格式,表示A和B只能选择一个,不能同时都选。

::=

[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个字符,并且要符合标识符的命名规则。每个服务器管理的数据库最多为32767个。

ON:指定存放数据库的数据文件信息。列表用于定义主文件组的数据文件,列表用于定义用户文件组及其中的文件。

PRIMARY:用于指定主文件组中的文件。主文件组的第一个由指定的文件是主文件。如果不指定PRIMARY关键字,则在命令中列出的第一个文件将被默认为主文件。

LOG ON:指明事务日志文件的明确定义。如果没有本选项,则系统会自动产生一个文件名前缀与数据库名相同,容量为所有数据库文件大小1/4的事务日志文件。

FOR LOAD:表示计划将备份直接装入新建的数据库,主要是为了和过去的SQL Server 版本兼容。

FOR ATTACH:表示在一组已经存在的操作系统文件中建立一个新的数据库。

NAME:指定数据库的逻辑名称。

FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME 的逻辑名称一一对应。

SIZE:指定数据库的初始容量大小。如果没有指定主文件的大小,则SQL Server默认其与模板数据库中的主文件大小一致,其它数据库文件和事务日志文件则默认为1MB。指定大小的数字size可以使用KB、MB、GB和TB后缀,默认的后缀为MB。Size中不能使用小数,其最小值为512KB,默认值为1MB。主文件的size不能小于模板数据库中的主文件。

MAXSIZE:指定操作系统文件可以增长到的最大尺寸。如果没有指定,则文件可以不断增长直到充满磁盘。

FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。增加量可以确定为以KB、MB作后缀的字节数或以%作后缀的被增加容量文件的百分比来表示。默认后缀为MB。如果没有指定FILEGROWTH,则默认值为10%,每次扩容的最小值为64KB

【例1】创建一个只含一个数据文件和一个事务日志文件的数据库,数据库名为JXGL1,主数据库文件逻辑名称为jxgl1_data,数据文件的操作系统名称jxgl1.mdf,数据文件初始大小为5MB,最大值200MB,数据文件大小以10%的增量增加。日志逻辑文件名称jxgl1_log,

相关文档
最新文档