数据库是存储数据库对象和数据的地方,数据库管理是关系型数据库管理系统最重要的一项工作。在进行数据库开发时,首先要进行的工作就是规划和创建数据库,在客户机/服务器数据库系统中,有两个重要的组成部分:程序和数据库结构,程序为用户提供访问数据库的平台,数据库结构用来管理和存储服务器上的数据。
数据库组件主要包括数据库、表、数据库图标、索引、视图和存储过程等。
本章主要介绍数据库的设计、创建和管理。主要包括以下内容:
n 数据库中的对象
n 数据库的设计
n 创建数据库及事务日志
n 删除数据库
n 数据库选项
n 使用Tempdb数据库
n 创建备份设备
n 删除设备
数据库就是表的集合,在表中存储着结构化的数据,表由记录和字段组成,表的第一个字段都描述某种类型的信息,表可以有索引,使用索引可以加快数据的检索速度。另外,可以在表中增加完整性约束,以保证不同表中数据的一致性。
比如,我们可以创建一个名为MyDB的数据库来管理公司的数据,在MyDB数据库中创建一个名为Employees表来存储与公司雇员相关的信息。在Employees表中,有五个字段,Name、Age、Sex、Department和Title。可以定义一些索引以加快依据所定义的索引检索雇员的速度,也可以定义一个包含表Departments和Employees的视图DeptEmp,通过视图可以同时得到部门和其中的雇员。
在Microsoft SQL Server 2000中,每一个数据库至少有一个数据文件和日志文件,分别用来存放数据信息和日志信息。
事务日志用来存放那些还没有写到数据库中的数据库事务,有两种类型的操作被写到事务日志中。第一种类型是处理事务的过程,帮助用户确认所有希望的指定操作完成的事务已经完成;第二种类型是数据库信息在用户对它操作之前和之后的映像,用户更新之前和更新之后的数据信息都存储在事务日志中。
从上面的介绍可以知道,事务日志记录了对数据库的所有操作,随着对数据库操作的增多,日志会不断地增大。
数据库中的所有数据和对象,都存储在如下所示的操作系统文件中:
n 主数据文件:主数据文件是数据库的起点,数据库只有一个主数据库文件。
n 次数据文件:次数据文件存储主数据文件中没有的数据信息。数据库可以有多个次数据文件,也可以没有次数据文件。
n 日志文件:日志文件保存了恢复数据库的所有日志信息,每个数据库至少有一个事务日志文件。
比如,一个简单的数据库Students可能只有一个包含全部数据和对象的主数据文件和一个包含事务日志信息的日志文件。一个稍微复杂的数据库Orders可能包含一个主数据文件和8个次数据文件,次数据文件中存储着主数据文件中所没有的数据和对象,另外,可能还包括3个事务日志文件。
简单地讲,文件组就是文件的组合,可以通过使用文件组来提高系统的查询性能,比如,有三个文件(Students.ndf、Orders.ndf和Sales.ndf)分别位于不同的磁盘上,可以指定为一个文件组SOS。以后,所创建的表就仅存于该文件组上,从而可以提高系统的查询性能。
使用文件和文件组时,应该遵循以下规则:
n 一个文件只能属于一个文件组,不能同时在两个文件组中。
n 日志文件不能是文件组的一部分,不能用于任何文件组。
n 一个文件或文件组只能用于一个数据库。
数据库的数据信息和日志信息不能放在同一个文件或文件组中,数据文件和日志文件总是分开的。
在进行数据库设计之前,应充分、全面地了解客户的需求,这是设计数据库的第一步,也是非常关键的一个环节。一个设计合理的数据库,可以大大提高客户的工作效率,相反,一个设计不合理的数据库,可能会影响客户的正常工作,一般,在设计数据库的时候,应该考虑以下几个方面:
n 数据库设计的目的
n 数据库规范化规则
n 数据库的安全性和用户许可
n 数据库的操作性
另外,也要根据客户的具体特点和需求进行分析,以设计出合理的数据库系统。
本节主要介绍如何创建数据和事务日志、如何备份数据库、如何删除数据库以及如何选用媒体存储数据库。
创建数据库是创建表和其它结构的第一步,在Microsoft SQL Server 2000中,有以下三种创建数据库的方法:
n 使用SQL Server Enterprise Manager创建数据库和事务日志
n 使用CREATE Database命令创建数据库和事务日志
n 使用Database Creation向导创建数据库和事务日志
在创建一个数据库的时候,SQL Server 2000使用了一个样本数据库Model,该数据库由标准的SQL Server对象组成,如下:
n 数据库用户:缺省情况下,唯一的用户是dbo(Database Owner)。
n 数据库角色:定义了10种缺省角色。
n 表:一般情况下,新建的数据库包含17个表。
n 存储过程:不包含存储过程。
n 规则:不包含规则。
n 视图:提供了20个视图。
n 数据库图解:没有提供。
创建数据库的过程就是为数据库确定名称、大小和所存放的数据库文件的过程,数据库的信息存放在Master数据库的sysdatabases表中,属于系统级信息。在创建数据库的时候,当前数据库应该是Master数据库,创建数据库后,系统会自动把Model数据库中的信息复制到新建的数据库中。
下面学习如何使用以上介绍的三种方法创建数据库。
使用SQL Enterprise Manager创建数据库的步骤如下:
(1)单击“开始”菜单,选择“程序”,在“程序”子菜单中选择Microsoft SQL Server,在其子菜单中,单击Enterprise Manager菜单项,打开如图4-1所示的SQL Server Enterprise Manager窗口。
(2)在选定的服务器上打开服务器连接,然后在Database上单击鼠标右键,弹出一快捷菜单,如图4-2所示。
(3)在快捷菜单中,单击New Database菜单项,打开如图4-3所示的数据库属性对话框。