第3 1章 数据库和表_第1页
第3 1章 数据库和表_第2页
第3 1章 数据库和表_第3页
第3 1章 数据库和表_第4页
第3 1章 数据库和表_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、?,1,数据库存储结构,?,2,查看数据库属性,第,3,章,数据库和表,3.1,数据库存储结构,数据库的存储结构分为逻辑存储结构和物理存储结,构,?,逻辑存储结构是指数据的性质信息,有各种不,同的数据对象(如表、视图、索引等)组成。,?,物理存储结构是指磁盘上存储的数据库文件。,数据库文件有数据文件和事务日志组成,保存,在物理介质上。,3.1.1,数据库文件和文件组,?,文件,SQL Server 2005,数据库有,3,种类型的文件:,?,主数据文件,?,次要数据文件,?,日志文件,3.1,数据库存储结构,?,主数据文件,主数据文件,用来存放数据,它包含其它数据库文件,的指针,即是数据库的起

2、点,一个数据库必须有且,只有一个主数据文件,主数据文件的扩展名为,.MDF,Pri,m,ary,D,ata,F,ile,3.1,数据库存储结构,?,次要数据文件,次数据文件,也用来存放数据。如果主数据文件可包,括数据库中的所有数据就不需要次数据文件,如果,主数据文件太大或要扩展到多个磁盘,则需次数据,文件。一个数据库可有多个或没有次数据文件,次,数据文件的扩展名为,.NDF,Seco,n,dary,D,ata,F,iles,3.1,数据库存储结构,?,事务日志文件,事务是用户定义的一个数据库操作序列。这些操作要,么全做要么全不做。事务日志文件用来存放事务日志,。即存储所有事务和由这些事务引起的

3、数据库的变化,,用于恢复数据库。一个数据库有一个或多个事务日,志文件,日志文件的扩展名为,.LDF,L,og,D,ata,F,ile,3.1,数据库存储结构,?,文件组,文件组用于文件的分配和管理,有两种类型,?,主文件组,主文件组包含主数据文件和任何没有明确分配给其他文件组的其他文件。,系统表的所有页均分配在主文件组中。,?,用户定义文件组,用户定义文件组是通过在,CREATE DATABASE,或,ALTER DATABASE,语句中使用,FILEGROUP,关键字指定的任何文件组。,3.1,数据库存储结构,?,创建数据库应遵循的原则:,?,一个数据库均有一个文件组被指定为默认文件组。,?

4、,一个文件或文件组只能被一个数据库使用。,?,一个文件只能属于一个文件组。,?,数据和事务日志不能共存于同一个文件或文件组上。,?,日志文件不能属于文件组。,3.1,数据库存储结构,?,SQL Server,在定义文件时,可指定起始大小、增量和,最大大小。,3.1,数据库存储结构,3.1.2,页和分区,页和区是,SQL Server,在创建数据库对象时为其分配的空间,单位。它们和数据库及其文件间的关系如图:,3.1,数据库存储结构,3.1,数据库存储结构,日志文件,:,.ldf,数据文件,:,.mdf or .ndf,区,: 8,个连续的,8 KB,页,数据页,: 8 KB,表、索引,最大行长

5、度为,8080,字节,数据库,?,1.,页,SQL Server,中数据存储的基本单位是页。,SQL,Server,中的所有信息都存储在页上,页是数据库中,使用的最小数据单元。每一个页存储,8KB,的信息。,3.1,数据库存储结构,SQL Server,使用如下几种类型的页:,?,分配页面,用于控制数据库中给表和索引分配的页面。,?,数据和日志页面,用于存储数据库数据和事务日志数据。数据存储在,每个页面的数据行中,每一行的最大值为,8060,个字节。,SQL Server,不,允许跨页面存储。,?,索引页面,用于存储数据库中的索引数据。,?,分发页面,用于存储数据库中有关索引的信息。,?,文本

6、,/,图像页面,用于存储大量的文本或者二进制的对象(,BLOB,),,例如,图像。,3.1,数据库存储结构,?,2.,区,区,是由,8,个连续的页面组成的数据结构,大小为,8,8,KB=64 KB,。当创建数据库对象时,,SQL Server,会自动以区为,单位给它分配空间。每个区只能包含一个数据库对象。,3.1,数据库存储结构,SQL Server,有两种类型的区:,?,统一区,由单个对象所有。区中的所有,8,页只能由所属对象使用。,?,混合区,最多可由,8,个对象共享。区中,8,页的每页可由不同的对象所,有。,3.1,数据库存储结构,3.1.3,事务日志,事务日志存储在一个单独的文件上。在

7、创建数据库时,,事务日志也会随着创建。在修改写入数据库之前,事,务日志会自动记录对数据库对象所做的修改。如果系统,出现故障,使用事务日志可对数据库进行恢复。,3.1,数据库存储结构,?,1.,事务日志支持的操作,?,恢复个别的事务,?,SQL Server,启动时恢复所有未完成的事务,?,将还原的数据库、文件、文件组或页前滚到故障点,?,支持事务复制,?,支持备用服务器解决方案,3.1,数据库存储结构,?,事务日志具有如下特征:,?,事务日志是作为数据库中的单独的文件或一组文件实现的。,?,日志记录和页的格式不必遵守数据页的格式。,?,事务日志可以在几个文件上实现。,?,重用日志文件中空间的机

8、制速度快且对事务吞吐量影响最小,3.1,数据库存储结构,?,2.,事务日志提供容错的机制,在,SQL Server,中,事务是指一次完成的操作的集合,虽然,一个事务中可能包含了很多的,SQL,语句,但是在处理上,它们,就像是一个操作一样。为了维护数据库的完整性,它们必须,彻底完成或者根本不执行。如果一个事务只是部分执行,则,数据库将受到损坏。,3.1,数据库存储结构,?,事务日志防止没有完成的事务破坏数据的步骤,:,?,(,1,)用户执行修改数据库对象的任务。,?,(,2,)当这个事务开始时,在事务日志中会记录一个事务开。,?,(,3,)在日志中记录每一个操作,然后在日志中记录一个提交,事务的

9、标志。,?,(,4,)在缓冲区中修改相应的数据。,3.1,数据库存储结构,?,事务日志和数据分开存储的优点:,?,事务日志可以单独备份。,?,在服务器失效的事件中有可能将服务器恢复到最近的状态。,?,事务日志不会抢占数据库的空间。,?,可以很容易地检测事务日志的空间。,?,在向数据库和事务日志中写入时会较少产生冲突。,3.1,数据库存储结构,3.2,查看数据库属性,3.2.1,查看系统数据库,SQL Server 2005,包含,4,个系统数据库:,?,master,数据库,?,model,数据库,?,msdb,数据库,?,tempdb,数据库,查看系统数据库的操作步骤如下:,?,第,1,步:

10、,打开“开始”菜单,依次选择“,程序”,| Microsoft SQL Server 2005 | SQL,Server Management Studio,选项,打开“连,接到服务器”对话框,进行相应设置后,,单击“连接”按钮,连接到相应的服,务器。,?,第,2,步:,在连接成功后弹出的“对象资源,管理器”窗口中,依次打开“数据库”,|“,系统数据库”选项,即可看到,4,个系统数,据库,如图所示。,图,3.4,系统数据库,3.2,查看数据库属性,master,数据库,?,master,数据库是,SQL Server 2005,中最重要的数据库。记录了,SQL Server,实例的所有系统级信

11、息。如:,SQL Server,初始化信,息、登录帐户和系统配置设置、所有数据库文件的位置。,?,系统对象不放在,master,数据库中,而是存储在,resource,数据库,中,,resource,数据库是只读数据库,它包含了,SQL Server,中的,所有系统对象。,3.2,查看数据库属性,tempdb,数据库,?,tempdb,数据库是一个临时数据库,用于保存临时对象或中间,结果集,满足临时存储要求。,?,tempdb,数据库在,SQL Server,每次启动时都重新创建。临时表和,存储过程在连接断开时自动除去,而且当系统关闭后将没有,任何连接处于活动状态。,?,每次启动数据库引擎时,

12、,tempdb,数据库会重置为其初始大小,,在,SQL Server,运行时,该库会根据需要自动增长。,3.2,查看数据库属性,Model,数据库,?,model,数据库是创建所有数据库的模板。当创建数据库时,,新数据库的第一部分通过复制,model,数据库中的内容创建,,剩余部分由空白页填充。,?,如果修改,model,数据库,之后创建的所有数据库都将继承这,些修改。,3.2,查看数据库属性,msdb,数据库,?,msdb,数据库是由,SQL Server Agent,用来计划警报和作业调度的,数据库。,3.2,查看数据库属性,3.2.2,查看用户数据库,?,几种常用的数据库对象,。,?,1

13、.,表,表是包含数据库中所有数据的数据库对象,由行和列组成,用于组织和存,储数据,每一行称为一条记录。,?,2.,字段,表中每列称为一个字段,字段具有自己的属性。,常用类型:字符型、文本型、数值型、逻辑型和日期型。,3.2,查看数据库属性,?,3.,索引,索引是一个单独的数据结构,它是依赖于表建立的,是数据的逻辑,排序,可加快查找速度。,?,4.,视图,视图是从一个或多个表中导出的表(也称虚拟表)。数据库中并不,存放视图的数据,只存放其定义。,3.2,查看数据库属性,?,5.,存储过程,存储过程是一组为了完成特定功能的,SQL,语句集合,经编译后存储,在服务器端的数据库中,由用户通过指定存储过

14、程的名称来执行。,?,6.,触发器,触发器是一种特殊类型的存储过程,它能够在某个规定的事件发生,时触发执行。通常用来保持数据完整性和检查数据的有效性。,3.2,查看数据库属性,?,使用,SQL Server Managemet Studio,可查看数据及内容,包括数,据库的所有者、建立时间、大小、可用空间、表和索引等,。,?,打开数据库属性对话框查看,AdventureWorks,数据库内容。,?,查看“常规”选项卡,?,查看“文件”选项卡,?,观察数据库文件的属性:,逻辑名称、文件类型、文件组、初始大小、自,动增长、路径,3.2,查看数据库属性,3.2.3,查看表之间的关系图,图,3.9,选

15、择要查看关系图的表,图,3.10 3,个表之间的关系图,图,3.11,“,选择名称”对话框,3.2,查看数据库属性,3.2.4,查看表的结构和内容,?,查看,AdventureWorks,库中部分表的结构和内容。,3.2.5,查看视图,?,视图(,Views,)是一种虚拟表,它的所有数据均来自表,,本身并不存储数据。,?,视图的记录数据由某些表(一般是多个)的某些字段,组成。,?,视图的查看和表的查看类似。,3.2,查看数据库属性,3.2.6,查看存储过程,?,存储过程是预先使用,SQL,语言编写的,经过,SQL Server,编,译后,存储在,SQL Server,中的程序,可以重复调用。,?,查看,AdventureWorks,库中部分存储过程。,3.2,查看数据库属性,3.2.7,查看用户和角色,?,用户是对数据库有存取权限的使用者,角色是指一,组数据库用户的集合。数据库中的角色可以根据需,要添加。用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论