SQL Server从入门到精通(二)

SQL Server数据库结构和管理

今天阿猪和大家正式进入SQL Server的第二次学习,所有的学习笔记阿猪都是跟着《大型数据库管理系统 技术、应用于实例分析》和结合(百度文库)总结归纳出来的,在今后的讲解中阿猪只使用SQL命令来编写,好的接下来那就一起学习共同进步

数据库物理存储结构

数据库物理存储是指数据库的数据以什么方式存储在计算机磁盘上,又是怎样在磁盘空间管理器管理下运行的。

1.1数据库文件和文件组

数据库在磁盘上是以文件为单位存储,由数据库文件和事务日志文件组成

×主数据库文件:不许有一个。扩展名.mdf

×次数据库文件:有的有有的没有,还可能多个,扩展名.ndf

×事务日志文件:包含恢复数据库所需要的所有日志信息,至少有一个日志文件,也可多个,扩展名.ldf

1. 数据库文件组 :多个文件归纳为同一组,控制各个文件的存放位置,减轻单个磁盘驱动器的存储负载,提高数据库存储效率

2. 建立数据库文件和文件组应注意:

(1)数据文件不能跨文件组使用,数据文件和文件组不能跨数据库使用

创建数据库

(2)日志文件是独立的,数据库内的数据和日志不能同时存入相同的文件或文件组

3. 主文件组和此文件组

数据库逻辑组织

系统数据库

(1)master数据库:由系统表组成,不允许修改

(2)tempdb数据库:记录用户创建所有临时表,临时数据,重启后为空

(3)model数据库:建立新数据库的模板

(4)msdb数据库:用于复制、作业调度等

数据库的创立与管理

阿猪觉得这一部分很重要索引进行了深入学习查阅了百度文库,来更详细的讲解没有弄例题,大家就把课本上的多加练习一下

说明:[]括起来的内容表示是可选的;

[,…n]表示重复前面的内容

<>表示在实际编写语句时用相应的内容代替

{}表示是必选的

A|B表示AB只能选一个不能同时都选

数据库创立:

语法格式:

CREATE DATABASE database_

name

[ON [PRIMARY] [[, …n]

[, [, …n]] ]

[LOG ON {[ , …n]]

[FOR LOADIFOR ATTACH]

::=

name , ]

FILENAME= ='os_ file_ name’

[ , SIZE= =size]

[,MAXSIZE= ={max_ sizeIUNLIMITED}]

[ , FILEGROWTH=growth _increment] ) [, …n]

::=

FILEGROUP filegroup _name [, …n]

备注:

1.database_ name :新数据库的名称。数据库名称在 服务器中必须唯- - ,最长为128个字符,并且要符合标 识符的命名规则。每个服务器管理的数据库最多为32767个。

2.ON :指定存放数据库的数据文件信息。列表用于定义主文件组的数据文件,列表用于定义用户文件组及其中的文件。

3.PRIMARY :用于指定主文件组中的文件。主文 件组的第一个由指定的文件是主文件。如果 不指定PRIMARY关键字,则在命令中列出的第- -个 文件将被默认为主文件。

4.LOG ON :指明事务日志文件的明确定义。如果 没有本选项,则系统会自动产生-个文件名前缀与数 据库名相同,容量为所有数据库文件大小1/4的事务日 志文件。

5. FOR LOAD :表示计划将备份直接装入新建的数据库,主要是为了和过去的SQL Server版本兼容。

6.FOR ATTACH :表示在- -组已经存在的操作系统文件中建立-个新的数据库。

7.NAME :指定数据库的逻辑名称。

8.FILENAME :指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称- – -对应。

9.SIZE :指定数据库的初始容量大小。如果没有指定主文件的大小,则SQL Server默认其与模板数据库中的主文件大小一致,其它数据库文件和事务日志文件则默认为1MB。指定大小的数字size可以使用KB、MB、GB和TB后缀,默认的后缀为MB。Size中不能使用小数,其最小值为512KB ,默认值为1MB。主文件的size不能小于模板数据库中的主文件。

10.MAXSIZE ;指定操作系统文件可以增长到的最大尺寸。如果没有指定,则文件可以不断增长直到充满磁盘。

11.FILEGROWTH :指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。增加量可以确定为以KB、MB作后缀的字节数或以%作后缀的被增加容量文件的百分比来表示。默认后缀为MB.如果没有指定FILEGROWTH ,则默认值为10%.每次扩容的最小值为64KB。

修改数据库结构

语法格式:

ALTER DATABASE database

{ ADD FILE < filespec> [, … n][ TO FILEGROUP filegroup_ name ]

| ADD LOG FILE < filespec> [ ,…n ]

| REMOVE FILE logical_ file_ name

| ADD FILEGROUP filegroup_ name

|REMOVE FILEGROUP filegroup_ name

| MODIFY FILE < filespec>

| MODIFY NAME = new_ dbname

|MODIFY FILEGROUPfilegroup_name {filegroup_property | NAME = new_filegroup_nume }

|SET < optionspec> [ ,…n ][ WITH < termination> ]

| COLLATE < collation_name>

}

备注

1.database是要更改的数据库的名称。

2.ADD FILE指定要添加文件。

3.TO FILEGROUP指定要将指定文件添加到的文件组。

4.filegroup_ name是要添加指定文件的文件组名称。

5.ADD LOG FILE指定要将日志文件添加到指定的数据库。

6.REMOVE FILE从数据库系统表中删除文件描述并删除物理文件。只有在 文件为空时才能删除。

7.ADD FILEGROUP指定要添加文件组。

8.MODIFY FILE指定要更改给定的文件,更改选项包括 FILENAME、SIZE、 FILEGROWTH和MAXSIZE。-次只能更改这些属性中的- -种。必须在 中指定NAME ,以标识要更改的文件。如果指定了 SIZE ,那么新大小必须比文件当前大小要大。若要更改数据文件或日志文件的逻辑名称,应在 NAME选项中指定要改名的逻辑文件名称,并在 NEWNAME选项中指定文件的新逻辑名称。

9.MODIFY FILEGROUP filegroup. name{ filegroup property | NAME = new_ filegroup name }指定要修改的文件组和所需的改动。如果指定filegroup_ name 和NAME =new_ filegroup. name,则将此文件组的名称改为 new_ filegroup_ name。如果指定filegroup. name和filegroup. property , 则表示给定文件组属性将应用于此文件组。

filegroup. property的值有:

1.READONLY指定文件组为只读。不允许更新其中的对象。主文件组 不能设置为只读。只有具有排它数据库访问权限的用 户才能将文件组标记为只读。

2.READWRITE逆转READONLY属性。允许更新文件组中的对象。只 有具有排它数据库访问权限的用户才能将文件组标记 为读/写。

3.DEFAULT将文件组指定为默认数据库文件组。只能有一个数据库 文件组是默认的。CREATE DATABASE语句将主文 件组设置为初始的默认文件组。如果在CREATE TABLE、ALTER TABLE或者CREATE INDEX语 包中没有指定文件组,则新表及索引将在默认文件 组一中创建。

查看数据库

语法:

SP_HELPDB 数据库名

删除数据库

语法:

DROP DATABASE 数据库名

好了今天这一章的内容就结束了,如果有错误的地方欢迎大家指出,来共同学习共同交流,如果觉得好给个小赞赞谢谢啦

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章