第三章-- SQL Server数据库的基本知识和概念
3.1 SQL Server数据库的基本
3.2 创建数据库
3.3 管理数据库
3.4 应用举例知识和概念第三章目录
3.1.1 SQL Server的数据库选课管理数据库学生管理日志文件数据文件数据,表,存储过程,触发器
,视图,规则,默认值,用户定义数据类型,索引,权限,
数据库用户,数据库规则等对象图 3.1 数据库、数据库对象及文件
3.1 SQL Server数据库的基本知识和概念第三章
3.1.2 SQL Server 的事务日志事务是一组 T-SQL语句的集合,这组语句作为单个的工作与恢复的单元 。 事务作为一个整体来执行,对于其数据的修改,要么全都执行,要么全都不执行 。 例如,您带两个存折去银行转存,将 A存折的 2000元钱转入 B存折中,银行工作人员将从 A存折中取出 2000元钱,然后将这 2000元存入 B存折中 。 这两个操作应该作为一个事务来处理,存与取的操作要么都做,要么都不做 。
否则,就会出现客户不愿意接受的已取但未存的结果或者银行不愿意接受的未取但已存的结果 。
第三章事务日志是数据库中已发生的所有修改和执行每次修改的事务的一连串记录。为了维护数据的一致性,并且便于进行数据库恢复,SQL Server将各种类型的事务记录在事务日志中。 SQL
Server自动使用预写类型的事务日志。
这就是说在执行一定的更改操作之后,
并且在这种更改写进数据库之前,SQL
Server先把相关的更改写进事务日志。
下面,我们以删除学生数据库中学生基本信息表的某条记录为例,介绍事务日志记录更改数据的流程。
3.1.3 SQL Server 数据库文件及文件组
1,SQL Server数据库文件的 3种类型
(1)主要数据文件 ( primary
file)
(2)次要数据文件 ( secondary
file)
( 3 ) 事 务 日 志 文 件 (
transaction log)
第三章
2,SQL Server的数据库文件组文件组是将多个数据库文件集合起来形成的一个整体。通过使用文件组可以简化数据库的维护工作。
·备份和恢复单独的文件或文件组,而并非数据库,可以提高效率。
·将可维护性要求相近的表和索引分配到相同的文件组中。
·为自己的文件组指定高维护性的表。
3.1.4 SQL Server 的系统数据库
master数据库
tempdb数据库
model数据库
msdb数据库
实例数据库,pubs和
northwind数据库第三章
3.1.5 标识符命名规则每个数据库对象都有一个标识符来唯一地标识,例如数据库名,表名,视图名,列名等 。 SQL Server标识符的命名需要遵守一定的规则:
(1)标识符包含的字符数必须在 1~ 128之间 。
(2)标识符的第一个字符可以是字母,下划线 _,符号 @或符号 #。
(3)标识符中不应存在空格 。
如果标识符是保留字或包含空格,则需要使用分隔标识符进行处理 。 分隔标识符包含在双引号 (,,) 或者方括号 ( [ ]) 内第三章
3.2 创建数据库
SQL Server 2000数据库是有组织的数据的集合,是存储过程,触发器,视图和规则等数据库对象的容器 。 在第 1章数据库技术基础中,我们设计了选课管理信息系统数据库,命名为 student,该数据库中有学生基本信息表,课程表,教师表,学生选课表,教师任课表,教学计划表等 。
本节我们以建立学生数据库为例,讲解用企业管理器图形界面与 T-SQL语言创建数据库的方法 。
第三章
3.2.1 用企业管理器创建数据库从,开始,菜单中运行企业管理器,
出现 MMC窗口 。 在控制台根目录窗口中展开,控制台根目录,树,选择 SQL Server 2000数据库服务器
,JKXBOOK1”中的,数据库,文件夹,选择,操作,下拉菜单中的
,新建数据库,,进入,数据库属性窗口,。
在,常规,标签,名称,编辑框中输入,STUDENT”,其他选项采用默认值 。。
第三章单击,数据文件,标签,对数据文件的默认属性进行修改,数据库的文件名为 STUDENT_Data,数据库的操作系统文件为
STUDENT_Data.MDF,初始大小为
1MB,文件组为 PRIMARY,文件属性为文件自动增长,可以通过设置,最大文件大小,,将文件增长限制为 20MB,以防止磁盘被数据文件写满。其他选用默认选项。
3.2.2 在查询分析器中创建数据库在查询分析器中使用 T-SQL语言中的 CREATE
DATABASE 语 句 创 建 数 据 库,CREATE
DATABASE的常用语法格式如下:
CREATE DATABASE datebase_name
[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
3.2.3 查看数据库信息 (图见教材 )
1,使用企业管理器查看数据库信息的步骤
(1)启动企业管理器,连接到数据库服务器 。
(2)在数据库对话框中,可以查看到数据库的基本信息 。
第三章
2,在查询分析器中查看数据库信息使用函数或系统存储过程 sp_helpdb来显示有关数据库参数信息 。 其语法格式为:
[EXECUTE] sp_helpdb database_name
使用 sp_helpdb系统存储过程查看 JSJX_DB数据库信息的步骤如下:
(1)用如前所述的方法启动查询分析器,连接到数据库服务器上,打开查询窗口,在窗口中输入代码,EXEC sp_helpdb ’JSJX_DB’
第三章
3.3 管理数据库
3.3.1 打开数据库在企业管理器中打开数据库,可以通过展开,控制台根目录,窗口中的,服务器组,—,服务器,—,数据库,文件夹,单击要打开的数据库,如图 3.13
所示。此时右边工作区中列出的是当前打开数据库的数据库对象,菜单命令项与当前数据库相关。
在,查询分析器,中,我们可以通过使用 USE语句打开并切换数据库,也可以直接通过数据库下拉 列表框 打开并切换,
第三章
3.3.2 修改数据库容量
1,增加数据库的容量
(1)使用企业管理器增加数据库容量 。
(2)使用 T-SQL语句,在查询分析器中增加数据库容量 。
ALTER DATABASE database_name
MODIFY FILE
(NAME=file_name,
SIZE=newsize
)
第三章
2,缩减数据库容量
(1)使用企业管理器缩减数据库容量。
在,控制台根目录,窗口中,如图
3.19所示,用鼠标右键单击要缩减容量的数据库(如,JSJX_DB”数据库)
,弹出快捷菜单,选择,所有任务,
级菜单中的,收缩数据库,命令项,
打开 JSJX_DB数据库的,收缩数据库,
窗口,如图 3.20所示,保持默认设置
,单击,确定,按钮,实现数据库收缩。
第三章注意:在缩减数据库之前,将要缩减的数据库设定为单用户模式,可以使用 sp_dboption语句实现
(2)使用查询分析器来缩减数据库容量缩减数据库容量的 T-SQL语句如下:
DBCC
SHRINKDATABASE(database_name[,new_si
ze[,’MASTEROVERRIDE’]])其中:
·database_name是要缩减的数据库名称
·new_size指明要缩减数据库容量至多少,
如果不指定,将缩到最小容量。
·MASTEROVERRIDE是指缩减 master数据库。
·使用权限默认为 dbo。
2,在查询分析器中使用 T-SQL语句查看和设定数据库的选项
(1)查看数据库选项可以使用系统存储过程,语句格式如下:
EXEC sp_dboption ’database_name’
其中:
·EXEC为执行命令语句 。
·sp_dboption为系统存储过程 。
·database_name为要查看的数据库名

第三章
(2)修改数据库选项可以使用存储过程,命令格式如下:
EXEC sp_dboption
[database_name,option_name,{TRUE|FAL
SE}]
·EXEC为系统命令语句。
·sp_dboption为系统存储过程。
·database_name为要查看的数据库名
·option_name为要更改的数据库选项。
·TRUE,FALSE为设定数据库选项的值。
3.3.3 设定修改数据库选项
1,用企业管理器设定和修改数据库选项在,控制台根目录,窗口中,如图 3.15所示,用鼠标右键单击要查看,修 改 选 项 的 数 据 库 ( 如
,JSJX_DB”数据库 ),弹出快捷菜单,选择,属性,命令,打开
JSJX_DB数据库的属性对话框,通过选择,选项,标签,如图 3.21所示,
在属性对话框中,查看或根据管理需要对数据库选项进行重新设定第三章
3.3.4 更改数据库名称有时候需要更改数据库的名称,更改数据库的名称可以通过在查询分析器中执行 T-
SQL命令来实现,格式如下:
EXEC sp_renamedb oldname,newname
其中:
·EXEC为执行命令语句 。
·sp_renamedb为系统存储过程 。
·oldname为更改前的数据库名 。
·newname为更改后的数据库名 。
·权限仅限于 sa。
第三章
3.3.5 数据库删除
1,在企业管理器中删除数据库
2,在查询分析器中删除数据库通过执行 T-SQL语句删除数据库,命令格式如下:
DROP DATABASE
database_name[,database_name… ] 其中

·DROP DATABASE是命令动词 。
·database_name是数据库名称 。
第三章也可以使用系统存储过程,命令格式如下:
EXEC sp_dbremove
database_name
其中:
·EXEC为执行命令语句。
·sp_dbremove为系统存储过程。
·database_name为数据库名称。
3.3.6 分离数据库在 SQL Sever运行时,在 Windows中不能直接复制 SQL Sever数据库文件,如果想复制 SQL Sever数据库文件,就要将数据库文件从 SQL Sever服务器中分离出去 。 下面介绍如何使用企业管理器分离数据库 。
(1)启动 SQL Sever企业管理器,登录到指定服务器;
(2)展开 SQL Sever数据库选项夹,在所要分离的数据库 ( 如,JSJX_DB”数据库 )
上单击鼠标右键,依次在弹出式菜单中选择,所有任务,—,分离数据库,命令,
将弹出如图 3.25所示的,分离数据库,对话框;
第三章
3.3.7 附加数据库附加数据库的工作是分离数据库的逆操作,
通过附加数据库,可以将没有加入 SQL
Sever服务器的数据库文件加到服务器中,
下面介绍如何使用企业管理器附加数据库 。
(1)启动 SQL Sever企业管理器,登录到指定服务器 。
(2)在 SQL Sever企业管理器中,在,数据库,
图标上单击鼠标右键,依次在弹出式菜单中选择,所有任务,—,附加数据库,命令,
将弹出如图 3.26所示的,附加数据库,对话框 。
(3) 在如图 3.26所示的对话框中,直接单击
,确定,按钮,即可完成附加数据库的工作。
第三章
3.4 应用举例
3.4.1创建计算机计费管理数据库 (
图见教材 )
3.4.2 创建选课管理信息系统数据库 (图见教材 )
3.4.3 设定修改数据库的容量第三章