数据库基础第二章:数据库管理

一、启动SQL Server服务的多种方式

1、从服务中启动

2、从配置管理器启动

 3、从服务管理中启动

二、创建数据库

2.1、 管理平台介绍

SQL Server 2008 的管理平台将是我们整本书的学习平台,因此我们首先了解一下这个平台。
在 SQL Server 2008 管理平台中,我们几乎所有的操作都有两种操作方式,分别是: 图形界面操
作和代码操作。但我们最重要的是要能掌握并熟悉代码的操作,尤其是常用操作命令。而本阶段为了
让大家更加容易上手,本书重点介绍图形界面操作。
图形界面 操作
在成功连接到服务器后,我们将打开 SQL Server 2008 的主窗体,如图所示。

在窗体的顶部是菜单栏和工具栏,左侧通过一个树形结构列出了当前服务器上我们所能够操作的
所有对象。在窗体的右侧是一个属性窗体,列出了当前选中项的常用属性。窗体的中央,占据最大位
置的是工作区。图形界面操作非常简单易用,所见即所得,在操作中需要记住以下两个重要原则:
1、先选择,后操作
2、右键原则

 操作步骤如下所示:

 登录到 SQL Server 2008 的主窗体,如图 2-10 所示;
 点击“新建查询”按钮,创建查询分析器(代码编辑区);
 选择要操作数据库;
 在代码中,输入 T-SQL 代码;
 选择 T-SQL 代码,点击“执行”按钮,执行 T-SQL 代码,完成数据库的相关操作。

2.2、创建数据库

数据库是整个数据库应用的基础,因此我们从认识数据库开始。在 SQL Server 2008 中,数据库
分为系统数据库和用户数据库两种。系统数据库类似于操作系统的系统文件,主要用来管理和保证数
据库系统的正常运作。一般情况下,我们不建议直接操作系统数据库,因为不当的操作有可能会导致
整个 SQL Server 2008 瘫痪。在图 2-10 中对常用的系统数据库及其功能做了一个简单的介绍。

用户数据库是根据用户需求创建的数据库,它是我们操作和应用的主体,也是我们学习的重点。
在对象资源管理器中,右键单击“数据库”,然后单击“新建数据库”,如图 2-13 所示。

在打开的“新建数据库”窗体中,“数据库名称(N)”处输入数据库的名称,“所有者(O)”
用于指定数据库的拥有者,一般采用“<默认值>”,如图 2-14 所示。

在 SQL Server 2008 中一个数据库至少由两个文件组成:一个主数据库文件 (后缀名为 .mdf )
一个日志文件 (后缀名为 .ldf )。主数据库文件包含数据和对象,例如表、索引、存储过程和视图。
日志文件包含恢复数据库中的所有事务所需的信息。另外,可以根据实际需要添加

后缀名为. ndf ),该文件的作用是由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱
动器上,次要文件可用于将数据分散到多个磁盘上。另外,如果数据库超过了单个 Windows 文件的最
大大小,可以使用次要数据文件,这样数据库就能继续增长。

因此在“数据库文件(F)”部分我们可以看到列表中系统自动添加的两个文件。如果有需要,可
以点击“添加(A)”按钮,这样就可以在列表中添加一个新的行,通过对各个字段的设置可以添加一
个新的次要数据库文件。列表中其他各字段的作用分别是:

 逻辑名称:用来设定数据库文件在服务器上的逻辑名称,一般来说文件的物理名称和逻辑名
称是相同的,但是可以根据需要在这里给不同的名称。

 文件类型:用于查看文件的类型,从列表中选择文件类型。文件类型可以为行数据、日志或
Filestream 数据,但是我们无法修改现有文件的文件类型。如果未启用 FILESTREAM,则不会出现
FILESTREAM 选项。可以通过服务器属性“高级”页对话框启用 FILESTREAM。

 文件组:每个数据库有一个主要文件组。此文件组包含主要数据文件和未放入其他文件组的
所有次要文件。可以创建用户定义的文件组,用于将数据文件集合起来,以便于管理、数据分配
和放置。例如,可以分别在三个磁盘驱动器上创建三个文件 Data1.ndf、Data2.ndf 和
Data3.ndf,然后将它们分配给文件组 fgroup1。然后,可以明确地在文件组 fgroup1 上创建一个
表。对表中数据的查询将分散到三个磁盘上,从而提高了性能。通过使用在独立磁盘冗余阵列
(Redundant Arrays of Inexpensive Disks,RAID)条带集上创建的单个文件也能获得同样的性
能提高。但是,文件和文件组使我们能够轻松地在新磁盘上添加新文件。我们可以从列表中为文
件选择文件组。默认情况下,文件组为 PRIMARY。通过选择“<新文件组>”,然后在“新建文件
组”对话框中输入有关文件组的信息,可以创建新的文件组。您也可以在“文件组”页上创建新
的文件组。但是我们无法修改现有文件的文件组。

 初始大小:输入或修改文件的初始大小(MB)。默认情况下,这是 model 数据库中设定的值。
此字段对于 FILESTREAM 文件无效。

 自动增长:选择或显示文件的自动增长属性。这些属性控制在达到文件的最大文件大小时文
件的扩展方式。若要编辑自动增长值,请单击所需文件的自动增长属性旁的编辑按钮,然后更改
“更改自动增长设置”对话框中的值。默认情况下,它们是 model 数据库中设定的值。此字段对
于 FILESTREAM 文件无效。

 路径:显示所选文件的路径。若要指定新文件的路径,请单击文件路径旁的编辑按钮,再导
航到目标文件夹。我们无法修改现有文件的路径。对于 FILESTREAM 文件,该路径是一个文件夹。
SQL Server 数据库引擎将在此文件夹中创建基础文件。

文件名:显示文件的名称。此字段对于 FILESTREAM 文件无效。

一般情况下,这个列表中唯一需要我们修改的就是文件的路径。列表中的其他各项直接采用系统
默认值就可以了,最后点击“确定”按钮后就可以完成数据库的创建工作。

小贴士:默认情况下创建的数据库文件存放在 SQL Server 2008 的安装路径下。

课堂作业:请创建一个名为 BookSystem 的数据库。

创建指定路径的数据库文件:

create database a4
on
(
    name='a4',
    filename='d:\a4.mdf'
)

三、管理数据库

一个数据库一旦建立起来,大部分属性我们都不建议进行修改,因此数据库的管理工作基本上都
是集中在对数据库文件的管理上,我们在这里也只讨论这部分的工作。和创建数据库一样,管理数据
库也是分为图形界面操作和代码操作两种方式。

3.1. 管理数据库

在对象资源管理器中找到我们新创建的 FilmManage 数据库,右键单击,在弹出的菜单中选择“属
性(R)”后就可以打开该数据的属性窗体,如图 2-15 所示。

在打开的属性页窗体的左侧的“选择页”中,我们可以看到九个数据库属性设置选项,这九个设
置选项作用分别是:
 常规:可以查看或修改所选数据库的属性
 文件:添加、查看、修改或移除相关联数据库的数据库文件
 文件组:可以查看文件组,或为所选数据库添加新的文件组
 选项:可以为每个数据库都设置若干个决定数据库特征的数据库级选项
 更改跟踪:可查看或修改所选数据库的更改跟踪设置
 权限:可以查看或设置安全对象的权限
 扩展属性:可以向数据库对象添加自定义属性
 镜像:配置并修改数据库的数据库镜像的属性。还可以使用该页来启动配置数据库镜像安全
向导,以查看镜像会话的状态,并可以暂停或删除数据库镜像会话
 事务日志传送:可以配置和修改数据库的日志传送属性
这里并不打算详细的介绍所有的属性设置选择,因为过于复杂而且没有什么必要,因此这里我们
重点介绍数据库属性配置,如图 2-16 所示。

在“数据库文件(F)”列表中我们可以看到刚才我们创建的三个数据库文件,并且通过列表我们
也可以方便的看到这几个文件的相关属性,但是很不幸,尽管是我们创建的数据库文件,我们所能够
修改的属性只有两个:初始大小和自动增长,而其他的属性我们只能够查看。

点击列表下方的“添加(A)”按钮,就可以在列表中添加一个新的数据库文件,在逻辑名称处可
以输入新文件的逻辑名称。文件类型可以是行数据或者日志,如果选择行数据,则新文件为次要数据
库文件,否则就是日志文件。文件组可以是默认的,也可以新建,这里建议将同一个数据库文件放置
到一个文件组中。路径可以输入,也可以选择,建议将几个文件设定为同一个路径下,最后输入文件
的物理名称

3.2、分离和附加数据库

在实际开发过程中,会碰到需要移动数据库的情况,这时候我们可以借助于 SQL Server 2008 所
提供的分离和附加功能。该功能的作用是将用户数据库从服务器管理中脱离出来,同时能保持数据文
件和日志文件的完整性和一致性,这样分离出来的数据库可以附加到其他服务器上构成完整的数据
库。就好像一个人从现有公司辞职后到另外一家新公司从新工作一样。分离和附加数据库的方式依然
是图形界面和代码两种。

在 SQL Server 2008 中 分离数据库的步骤如下。

 在对象资源管理器中找到需要分离的数据库 FilmManage,然后右键单击,在弹出的菜单中依
次选择“任务(T)”->“分离(D)…”菜单项,如图 2-17 所示。

 在打开的“分离数据库”窗体的右侧中,我们可以看到一个以列表形式呈现出来的要分离的
数据库的信息,包括数据库的名称,是否删除与该数据的连接,更新统计信息,状态以及操作过程中
所产生的各种消息等,如图 2-18 所示。这里需要注意,分离数据库时,需要将该数据的所有连接都删
除后方可以进行。

 单击“确定”按钮,完成对 FilmManage 数据库的分离操作,此时 FilmManage 数据库将不再
属于当前的数据库服务管理器,在对象资源管理器中也看不到 FilmManage 数据库了。

 将分离的数据库文件复制到目标位之后,通过附加操作就可以完成数据库的移动。
在 SQL Server 2008 中 附加用户数据库的步骤如下。

 在对象资源管理器中选中“数据库”节点,右键单击后在打开的菜单中选择“附加(A)…”
菜单命令,如图 2-19 所示。

 在打开的“附加数据库”窗口的右侧,我们可以看到有上下两个列表,在上面的“要附加的
数据库(D)”列表中将会列出我们要附加到当前数据库服务器的数据库,如图 2-20 所示。

点击列表下方的“添加(A)…”按钮就可以打开定位数据库文件对话框,通过这个对话框,
我们可以在计算机中寻找要附加的数据库的主数据库文件的位置和名称,如图 2-21 所示。

 点击“确定”按钮后回到附加数据库窗体,这时我们可以看到,在“要附加的数据库(D)”
列表中可以看到我们刚才选择的数据库,这个列表中只有“附加为”和“所有者”这两项可以修改。
“附加为”用于指定数据库附加完成后在新的服务器上的名称,默认和分离时相同的名称,但是可以
根据需要修改。“所有者”是数据库附加完成后新的数据库的所有者,默认是 sa。下面的“数据库详
细信息(T)”列表前已经加上了我们附加的数据库的名称,在这个列表中我们可以看到要附加的数据
库的所有库文件的名称和位置等信息,这些文件中的日志文件可以根据需要删除,如果删除了在附加
的时候系统会自动创建新的日志文件,但是这样做会将原来的日志信息全部丢失,因此不建议这样
做,如图 2-22 所示。

 所有信息都确认无误后,点击“确定”按钮,开始附加数据库。成功完成对数据库的附加操
作后,我们的 FilmManage 数据库就归属于当前的 SQL Server 2008 服务器管理,这时在“对象资源管
理器”中就可以查看到我们附加上的 FilmManage 数据库。

3.3. 删除数据库

如果用户数据库确实不再需要了,就应当从服务器中删除,释放其所占有的资源,这个操作依然
还是有图形操作和代码操作两种方式。

在图形界面下删除数据库的步骤如下。

 在对象资源管理器中找到需要删除的数据库,例如我们要删除 FilmManage 数据库,则在该数
据库上右键单击后在弹出的菜单中选择“删除(D)”菜单项,如图 2-23 所示。

 在“删除对象”窗体的右侧有一个“要删除的对象(D)”列表,我们可以看到现在列表中已
经有了我们的 FilmManage 数据库的信息,包括数据库名称、对象类型、所有者等信息。在列表的下方
有两个复选框,默认情况下“删除数据看备份和还原历史记录信息(D)”复选框处于选中状态,标识
同时删除数据库的备份等内容。“关闭所有连接(C)”复选框则处于位选中状态,一般情况下,当我
们删除某个数据库的时候都会确认它处于未使用状态,否则就要勾选该复选框,如图 2-24 所示。

 确认无误后,点击“确定”按钮完成数据库的删除操作,这时数据所对应的数据文件和日志
文件也同时删除了。回到对象资源管理器中我们会发现 FilmManage 数据库已经不再存在了。

 

 

三、作业

3.1、背单词

  1、create 创建

  2、SQL 结构化查询语言

  3、Server 服务器

  4、drop 删除

  5、file 文件

3.2、操作题

  1、在d:\data目录下创建一个数据库db7

  2、分离数据库

  3、将数据库移动到e:\data目录下

  4、附加数据库

  5、删除db7数据库

  (1)、使用手动GUI(图形界面)完成(非命令模式)

  (2)、先使用命令一次性完成1-4,查看效果后,再用命令完成5

默写单词:

1、create
2、SQL
3、Server
4、drop
5、file
6、data
7、base
8、database
9、system
10、DBMS
11、DBS
12、SQL Server
13、key
14、row
15、column
16、primary
17、foreign
18、table

 

  --1、在d:\data目录下创建一个数据库db7
create database db7
on
(
name='db7',
filename='D:\data\db7.mdf'
)
  --2、分离数据库
exec sp_detach_db @dbname='db7'
  --3、将数据库移动到e:\data目录下
  --4、附加数据库
exec sp_attach_db db7,'E:\data\db7.mdf','E:\data\db7_log.ldf'
  --5、删除db7数据库
drop database db7 
  --(1)、使用手动GUI(图形界面)完成(非命令模式)
  --(2)、先使用命令一次性完成1-4,查看效果后,再用命令完成5

 

posted @ 2021-03-04 08:35  张果  阅读(917)  评论(0编辑  收藏  举报
AmazingCounters.com