第3章 数 据 库 管 理 课件(共57张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源下载
  1. 二一教育资源

第3章 数 据 库 管 理 课件(共57张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源简介

(共57张PPT)
第3章 数 据 库 管 理
本章目标:
了解系统数据库及其作用
掌握数据库文件的分类
掌握创建数据库的方法
掌握数据库的查看、修改和删除等操作
本章内容
3.1 SQL server 2008数据库概念
3.2 创建数据库
3.3 管理数据库
3.1 SQL server 2008数据库概念
SQL Server 2008中数据库分为系统数据库和用户数据库两种类型,它们都可用来存储数据,SQL Server 2008的系统数据库是用来管理系统数据的。
3.1.1 系统数据库
安装SQL Server 2008时系统会自动创建五个系统数据库,分别是master、model、msdb、tempdb及resource。
1.master数据库
master数据库是SQL Server 2008最重要的数据库,它存储了SQL Server 2008系统的所有系统级别信息。这些系统级别信息包括所有的登录信息、系统设置信息、SQL server的初始化信息和其他系统数据库及用户数据库的相关信息,这些信息都记录在master数据库的各个表中。
master数据库对SQL server系统极为重要,它一旦受到破坏,例如被用户无意删除 了数据库中的某个表,就有可能导致SQL Server系统彻底瘫痪,SQL Server将无法启动,因此用户轻易不要直接访问master数据库,更不要修改master数据库,也不要把用户数据库对象创建到master数据库中。
2.model数据库
model数据库是SQL Server 2008创建用户数据库的模板。model数据库是所有用户数据库和tempdb数据厍的模板数据库,它含有master数据库所有系统表的子集,每当创建一个用户数据库时,SQL server服务器都要把model数据库的内容自动复制到新的数据库中作为新数据库的基础,这样可以大大简化数据库及其对象的创建和设置。
3.msdb数据库
msdb数据库是代理服务器数据库,用于存储报警
、作业及操作信息。
4.tempdb数据库
empdb数据库为临时表和临时存储过程提供存储空间,所有与系统连接的用户的临时表和存储过程,以及SQL Server产生的其他临时性对象都存储于该数据库中。它属于全局资源,没有专门的权限限制。不管用户使用哪个数据库,他们所建立的所有临时表和存储过程都存储在tempdb临时数据库中。
5.resource数据库
resource数据库包含了SQL Server 2008中的所有系统对象,该数据库具有只读特性。
3.1.2 数据库文件分类
1.主要数据文件
主要数据文件(Primary Data File)包含数据库的启动信息,并指向数据库中的其他文件。主要数据文件的文件扩展名是.mdf。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库必定有一个且只能有一个主要数据文件。
2.次要数据文件
次要数据文件(Secondary Data File)是可选的,由用户定义并存储用户数据。次要数据文件的文件扩展名是.ndf。通过将每个次要数据文件放在不同的磁盘驱动器上,可将数据分散到多个磁盘上。如果数据库超过了单个Windows文件的最大大小,使用次要数据文件,数据库就能继续增长。
3.事务日志文件
事务日志文件(Transaction Log File)用于记录所有事务以及每个事务对数据库所做的修改。其文件扩展名为.ldf。当数据库损坏时,管理员可以使用事务日志文件恢复数据库。每一个数据库必须至少拥有一个事务日志文件,并允许拥有多个事务日志文件。
3.1.3 数据库文件组
数据库的文件组有两种类型:
主文件组(PRIMARY文件组)
用户定义文件组
主文件组是由系统定义的,里面包含主要数据文件和未放入其它文件组的所有次要数据文件。数据库的系统表都包含在主文件组中,每个数据库有一个主文件组。通常主文件组也是默认文件组,如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分配给默认文件组即主文件组中。
3.2 创建数据库
创建数据库的过程实际上是设计数据库的名称、设计数据库所占用的存储空间、设计存放文件的过程。因此创建数据库之前,必须先确定数据库的名称、数据库的所有者,文件的初始大小、数据的增长方式、存储数据库文件的路径和数据库的属性等。
下面介绍两种创建数据库的方法:
3.2.1 使用SQL Server Management Studio创建数据库
具体操作步骤如下:
(1)启动SQL Server Management Studio。
(2)在“对象资源管理器”中,右键单击“数据库”,在弹出的快捷菜单中,选择“新建数据库”选项,
【例3-1】为某高校创建一个名为“学生选课”的数据库。
(3)在打开的“新建数据库”窗口中,有三个选项,分别是“常规”、“选项”和“文件组”。选中“常规”选项,在“数据库名称”文本框中输入“学生选课”作为数据库名称(4)在“数据库文件”项中,选择自动设置的“逻辑名称”为“学生选课”,“文件类型”为“行数据”,“文件组”为“PRIMARY”,“初始化大小”为3MB,“自动增长”为1MB,修改路径为“D:\data”。
(5)选择自动设置的日志文件“逻辑名称”为“学生选课_log”,“文件类型”为“日志”,如图3.3所示更改学生选课_log的自动增长设置: “初始化大小”修改为2MB,自动增长修改为“文件的增长按10%”、“增长的最大限制为5MB”;路径修改为“D:\data”。
(6)添加数据项“学生选课1”,更改路径“D:\data”,其他使用默认设置。
(7)选中“选项”,修改“自动收缩”为“true”(自动收缩数据和日志文件),“自动关闭”为“true”(保证当用户结束连接所有数据库的进程时数据库自动关闭,资源再变为可用资源),其他使用默认选择。
(8)“文件组”选项中使用默认选项,只有一个“PRIMARY”文件组,不增添新的文件组。
(9)单击“确定”按钮,关闭“新建数据库”窗口,完成“学生选课”数据库的创建。
3.2.2 使用T-SQL语句创建数据库
语法格式如下:
CREATE DATABASE database_name
[ ON
[ PRIMARY ] [ [ ,...n ]
[ , [ ,...n ] ]
[ LOG ON { [ ,...n ] } ]
]
]
其中,
::=
{(NAME = logical_file_name ,
FILENAME = { 'os_file_name' }
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
) [ ,...n ]}
::=
{FILEGROUP filegroup_name [ DEFAULT ] [ ,...n ]}
database_name:数据库名称,在服务器中必须唯一,并且符合标识符命名规则,最长为128个字符。
ON:用于定义数据库的数据文件。
PRIMARY:用于指定其后所定义的文件为主要数据文件,如果省略的话,系统将把第一个定义的文件作为主要数据文件。
LOG ON:指明事务日志文件的明确定义。
NAME:指定SQL Server系统应用数据文件或事务日志文件时使用的逻辑文件名。
FILENAME:指定数据文件或事务日志文件的操作系统文件名称和路径,即数据库文件的物理文件名。
SIZE:指定数据文件或事务日志文件的初始容量,默认单位为MB。SQL Server 2008中,数据文件默认大小为3 MB,事务日志文件默认大小为1 MB。
MAXSIZE:指定数据文件或事务日志文件的最大容量,默认单位为MB。如果省略MAXSIZE,或指定为UNLIMITED,则文件的容量可以不断增加,直到整个磁盘满为止。
FILEGROWTH:指定数据文件或事务日志文件每次增加容量的大小,当指定数据为0时,表示文件不增长。
FILEGROUP:用于指定用户自定义的文件组。默认文件组为主文件组“PRIMARY”。
DEFAULT:指定文件组为默认文件组
【例3-2】创建“SELCourse”数据库。将该数据库的数据文件存储在D:\Data下,数据文件的逻辑名称为SELCourse,文件名为SELCourse.mdf,初始大小为10MB,最大容量不限制,每次增长为10%;该数据库的日志文件,逻辑名称为SELCourse_log,文件名为SELCourse_log.ldf,初始大小为3MB,最大容量为5MB,每次增长1MB。
代码如下 :
CREATE DATABASE SELCourse
ON
( NAME ='SELCourse',
FILENAME='D:\data\SELCourse.mdf',
SIZE=10MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 10%)
LOG ON
( NAME= 'SELCourse_log',
FILENAME='D:\data\ SELCourse_log.ldf',
SIZE=3MB,
MAXSIZE = 5MB,
FILEGROWTH = 1MB)
【例3-3】创建一个名为Student的数据库,指定数据库的数据文件位于D:\data,包含3个数据文件和1个自定义文件组FileDb。
代码如下 :
CREATE DATABASE Student
ON
( NAME = 'student1',
FILENAME = 'D:\data\ student1.MDF',
SIZE = 10,
MAXSIZE = 30,
FILEGROWTH = 5% ),
( NAME = 'student2',
FILENAME = 'D:\data\ student2.NDF',
SIZE = 10,
MAXSIZE = 30,
FILEGROWTH = 5% ),
FILEGROUP FileDb
( NAME= 'student3',
FILENAME = 'D:\data\ student3.NDF',
SIZE = 10,
MAXSIZE = 30,
FILEGROWTH = 5% )
3.3 管理数据库
数据库在使用过程中有些属性可能会发生变化,例如容量大小、数据库性能等,用户可以用自动和手工的方式对数据库进行增、删、改、数据库收缩、数据库属性的修改等有效的管理。
3.3.1 选择数据库
打开或切换数据库的命令格式:
USE database_name
【例3-4】打开数据库“学生选课”
USE 学生选课
3.3.2 查看数据库
1.SQL Server Management Studio查看数据库信息
如查看数据库“学生选课”的属性,可以右击该数据库名,在弹出的菜单中选择“属性”命令,这是弹出“数据库属性—学生选课”对话框,在选择页中“常规”选项卡里,可看到数据库的基本信息;在“文件”选项卡里,可看到数据库的文件信息,如图3.4所示;在其他选项卡里,可以查看数据库的其他信息。
2.使用sp_helpdb查看数据库信息
基本语法格式
sp_helpdb [数据库名]
【例3-4】查看当前服务器上数据库“学生选课”数据库的信息。
sp_helpdb 学生选课
3.3.3 修改数据库
1.在 SQL Server Management Studio中修改数据库
步骤如下:
(1)启动SQL Server Management Studio,展开数据库结点。
(2)右键单击“学生选课”,选择“属性”如图
例【 3-6】在SQL Server Management Studio中完成对“学生选课”数据库修改
2.用 ALTER BATABASE 语句修改数据库
语法格式如下
ALTER DATABASE database_name
{ 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 FILEGROUP filegroup_name
{
| DEFAULT
| NAME = new_filegroup_name
}
【例3-7】“学生选课”数据库经过一段时间的使用后,随着数据量的不断增大,将引起数据库空间不足。现增加一个数据文件存储在“D:\DATA”路径下,数据文件的逻辑名为“学生选课2”,初始大小为20MB,增量为10MB
代码:
ALTER DATABASE 学生选课
ADD FILE
(NAME ='学生选课2',
FILENAME = 'D:\DATA\学生选课2.NDF',
SIZE=20MB,
MAXSIZE=1GB,
FILEGROWTH=10MB )
【例3-8】将数据库“学生选课”重命名为“XSXK”。
代码:
ALTER DATABASE 学生选课
MODIFY NAME=XSXK
3.3.4 收缩数据库
(1)在SQL Server Management Studio中修改
在SQL Server Management Studio的“对象资源管理器”窗口选择数据库“学生选课”,右击,依次选择“任务”→“收缩”→“文件”命令,打开“收缩文件”对话框,如图3.5所示。在“收缩文件”对话框中,确定“文件类型”、“文件组”、“文件名”、“位置”。完成按钮。就把数据库“学生选课”设置为自动收缩数据库了。
(2)在ALTER DATABASE语句中,设置AUTO_SHRINK收缩数据库
语法格式如下:
ALTER DATABASE database_name SET AUTO_SHRINK ON
(3)使用 DBCC SHRINKDATABASE语句实现用户数据库收缩
DBCC SHRINKDATABASE语法格式如下:
DBCC SHRINKDATABASE(database_name,target_percent)
【例3-10】收缩数据库“学生选课”大小,使得数据库中的文件有20%可用空间。
DBCC SHRINKDATABASE (学生选课,20)
【例3-10】收缩数据库“学生选课”大小,使得数据库中的文件有20%可用空间。
DBCC SHRINKDATABASE (学生选课,20)
(4)使用 DBCC SHRINKFILE语句可以实现收缩指定数据文件
DBCC SHRINKFILE语法格式如下:
DBCC SHRINKFILE(file_name,target_size)
【例3-11】将数据库“学生选课”中名为“学生选课2”数据文件收缩到17MB。
DBCC SHRINKFILE(学生选课2,17)
【例3-11】将数据库“学生选课”中名为“学生选课2”数据文件收缩到17MB。
DBCC SHRINKFILE(学生选课2,17)
3.3.5 删除数据库
删除数据库的语法格式如下
DROP DATABASE database_name
其中database_name是要删除的数据库名。
例如要删除数据库“TEST”,可用的命令:
DROP DTATBASE TEST
3.3.6分离与附加数据库
1.利用SQL Server Management Studio分离与附加用户数据库
在SQL Server Management Studio的“对象资源管理器”窗口中选择要分离的数据库,右击选择“任务”→“分离”命令,如图,打开“分离数据库”对话框在“分离数据库”对话框中,“要分离的数据库”列表框中的“数据库名称”栏中显示了所选数据库的名称。如果有用户和该数据库连接,可以选中“删除连接”选项。
设置完毕后,单击“确定”按钮。
(2)附加用户数据库
在SQL Server Management Studio的“对象资源管理器”窗口中选择数据库实例下的“数据库”项,右击选择“附加”命令,打开“附加数据库”对话框。
在“附加数据库”对话框中,单击“添加”按钮,打开“定位数据库文件”对话框。
在“定位数据库文件”对话框中,选择数据库文件所在的磁盘驱动器并展开目录树定位到数据库的.mdf文件。选中该文件,单击“确定”按钮。附加数据库成功完成后,就可以在SQL Server Management Studio的控制台目录窗口中,展开“数据库”,用户就可以看到新附加的数据库了
2.利用系统存储过程分离与附加用户数据库
语句格式:
sp_detach_db
[@dbname= ] ‘database_name’
[ ,[@skipchecks = ] ‘skipchecks’]
[ ,[@keepfulltextindexfile = ] ‘KeepFulltextindexFile’
【例3-12】分离用户数据库SELCourse 。
EXEC sp_detach_db @dbname = ‘SELCourse’
GO
(2)使用系统存储过程sp_attach_db来执行附加用户数据库的操作。
语句格式:
sp_attach_db
[@dbname =] ’dbname’,
[@filename1=]’filename_n’[,…,16]
本章小结
数据库是SQL Server 2008的核心。数据库的概念,SQL Server 2008中的系统数据库及其作用,
SQL Server 2008中文件与文件组,数据空间的分配。规划数据库应该考虑的问题是:数据库名称、数据库所有者,数据文件和事务日志文件的逻辑名、物理名、初始大小、增长方式和最大容量。
使用SQL Server Management Studio和T-SQL创建数据库,在创建过程中各选项的配置。
数据库是SQL Server 2008的核心。数据库的概念,SQL Server 2008中的系统数据库及其作用,
SQL Server 2008中文件与文件组,数据空间的分配。规划数据库应该考虑的问题是:数据库名称、数据库所有者,数据文件和事务日志文件的逻辑名、物理名、初始大小、增长方式和最大容量。
使用SQL Server Management Studio和T-SQL创建数据库,在创建过程中各选项的配置。

展开更多......

收起↑

资源预览