SQL Server数据库对象
常用数据库对象包括哪几种呢?
- 表:一个数据库是由若干个基本表组成的,表上有约束、规则、索引、触发器、函数、默认值等数据库对象,其他数据库对象都是依附于表对象而存在的。表是数据库的基本组件。
- 视图:视图看上去同表似乎一模一样,具有一组命名的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存在。视图中的数据来自表的全部或部分数据,也可以取自多张表的全部或部分数据。视图是由查询数据库表产生的。
- 索引:索引在数据库中的作用类似于目录在书籍中的作用,主要用来提高查找信息的速度。
- 默认值:对没有指定其具体值的列或列数据项赋予事先设定好的值。
- 规则:规则是对数据库表中数据信息的限制。它限定的是表的列。
- 存储过程:为完成特定的功能而汇集在一起的一组SQL程序语句,经编译后存储在数据库中的SQL程序集,既可以作为一个独立的数据库对象,也可作为一个单元被用户的应用程序调用。
- 触发器:是一种特殊类型的存储过程,当指定的表中的数据发生变化时触发器自动生效,调用触发器以响应INSERT (插入)、UPDATE (更改)或DELETE (删除)语句。
- 用户:就是有权限访问数据库的人。
SQL Server系统数据库
系统数据库包括哪几类呢?
- master数据库:是整个数据库服务器的核心,它记录了SQL Server系统的所有系统信息,如所有的系统配置信息、登录信息、用户数据库信息、SQL Server初始化信息等。当master数据库被损坏,SQLServe服务器将无法正常工作。
- tempdb数据库:是一个临时数据库,它为所有的临时表和其他临时存储需求提供存储空间,是一个由SQL Server 中所有数据库共享使用的工作空间。当用户与SQL Server 断开连接或系统关机时,该数据库中的内容被自动清空。每次SQL Server 启动时。tempdb数据库都将被重建恢复到系统设定的初始状态。
- model数据库:是创建所有用户数据库和tempdb数据库的模板文件。model 数据库中包含每个数据库所需的系统表格,是SQL Server 2008中的模板数据库。当创建一个用户数据库时,模板数据库中的内容会自动复制到所创建的用户数据库中。可以利用model数据库的模板特性,通过更改model数据库的设置,将经常使用的数据库对象复制到model数据库中,可以简化数据库及其对象的创建、设置工作,为用户节省大量的时间。当发出CREATE DATABASE (创建数据库)语句时,将通过复制model 数据库中的内容来创建数据库的部分,然后用空页填充新数据库的剩余部分。如果修改 model数据库,之后创建的所有数据库都将继承这些修改。
- msdb数据库:是代理服务数据库,存放服务器的任务列表,它为报警、任务调试和记录操作员的操作提供存储空间。
SQL Server用户数据库组成
用户数据库有哪几部分组成呢?
1主要数据文件(primaryfile):用来存储数据库的数据和数据库的启动信息。每个数据库都必须有而且只能有一个主要数据文件,其扩展名为“.mdf”。主要数据文件中包含了其他数据库文件的信息。SQL Server 2008要求主数据文件的大小不能小于3MB。
2次要数据文件( secondary file):用来存储主要数据文件没有存储的其他数据,一个数据库可以没有次数据文件,也可以有多个次数据文件,而且这些次数据文件可以建立在一个磁盘上,也可以分别建立在不同的磁盘上。次要数据文件的扩展名为“.ndf”。
3事务日志文件(transation log):事务日志文件是用来记录对数据库的操作信息的,它把对数据库的所有操作事件均记载下来。在数据库有问题的时候可以去看日志文件来分析出错的原因,当数据库被破坏时也可以利用事务日志文件恢复数据库的数据。日志文件的扩展名为“.ldf”。
SQL Server数据库文件组
数据库文件组有哪几部分组成呢?
1主文件组:它包含主要数据文件和任何没有明确指派给其他文件组的其他文件。系统表的所有页均分配在主文件组中。
2用户定义的文件组:将相关数据文件组织起来,便于管理和数据分配。用户定义文件组是通过在CREATE DATABASE 或ALTER DATABASE 语句中使用FILEGROUP关键字指定的任何文件组。
3默认文件组:每个数据库都有一个文件组作为默认文件组在运行。任何时候只能有一个文件组被指定为默认文件组。默认情况下,主文件组被当做默认文件组。
SQL Server数据库存储结构
SQL Server数据库存储结构的分类
数据库的存储结构分为逻辑逻辑存储结构和物理存储结构。
逻辑逻辑存储结构指的是数据库由哪些性质的信息组成。物理存储结构讨论的是数据库文件是如何在磁盘上存储的。因为数据库在磁盘上都是以文件为单位存储的,文件是由盘区组成,盘区是由页面组成。SQLServer的数据存储基本单位是页面。在SQL Server 2008中,一页是一块8KB (其中用8060字节存储数据,另外的132字节存放系统信息)的连续磁盘做空间。页是存储数据的小空间分配单位,页的大小决定了数据表中一行数据的大大小。
在创建用户数据库时,model 数据库自动被复制到新建的用户数据库中,而且是复制到主要数据文件中。因此,用户新建数据库的数据文件大小不能小于model数据库的大小(主数据文件至少是3MB,日志文件至少是IMB)。