携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天
数据库的定义
有组织的数据的集合,就是数据库对象(表、视图、索引、存储过程、用户等)的容器。
数据库的分类
系统数据库和用户数据库
系统数据库
是SQL Server数据库管理系统自动创建和维护的,这些数据库用于维护系统正常运行的信息。系统会自动安装四个用于维护系统正常运行的系统数据库。它们分别是:master、msdb、model和tempdb。(3个M一个T)
用户数据库
用户数据库保存的是与用户的业务有关的数据。我们通常所说的创建数据库指的都是创建用户数据库,对数据库的维护管理也是指的是对用户数据库的维护。
数据库的组成
1、数据库:是由数据文件和事务日志文件组成的。一个数据库至少应包含一个数据文件和一个事务日志文件。文件都有两个名称:操作系统管理的物理文件名和数据库管理系统管理的逻辑文件名。
2、数据文件:
①主要数据文件(primary file):1个。用来存储数据库的数据和数据库的启动信息。每个数据库都必须有而且只能有一个主要数据文件,其扩展名为“.mdf”。SQL Server 2008要求主数据文件的大小不能小于3MB。
②次要数据文件(secondary file):0或多个。用来存储主要数据文件没有存储的其他数据,一个数据库可以没有次数据文件,也可以有多个次数据文件,而且这些次数据文件可以建立在一个磁盘上,也可以分别建立在不同的磁盘上。次要数据文件的扩展名为“.ndf”。
3、事务日志文件
事务日志文件(transaction log):1或多个。用来记录对数据库的操作信息的,它把对数据库的所有操作事件均记载下来。在数据库有问题的时候可以去看日志文件来分析出错的原因,当数据库被破坏时也可以利用事务日志文件恢复数据库的数据。日志文件的扩展名为“.ldf”。日志文件不能小于1MB。 数据库文件组
为了便于管理和提高系统性能,将多个文件组织成一个逻辑集合,称为文件组。每个文件组有一个组名。不同的文件组可以分配到不同的磁盘上,以提高读写的性能。在数据库中文件组的概念就好比操作系统中的文件夹。在SQL Server 2008中有三种类型的文件组:主文件组(primary)、自定义文件组(user_defined)和默认文件组。
1、主文件组:包含主要数据文件和任何没有明确指派给其他文件组的其他文件。主文件组:primary。
2、用户定义的文件组:用户可以创建自己的文件组,以将相关数据文件组织起来,便于管理和数据分配。
3、默认文件组:每个数据库都有一个文件组作为默认文件组在运行。任何时候只能有一个文件组被指定为默认文件组。默认情况下,主文件组被当做默认文件组。
SQL Server的数据库文件和文件组必须遵循的规则:
①一个文件和文件组只能被一个数据库使用,不能用于多个数据库。
②一个文件只能存在于一个文件组中。
③数据文件和日志文件不能共存于同一文件或文件组上。
④日志文件不属于任何文件组。
创建数据库
1、鼠标步骤
①右击“数据库”节点,选择“新建数据库”。
②在“新建数据库”窗口进行名称、路径等设置。
2、SQL语句(新建查询)
CREATE DATABASE 数据库名
[ON [PRIMARY]
{
[NAME=logical_file_name,
FILENAME='os_file_name'
[,SIZE=size]
[,MAXSIZE={max_size|UNLIMITED}]
[,FILEGROWTH=grow_increment])
}
[,…n]
LOG ON
{
(NAME=logical_file_name,
FILENAME='os_file_name'
[,SIZE=size]
[,MAXSIZE={max_size|UNLIMITED}]
[,FILEGROWTH=grow_increment])
}
[,…n]
COLLATE collation_name 解释说明:
①方括号“[]”表示该项可省略,省略时各参数取默认值。
②大括号{}为必选语法项。
③[,…n]指示前面的项可以重复n次。各项之间用逗号分隔。
④|(竖线)分隔括号或大括号中的语法项。只能使用其中一项。
⑤“{}[,…n]”表示大括号括起来的内容可以重复写多次。
⑥SQL语句在书写时不区分大小写,为了清晰,一般都用大写表示系统保留字,用小写表示用户自定义的名称。
⑦一条语句可以写在多行上,但不能多条语句写在一行上。
查看数据库信息
1、鼠标步骤
展开“数据库”节点,右击指定数据库,单击“属性”。
2、SQL语句
USE 数据库名
GO
Exec sp_helpfile
打开数据库
1、鼠标步骤
展开“数据库”节点,单击要打开的数据库。
2、SQL语句(数据库下拉列表也可以切换)
USE 数据库名
修改数据库
(一)增加数据库容量
1、鼠标步骤
①展开“数据库”节点,右击指定数据库,单击“属性”。
②选择左侧“文件”页。
2、SQL语句
ALTER DATABASE 数据库名
MODIFY FILE
(
NAME= logical_file_name --要修改的数据库文件的逻辑文件名
[,SIZE=newsize[KB|MB|GB|TB]] --指定数据库文件的初始容量大小
[,MAXSIZE={max_size[KB|MB|GB|TB]|UNLIMITED}] --指定数据库文件的最大文件限制
[,FILEGROWTH=growth_increment[KB|MB|GB|TB|%]] --设置数据库文件的自动增长量
)