SQL Server 是一个关系 数据库 管理系统,它最初是由 Microsoft 、 Sybase 和 Ashton-Tate 三家公司共同 开发 的,于 1988 年推出了第一个 OS/2 版本。在 Windows NT 推出后" name="description" />

SQLServer2000中的数据存储形式(二)

发表于:2007-05-25来源:作者:点击数: 标签:
MI LY: TimesNewRomanPSMT; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">SQL Server 是一个关系 数据库 管理系统,它最初是由 Microsoft 、 Sybase 和 Ashton-Tate 三家公司共同 开发 的,于 1988 年推出了第一个 OS/2 版本。在 Windows NT 推出后

MILY: TimesNewRomanPSMT; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后MicrosoftSybase SQL Server 的开发上就分道扬镳了,Microsoft SQL Server 移植到Windows NT系统上专注于开发推广SQL Server Windows NT 版本,Sybase 则较专注于SQL ServerUNIX 操作系统上的应用。

 

SQL Server 2000 Microsoft 公司2000年推出的SQL Server 数据库管理版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好,与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。

 

下面就SQL Server 2000的数据存储在物理上和逻辑上的实现方式加以说明。

 

一、物理存储形式:

 

物理上,一个数据库有一个或多个磁盘上的一个或多个文件组成。这种物理实现只对数据库管理人员是可见的,而对于用户是透明的。

每个数据库在物理上又分为数据和日志文件,这些数据和日志文件存放一个或多个磁盘上。这些文件不与其它文件共享。

1)  数据文件:

SQL Server 2000将一个数据文件中的空间分配给表格和索引,每块有64kb空间,叫做“扩展盘区”。有两种类型的扩展盘区:统一扩展盘区和混合扩展盘区。

每个扩展盘区由页面组成。页面是SQL Server 2000中数据存储的基本单元,每个页面的大小为8kb。通常情况下,每个数据页面上以行的形式存储数据。一行的数据最多达8060字节。数据行上如若有群集索引,则基于群集索引的关键字(如邮政编码等)为顺序组织数据,否则没有特定的顺序。

2)  事务处理日志文件:

事务处理日志文件驻留在与数据文件不同的一个或多个物理文件中,包含一系列日志记录而不是扩展盘区分配的页面。

 

二、逻辑存储形式:

 

逻辑上,一个数据库有若干个用户可见的组件组成,如:表格、视图、存储过程等。

其中对象名称及功能如下表所示:

数据库对象

         

表格

由数据的列和行组成,格式与工作表相类似。行代表一个唯一的记录,列代表记录中的一个字段。类型定义规定了某个列中可以存放的数据类型。

视图

可以限制某个表格可见的行和列,或者将多个表格数据结合起来,作为一个表格显示。一个视图还可以集中列。

索引

是一种和表格或视图有关的结构,可以加快从表格或视图中获得数据行。表格索引可以是群集的,也可以是非群集的。群集指数据在物理上是基于索引关键字的顺序存放的。

关键字

是众多列中一列或组,它唯一识别一行(主关键字),定义两个表格之间的关系(外关键字),或者用于构建一个索引

用户定义的数据类型

是一种自定义的数据类型,它基于某个预先定义的数据类型。它可以用来建立对程序员更有意义的表结构,有助于确保存放数据的相似类的列都具有相同的数据类型。

存储过程

是一种Transact-SQL语句,它们被编译成一个执行计划。该过程用于性能优化和控制访问。

约束

定义了有关列中允许的值的规则,是加强数据完整性的标准机制。

 

默认

规定了当您插入一行,而没有定义列的值时,改列使用的值。

触发器

时存储过程的一个特殊类,用于当对一个表格或视图发出update、insert 或delete语句时,能自动执行。

用户定义的函数

时一个由一条或多条transact-sql语句构成的子例行程序,用于封装代码以便于重用。一个函数可以有最多1024个输入参数。用户定义的函数可以取代视图和存储过程。

                                            参考sqlserver2000认证书籍

原文转自:http://www.ltesting.net