第二章 数据库的创建与管理1
- 格式:doc
- 大小:350.50 KB
- 文档页数:14
第二章数据库的创建与管理
2.1 SQL Server数据库
2.1.1 数据库的结构
2.1.2 系统数据库
2..2 使用企业管理器创建数据库
2.2.1企业管理器的工作界面
2.2.2企业管理器创建用户数据库
2.2.3向导创建用户数据库
2.3使用T-SQL语句创建数据库
2.3.1查询分析器
2.3.2 用T-SQL语句创建数据库
2.4 修改和删除数据库
2.4.1 修改数据库
2.4.2 删除数据库
2..5 数据库迁移
2.5.1分离和附加数据库
2.5.2 导入和导出数据
2.1 SQL Server数据库
2.1.1 数据库的结构
2.1数据库的存储结构
数据库的存储结构分为逻辑存储结构和物理存储结构两种。
数据库的逻辑存储结构指的是,SQL Server的数据库是由诸如表、视图、索引等各种不同的数据库对象所组成。
数据库的物理存储结构是讨论数据库文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。
一、数据库文件
1.主数据库文件(Primary Database File)
一个数据库可以有一个或多个数据库文件,一个数据库文件只能属于一个数据库。当有多个数据库文件时,有一个文件被定义为主数据库文件(简称为主文件),其扩展名为mdf 主数据库文件用来存储数据库的启动信息以及部分或者全部数据,是所有数据库文件的起点,包含指向其它数据库文件的指针。一个数据库只能有一个主数据库文件。
2.次数据库文件(Secondary Database File)
用于存储主数据库文件中未存储的剩余数据和数据库对象,一个数据库可以没有次数据库文件,但也可以同时拥有多个辅助数据库文件。
次数据库文件的扩展名为ndf(简称为辅助文件)。
3.事务日志文件
存储数据库的更新情况等事务日志信息,当数据库损坏时,管理员使用事务日志恢复数据库。
每一个数据库至少必须拥有一个事务日志文件,而且允许拥有多个日志文件。事务日志文件的扩展名为ldf,日志文件的大小至少是512KB。
SQL Server事务日志采用提前写入的方式
SQL Server 2000的文件拥有两个名称,即逻辑文件名和物理文件名。当使用Transact-SQL 命令语句访问某一个文件时,必须使用该文件的逻辑名。
物理文件名是文件实际存储在磁盘上的文件名,而且可包含完整的磁盘目录路径。
SQL Server 2000用文件来存放数据库,数据库文件有三类。
1.主数据库文件(Primary):(1)存储数据库的启动信息,是所有数据库文件的起点,包含
指向其它数据库文件的指针
(2)存放数据,每个数据库都必须有一个主数据文件。
2.次要数据文件(Secondary):存放数据,一个数据库可以没有也可以有多个Secondary
文件。
3.事务日志文件(Transaction Log):存放事务日志,每个数据库至少有一个或多个日志文
件。
一般情况下,一个简单的数据库可以只有一个主数据文件和一个日志文件。如果数据库很大,则可以设置多个Secondary文件和日志文件,并将它们放在不同的磁盘上。
默认状态下,数据库文件存放在\MSSQL\data\目录下,数据文件名为“数据库名_Data.MDF”,日志文件名为“数据库名_Log.LDF”。数据库的创建者可以在创建时指定其他的路径和文件名,也可以添加Secondary文件和更多的日志文件。
二、数据库文件组
利用文件组可以使服务器的性能得到提高。
(系统提供)主文件组中包含了所有的系统表,当建立数据库时,主文件组包括主数据库文件和未指定组的其他文件。
用户定义文件组中可以指定一个缺省文件组,那么在创建数据库对象时如果没有指定将其放在哪一个文件组中,就会将它放在缺省文件组中。如果没有指定缺省文件组,则主文件组为缺省文件组。
文件组允许多个数据库文件组成一个组,并对它们整体进行管理。比如,可以将三个数据文件(data1.ndf、data2.ndf和data3.ndf)分别创建在三个盘上,这三个文件组成文件组fgroup1,在创建表的时候,就可以指定一个表创建在文件组fgroup1上。这样该表的数据就可以分布在三个盘上,在对该表执行查询时,可以并行操作,大大提高了查询效率。
SQL Server的数据库文件和文件组必须遵循以下规则:
(1)一个文件和文件组只能被一个数据库使用。
(2)一个文件只能属于一个文件组。
(3)数据和事务日志不能共存于同一文件或文件组上。
(4)日志文件不能属于文件组。
三.数据库对象
SQL Server 2000数据库中的数据在逻辑上被组织成一系列对象,当一个用户连接到数据库后,他所看到的是这些逻辑对象,而不是物理的数据库文件。
SQL Server 2000中有以下数据库对象:表(Table)、视图(View)、存储过程(Stored procedures)、触发器(Triggers)、用户自定义数据类型(User-defined data types)、用户自定义函数(User-defined functions)、索引(Indexes)、规则(Constraints)、默认值(Defaults)等。
2.1.2系统数据库
在创建任何数据库之前,打开企业管理器的“服务器/数据库”目录,可以看到系统中已经有了6个数据库。如图2-1所示。