1. 单击左上角的新建查询后就可以在编辑区写SQL语句了:
a. 如图所示:
b. 数据库系统好比一个控制台,而SQL语句就像控制台的命令,每个SQL语句都具有一定的功能,背后都是由应用程序支持的,因此用SQL语句编写的代码就是脚本文件;
c. SQL脚本的编写称为查询;
d. 可以按执行按钮也可以直接按键盘F5来执行写完的SQL脚本(查询文件),并且会有报错提示等,查询文件就是SQL的源代码;
2. 一个创建数据库的范例:
CREATE DATABASE 数据库名称 //此单条语句就可创建一个数据库了,但是该数据的容量、自增、文件路径等都没有设置过
ON //表示该数据库建立在哪几个文件上,后面对每个数据库文件的定义都用()表示,一对()就表示一个数据库文件的定义
PRIMARY//定义主数据文件,此关键字只能用一次,用在哪个括号前就表示哪个括号所代表的文件为主数据文件
(
NAME = 逻辑文件名, //文件属性定义之间都用逗号隔开
FILENAME = '完整的文件路径(即绝对路径)\逻辑文件名_DATA.mdf',//指定的路径不需存在,即.mdf文件之前的所有文件夹都必须存在,否则报错!!
SIZE = 10MB, //文件的初始容量
MAXSIZE = 100, //由于系统默认容量的单位只有MB,因此可以不写单位MB,这里就表示100MB
FILEGROWTH = 1 //文件的溢出增量,即如果向数据库增加数据时超过了初始设定的容量时的增长规则
//FILEGROWTH = 1MB //可以看到这三种方式都对,前两种是等价的,都表示以1MB的大小自增
//FILEGROWTH = 10% //这种方式就是按照原文件大小的百分比进行自增
//对于最后一个文件属性,可以不加逗号
),//不同文件之间用逗号隔开
//再定义一个次数据文件,如果将PRIMARY关键字加到这里就代表这个文件时主数据文件而前一个不是,总之PRIMARY关键字只能用一次
(
NAME = 逻辑文件名,
FILENAME = '完整的文件路径(即绝对路径)\逻辑文件名_DATA1.ndf',//后缀是.ndf了
SIZE = 10MB,
MAXSIZE = 100,
FILEGROWTH = 10%
),
//再定义一个次数据文件
(
NAME = 逻辑文件名,
FILENAME = '完整的文件路径(即绝对路径)\逻辑文件名_DATA2.ndf',
SIZE = 10MB,
MAXSIZE = 100,
FILEGROWTH = 10%
),//各组之间也是用逗号隔开
FILEGROUP 文件组组名 //定义一个文件组,关键字是FILEGROUP,之后所有括号所定义的文件都属于该文件组,直到遇到下一个FILEGROUP定义新文件组或者LOG ON定义日志文件
//之前的文件都属于主文件组PRIMARY
//由于FILEGROUP关键字是有作用域的(从当前位置开始到下一个FILEGROUP处或者LOG ON处,因此主文件组必须放在最开头定义,定义主文件组不需要写FILEGROUP关键字
//定义一个该组的文件
(
NAME = 逻辑文件名_组名,
FILENAME = '完整的文件路径(即绝对路径)\逻辑文件名_组名_DATA1.ndf',//只能有一个.mdf,其余都是.ndf
SIZE = 10MB,
MAXSIZE = 100,
FILEGROWTH = 10%
),
//在定义一个改组的文件
(
NAME = 逻辑文件名_组名,
FILENAME = '完整的文件路径(即绝对路径)\逻辑文件名_组名_DATA2.ndf',
SIZE = 10MB,
MAXSIZE = 100,
FILEGROWTH = 10%
),
FILEGROUP 文件组名 //再定义一个文件组,如法炮制
(....),
(....),
LOG //开始定义日志文件了,由于日志文件没有文件组的概念,所以不属于前面任何一个文件组
ON //表示将日志定义在哪几个文件上
//定义一个日志文件
(
NAME = 逻辑文件名,
FILENAME = '完整的文件路径(即绝对路径)\逻辑文件名_LOG1.ldf',//注意是以.ldf为后缀了
SIZE = 10MB,
MAXSIZE = 100,
FILEGROWTH = 10%
),
//再定义一个,可以定义多个
(
NAME = 逻辑文件名,
FILENAME = '完整的文件路径(即绝对路径)\逻辑文件名_LOG2.ldf',
SIZE = 10MB,
MAXSIZE = 100,
FILEGROWTH = 10%
)//至此全部文件都定义完了,可以不加逗号了
3. 指定文件组的规则:
a. 文件组用于分配和管理数据库文件,可以优化数据存储并提高I/O读写效率;
b. 四大规则注意:
(1)只有数据文件有文件组,日志文件没有文件组;
(2)主数据文件只能放在PRIMARY主文件中,你想通过语法改也改不了,因为语法本身就已经限制了你将主文件放在其它文件组中了;
(3)一个文件只能存放在一个文件组中而不能同时存放在多个文件组中;
(4)与系统相关的数据信息一定要存放在PRIMARY主文件组中;