数据库的创建
先从简单的创建方式讲起,以界面方式创建数据库
基于 SQL Server Managment Studio 使用默认设置连接数据库
(1)打开该软件进入找到对象资源管理器,鼠标右键点数据库新建
这种用界面创建数据简单快捷
重点是以命令创建数据库
1.创建数据库命令
指令:CREAT DATABASE
语法规则:
CREATE DATABASE 数据库名
[ ON
[PRIMARY]
[<数据文件选项>···]
[<数据文件选项>···]
[LOG ON {<日志文件选项>···}]
[COLLATE 排序名]
·· · · ·
]
(1)文件选项
其中,<文件选项> = {
(
NAME = 逻辑文件名,
FILENAME = {'操作系统文件名'|'存储路径'}
[,SIZE = 文件初始容量]
[,MAXSIZE ={文件最大容量|UNLIMITED}]
[,FILEGROWTH = 文件增量[容量| %]]
)
}
(2)文件组选项
<文件组选项> =
{
FILEGROUP 文件组名 [DEFAULT]
<文件选项> ·· · ·
}
注意 : 在SQL数据库语言中是不区分大小写的
实例应用:
CREATE DATABASE test1 /* 一般普通数据库文件创建*/
ON(
NAME = "test1",
FILENAME = "D:\SQLData\test1.mdf",
SIZE = 5MB,
MAXSIZE = 50MB,
FILEGROWTH = 10%
)
LOG ON(
NAME = "test1_log",
FILENAME = "D:\SQLData\test1_log.ldf",
SIZE = 2MB,
MAXSIZE = 5MB,
FILEGROWTH = 1MB
);
创建数据库文件一般有两个文件,一个是数据库文件,另一个是日志文件。还有用户自定义的文件组。
例题实练:
创建一个文件名为 test2 的数据库 ,它有两个数据问文件,其中主数据文件为20MB ,最大不限,按照10%增长;1个日志文件,为50MB 最大为100MB 按照 10MB增长。
CREATE DATABASE test2
ON
PRIMARY ( /*主数据库文件创建 */
NAME = "test2.data1",
FILENAME = "D:\SQLData\test2.mdf",
SIZE = 20MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 10%
),
(
NAME = "test2.data2",
FILENAME = "D:\SQLData\test2.ndl",
SIZE = 20MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 10%
)
LOG ON
(
NAME = "test2_log",
FILENAME = "D:\SQLData\test2.ldf",
SIZE = 50MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 10%
);
数据库创建注意事项,
- 注意“,”
- 不区分大小写
- 关键字
总之反复练习:
创建一个具有两个文件组的数据库 test3
CREATE DATABASE test3
ON
PRIMARY
(
NAME = 'test3_data1',
FILENAME = "E:\SQLDataTest\DataProgram\test3_data1.mdf",
SIZE = 20MB,
MAXSIZE = 60MB,
FILEGROWTH =10%
),
FILEGROUP test3Group1
(
NAME = 'test3_data2',
FILENAME = "E:\SQLDataTest\DataProgram\test3Group1.ndf",
SIZE = 10MB,
MAXSIZE = 30MB,
FILEGROWTH = 10%
);
以上是数据库文件的创建,可能有些小伙伴对数据文件的创建有一些疑问。以下简单的介绍一下
三种类型数据库文件
1.第一种 “ndf”文件
为SQL sever 主数据库文件,每个数据库只有一个主数据库文件,虽然说是数据库但实际上还是由文件组成。
2.第二种“ndf”文件
为SQL sever的辅助数据库文件,其中有着除主数据库文件以外数据,可以有有很多个辅数据库文件,这些辅助数据库文件之间可以有数据库关系。
3.第三种“ldf”文件
日志文件中存放着数据库文件的所有日志信息,其中包括对数据文件的更改。
关键字 :
PRIMARY : 主文件组创建关键字。
用于创建存放主数据库文件和没有被明确标记的文件
FILEGROUP:用户自定义文件组
用于定义存放文件组,存放辅助数据文件。
文件组的性质
- 文件的唯一性,一个数据库文件只能属于一个数据库文件
- 日志文件不属于文件组,从创建数据库SQL代码指令可以看出来;也可说,只有=数据库文件才能属于一个文件组
- 数据库文件都有一个默认的文件组
- 如果用户没有定义文件组,其数据库文件都属于默认文件组