欢迎来到天天文库
浏览记录
ID:37202246
大小:204.50 KB
页数:22页
时间:2019-05-19
《Server数据库管理系统的高级应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第六章SQLServer数据库管理系统的高级应用主要知识点:数据库和表;约束;默认;规则;SQLServer的备份和恢复;SQLServer的安全性重点:数据库和表;约束难点:约束教学学时:理论6学时,实践6学时教学方式:讲授教学内容:6.1数据库和表6.1.1数据库存储结构1.数据库文件和文件组SQLServer2000用文件来存储数据库,数据库文件有三类:l主数据文件(Primary):存放数据。每个数据库都必须有且仅有一个主数据文件。以.mdf为默认扩展名。包含的系统表格记载数据库中对象及其他文件的位置信息。l次要数据
2、文件(Secondary):存放数据。以.ndf为默认扩展名。可有可无。主要在一个数据库跨多个硬盘驱动器时使用。l事务日志文件(TransactionLog):存放事务日志。每个数据库必须有一个或多个日志文件。以.ldf为默认扩展名。记录数据库中已发生的所有修改和执行每次修改的事务。注意:每个数据库的:主数据库文件数=1;次要数据文件数>=0;事务日志文件数>=1文件允许多个数据库文件组成一个组,即文件组,是文件的逻辑集合,SQLServer2000通过对文件进行分组,以便于管理数据的分配或配置。文件组对组内的所有文件都使用
3、按比例填充策略。SQLServer2000有三种类型的文件组:主文件组(primary);用户定义的文件组;默认的文件组(default)。22注意:这里默认的文件组用来存放任何没有指定文件组的对象;主文件组包含主数据文件,存放系统表格等;事务日志文件不能属于文件组;SQLServer2000至少包含一个文件组,即主文件组。2.系统数据库SQLServer2000内部创建和提供了一组数据库,有4个系统数据库(master、msdb、model、tempdb)和两个附带的示例数据库(pubs、northwind)。master
4、数据库:记录了所有系统信息,包括所有的其他数据库、登录帐号和系统配置。是最主要的系统数据库。msdb数据库:是SQLServerAgent服务使用的数据库,用来执行预定的任务,如数据库备份和数据转换、警报和作业等。model数据库:样板数据库。为用户数据库提供样板。tempdb数据库:也是从model拷贝而来。存储了SQLServer实例运行期间SQLServer需要的所有临时数据。pubs和northwind数据库:是两个用户数据库,系统附带的,可以删除,也可以恢复。其中pubs示例数据库以一个图书出版公司为模型,nort
5、hwind示例数据库以一个名为NorthwindTraders的虚构公司为模型,存放了一些公司的销售数据,该公司从事世界各地的特产食品进出口贸易。示例数据库的恢复:可以使用SQLServer安装中Install目录下的文件重新进行安装恢复。3.数据库文件的空间分配在创建数据库前需估算所建数据库的大小及增幅。定义一个恰当的数据库大小。计算依据:数据库的最小尺寸必须等于或大于model数据库的大小。估算数据库的大小,在SQLServer2000中最基本的数据存储单元是页,每页的大小为8KB(8192字节),每页除去96字节的头部
6、(用来存储有关的页信息,如页类型、可用空间、拥有页的对象的对象ID等),剩下的8096字节(8192-96=8096)用来存储数据。默认情况下事务日志文件的大小是数据库文件大小的25%。SQLServer2000数据库的数据文件中的八种页类型:22l数据页:存储数据库数据,包含数据行中除text、ntext和image数据外的所有数据。l索引页:用于存储索引数据。l文本/图像页:用于存储text、ntext和image数据。l全局分配页:用于存储扩展盘区分配的信息。l页面剩余空间页:用于存储页剩余空间的信息。l索引分配页:用
7、于存储页被表或索引使用的扩展盘区信息。l大容量更改映射表:有关自上次执行BACKUPLOG语句后大容量操作所修改的扩展盘区的信息。l差异更改映射表:自上次执行BACKUPDATABASE语句后更改的扩展盘区的信息。数据页包含数据行中除text、ntext和image数据外的所有数据,text、ntext和image数据存储在单独的页中。在数据页上,数据行紧接着页首按顺序放置。在页尾有一个行偏移表。在行偏移表中,页上的每一行都有一个条目,每个条目记录那一行的第一个字节与页首的距离。行偏移表中的条目序列与页中行的序列相反。扩展盘
8、区是一种基本单元,可将其中的空间分配给表和索引。一个扩展盘区是8个邻接的页(或64KB)。这意味着SQLServer2000数据库每兆字节有16个扩展盘区。例:假设某个数据库中只有一个表,该表的每行记录是500字节,共有10000行数据。试估计此数据库的大小。分析:由于一个数据页最多可存放
此文档下载收益归作者所有