第 4章 SQL Server 2000数据库创建与管理
4.1 数据库的设计基础
4.2 数据库的创建
4,2,1使用向导创建数据库
4,2,2使用 Enterprise Manager创建数据库
4,2,3使用 SQL语句创建数据库
4,3 数据库的管理
4,3,1 数据库的属性设计
4,3,2 删除数据库
4,3,3 SQL Server 2000数据库的备份和恢复
4,3,4 发布内容和订阅数据库
4,3,5 导入和导出数据
4.1数据库的设计基础
4.1.1 关系数据库
1.关系模型 RM( Relational Model)
关系模型把世界看作是由实体 ( Entity) 和联系 ( Relationship)
构成的 。 在关系模型中实体通常是以表的形式来表现的 。 联系就是指实体之间的关系,即实体之间的对应关系 。 联系可以分为三种:
● 一对一的联系 。 如:一个人只有一种性别,一个人,性别为一对一的联系 。
● 一对多的联系 。 如:相同性别的人有许多个,性别,人为一对多的联系 。
● 多对一的联系 。 如:很多人有同一个性别,人,性别为多对一的联系 。
2.关键字 ( Key)
1) 侯选关键字 ( Candidate Key)
2) 主关键字 ( Primary Key)
3) 公共关键字 ( Common Key)
4) 外关键字 ( Foreign Key) 返回目录
4.1.2 数据库对象
数据库对象包括:表 (Table),索引 (Index),视图
(View),图表 (Diagram),.默认值 (Default),约束
(Constraint),规则 ( Rule),触发器 (Trigger),
存储过程 (Stored Procedure),日志 ( Log) 等 。
4.1.3.范式
构造数据库必须遵循一定的规则,在关系数据库中,
这种规则就是范式。目前关系数据库有六种范式:
● 第一范式( 1NF)
● 第二范式( 2NF)
● 第三范式( 3NF)
● 第四范式( 4NF)
● 第五范式( 5NF)和第六范式( 6NF)
一般说来 数据库只需满足第三范式( 3NF)就行了。
返回目录
4.1.4 数据库完整性概述
数据完整性是指数据库中的数据在逻辑上的一致性和准确性 。 数据完整性一般包括三种:
1.域完整性
域完整性又称为字段完整性
2.实体完整性
实体完整性又称为行的完整性,通过索引,UNIQUE约束,PRIMARY KEY约束或 IDENTITY属性可实现数据的实体完整性 。
3.参照完整性
参照完整性又称为引用完整性。参照完整性的实现是通过定义外键与主键之间或外键与惟一键之间的对应关系实现的。参照完整性确保键值在所有表中一致。
返回目录
4,2 数据库的创建
4,2,1使用向导创建数据库
4,2,2使用 Enterprise Manager创建数据库
4,2,3使用 SQL语句创建数据库
CREATE DATABASE 语法格式如下,:
CREATE DATABASE database_name
[ ON [PRIMARY] [ <filespec> [,...n] ] [,<filegroupspec>
[,...n] ] ]
[ LOG ON { <filespec> [,...n]} ] [ COLLATE collation_name ]
[ FOR LOAD | FOR ATTACH ]
<filespec>,:= ( [ NAME = logical_file_name,]
FILENAME = 'os_file_name'
[,SIZE = size]
[,MAXSIZE = { max_size | UNLIMITED } ]
[,FILEGROWTH = growth_increment] ) [,...n]
<filegroupspec>,:= FILEGROUP filegroup_name <filespec>
[,...n]
语句中各参数的含义:
database_name:是所创建数据库的名称 。
PRIMARY:用来指定主文件 。
LOG ON子句:用于指定数据库日志文件的属性,其定义格式与数据文件的格式相同。
logical_file_name:逻辑文件名是在创建数据库后执行的 Transact-
SQL语句中引用文件的名称。
os_file_name:操作系统文件名是操作系统在创建物理文件时使用的路径和文件名;
size:是数据文件的初始大小; maxsize指定文件的最大大小;
unlimited关键字指定文件大小不限 。
growth_increment:每次需要新的空间时文件大小的增量 。 该值指定一个整数,不要包含小数位 。 0值表示不增长 。
FOR LOAD子句:说明从一个备份库向新建的数据库中加载数据 。
使用该子句的目的是为了与以前的版本兼容 。
FOR ATTACH子句:说明从已有的数据库文件向数据库添加数据,
使用该子句时,必须指定主数据文件 。
COLLATE子句:用来指定数据库的默认排序规则 。
【 例 4.1】 创建一个名为 demo的数据库。 返回目录
4,3 数据库的管理
4,3,1 数据库的属性设计
1.利用 Enterprise Manager进行数据库属性的设置
2.使用 ALTER DATABASE更改数据库的属性设置
ALTER DATABASE 命令可以增加或删除数据库中的文件,也可以修改数据库的属性设置等 。 应注意的是,只有数据库管理员
Database Administration 简称 DBA或具有 CREATE DATABASE 权限的数据库所有者才有权执行此命令 。
ALTERDATABASE语句的基本语法格式如下:
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
} 返回目录
下面说明重要关键字和子句的含义和作用:
ADD FILE 子句:向数据库添加数据文件,文件的属性由
<filespec>给出 。
ADD LOG FILE子句:向数据库添加日志文件,日志文件的属性由 <filespec>给出 。
REMOVE FILE子句:从数据库中删除数据文件,被删除的数据文件由其中的参数 logical_file_name给出 。
ADD FILEGROUP子句:向数据库中添加文件组,指定添加的文件组名由参数 filegroup_name给出 。
REMOVE FILEGOUP子句:从数据库中删除文件组并删除该文件组中的所有文件 。
MODIFY FILE子句:修改数据文件的属性,被修改文件的逻辑名由 <filespec>的 NAME参数给出,可以修改的文件属性包括:
FILENAME,SIZE,MAXSIZE和 FILEGROWTH。 注意:一次只能修改其中的一个属性 。
【 例 4.2】 添加一个包含 1个文件的文件组到 demo数据库中去,并将此文件组指定为默认文件组。 返回目录
4.3.2 删除数据库
1.用 Enterprise Manager删除数据库
2.用 DROP DATABASE删除数据库
DROP DATABASE 语法格式如下,
DROP DATABASE database_name[,…n]
返回目录
4,3,3 SQL Server 2000数据库的备份和恢复定期进行数据备份是保证系统安全的重要方法,当意外事故发生时,可以还原备份数据来恢复数据库 。
1.备份使用 Enterprise Manager备份数据库
2.恢复使用企业管理器恢复数据库
返回目录
4,3,4 发布内容和订阅数据库发布内容和订阅数据库是 SQL Server中复制模型中的两个方法,用复制方法可以把一个源服务器上的数据库发送到远程服务器或另外的服务器上,这样可以使同一系统的各服务器的数据保持同步 。 订阅数据库是指对数据或数据库对象的副本的请求 。
1.复制模型
复制模型由以下几个对象组成:发布服务器,分发服务器,订阅服务器,发布,项目和订阅 。 还有几个复制进程用以实现发布服务器和订阅服务器间的数据移动和复制功能,这些复制进程是快照代理程序,分发代理程序,日志读取器代理程序,队字段读取器代理程序和合并代理程序 。
2.使用向导配置发布和分发
返回目录
4,3,5 导入和导出数据
在使用 SQL Server的过程中,由于经常需要从多个不同地点将数据集中起来或向多个地点复制数据,所以数据的导出,
导 入 或 转 储 是 常 见 的 操 作 。 SQL Server 提供 ( Data
Transformation Services) 即 DTS工具来完成这一任务,包括导出,导入数据向导和管理设计 DTS 包,以及如何完成数据转换服务 。
1.数据转换服务 ( DTS)
数据转换服务 ( DTS) 提供了在 SQL Server与 OLE DB,开放式数据库互连 ( ODBC) 或文本文件格式之间导入,导出和转换 数 据 的 功 能 。 DTS 包 括 导 入 / 导 出 向 导 ( DTS
Import/Export Wizard),DTS设计器,DTS包执行实用工具及 DTS查询设计器等用于创建,调度和执行 DTS包的工具 。
2.DTS 导入 /导出向导
3.管理 DTS包
DTS导入 /导出向导提供生成 DTS 包的方法已经介绍过了,下面主要介绍通过 DTS设计器创建,编辑和保存数据转换 。
返回目录
4.1 数据库的设计基础
4.2 数据库的创建
4,2,1使用向导创建数据库
4,2,2使用 Enterprise Manager创建数据库
4,2,3使用 SQL语句创建数据库
4,3 数据库的管理
4,3,1 数据库的属性设计
4,3,2 删除数据库
4,3,3 SQL Server 2000数据库的备份和恢复
4,3,4 发布内容和订阅数据库
4,3,5 导入和导出数据
4.1数据库的设计基础
4.1.1 关系数据库
1.关系模型 RM( Relational Model)
关系模型把世界看作是由实体 ( Entity) 和联系 ( Relationship)
构成的 。 在关系模型中实体通常是以表的形式来表现的 。 联系就是指实体之间的关系,即实体之间的对应关系 。 联系可以分为三种:
● 一对一的联系 。 如:一个人只有一种性别,一个人,性别为一对一的联系 。
● 一对多的联系 。 如:相同性别的人有许多个,性别,人为一对多的联系 。
● 多对一的联系 。 如:很多人有同一个性别,人,性别为多对一的联系 。
2.关键字 ( Key)
1) 侯选关键字 ( Candidate Key)
2) 主关键字 ( Primary Key)
3) 公共关键字 ( Common Key)
4) 外关键字 ( Foreign Key) 返回目录
4.1.2 数据库对象
数据库对象包括:表 (Table),索引 (Index),视图
(View),图表 (Diagram),.默认值 (Default),约束
(Constraint),规则 ( Rule),触发器 (Trigger),
存储过程 (Stored Procedure),日志 ( Log) 等 。
4.1.3.范式
构造数据库必须遵循一定的规则,在关系数据库中,
这种规则就是范式。目前关系数据库有六种范式:
● 第一范式( 1NF)
● 第二范式( 2NF)
● 第三范式( 3NF)
● 第四范式( 4NF)
● 第五范式( 5NF)和第六范式( 6NF)
一般说来 数据库只需满足第三范式( 3NF)就行了。
返回目录
4.1.4 数据库完整性概述
数据完整性是指数据库中的数据在逻辑上的一致性和准确性 。 数据完整性一般包括三种:
1.域完整性
域完整性又称为字段完整性
2.实体完整性
实体完整性又称为行的完整性,通过索引,UNIQUE约束,PRIMARY KEY约束或 IDENTITY属性可实现数据的实体完整性 。
3.参照完整性
参照完整性又称为引用完整性。参照完整性的实现是通过定义外键与主键之间或外键与惟一键之间的对应关系实现的。参照完整性确保键值在所有表中一致。
返回目录
4,2 数据库的创建
4,2,1使用向导创建数据库
4,2,2使用 Enterprise Manager创建数据库
4,2,3使用 SQL语句创建数据库
CREATE DATABASE 语法格式如下,:
CREATE DATABASE database_name
[ ON [PRIMARY] [ <filespec> [,...n] ] [,<filegroupspec>
[,...n] ] ]
[ LOG ON { <filespec> [,...n]} ] [ COLLATE collation_name ]
[ FOR LOAD | FOR ATTACH ]
<filespec>,:= ( [ NAME = logical_file_name,]
FILENAME = 'os_file_name'
[,SIZE = size]
[,MAXSIZE = { max_size | UNLIMITED } ]
[,FILEGROWTH = growth_increment] ) [,...n]
<filegroupspec>,:= FILEGROUP filegroup_name <filespec>
[,...n]
语句中各参数的含义:
database_name:是所创建数据库的名称 。
PRIMARY:用来指定主文件 。
LOG ON子句:用于指定数据库日志文件的属性,其定义格式与数据文件的格式相同。
logical_file_name:逻辑文件名是在创建数据库后执行的 Transact-
SQL语句中引用文件的名称。
os_file_name:操作系统文件名是操作系统在创建物理文件时使用的路径和文件名;
size:是数据文件的初始大小; maxsize指定文件的最大大小;
unlimited关键字指定文件大小不限 。
growth_increment:每次需要新的空间时文件大小的增量 。 该值指定一个整数,不要包含小数位 。 0值表示不增长 。
FOR LOAD子句:说明从一个备份库向新建的数据库中加载数据 。
使用该子句的目的是为了与以前的版本兼容 。
FOR ATTACH子句:说明从已有的数据库文件向数据库添加数据,
使用该子句时,必须指定主数据文件 。
COLLATE子句:用来指定数据库的默认排序规则 。
【 例 4.1】 创建一个名为 demo的数据库。 返回目录
4,3 数据库的管理
4,3,1 数据库的属性设计
1.利用 Enterprise Manager进行数据库属性的设置
2.使用 ALTER DATABASE更改数据库的属性设置
ALTER DATABASE 命令可以增加或删除数据库中的文件,也可以修改数据库的属性设置等 。 应注意的是,只有数据库管理员
Database Administration 简称 DBA或具有 CREATE DATABASE 权限的数据库所有者才有权执行此命令 。
ALTERDATABASE语句的基本语法格式如下:
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
} 返回目录
下面说明重要关键字和子句的含义和作用:
ADD FILE 子句:向数据库添加数据文件,文件的属性由
<filespec>给出 。
ADD LOG FILE子句:向数据库添加日志文件,日志文件的属性由 <filespec>给出 。
REMOVE FILE子句:从数据库中删除数据文件,被删除的数据文件由其中的参数 logical_file_name给出 。
ADD FILEGROUP子句:向数据库中添加文件组,指定添加的文件组名由参数 filegroup_name给出 。
REMOVE FILEGOUP子句:从数据库中删除文件组并删除该文件组中的所有文件 。
MODIFY FILE子句:修改数据文件的属性,被修改文件的逻辑名由 <filespec>的 NAME参数给出,可以修改的文件属性包括:
FILENAME,SIZE,MAXSIZE和 FILEGROWTH。 注意:一次只能修改其中的一个属性 。
【 例 4.2】 添加一个包含 1个文件的文件组到 demo数据库中去,并将此文件组指定为默认文件组。 返回目录
4.3.2 删除数据库
1.用 Enterprise Manager删除数据库
2.用 DROP DATABASE删除数据库
DROP DATABASE 语法格式如下,
DROP DATABASE database_name[,…n]
返回目录
4,3,3 SQL Server 2000数据库的备份和恢复定期进行数据备份是保证系统安全的重要方法,当意外事故发生时,可以还原备份数据来恢复数据库 。
1.备份使用 Enterprise Manager备份数据库
2.恢复使用企业管理器恢复数据库
返回目录
4,3,4 发布内容和订阅数据库发布内容和订阅数据库是 SQL Server中复制模型中的两个方法,用复制方法可以把一个源服务器上的数据库发送到远程服务器或另外的服务器上,这样可以使同一系统的各服务器的数据保持同步 。 订阅数据库是指对数据或数据库对象的副本的请求 。
1.复制模型
复制模型由以下几个对象组成:发布服务器,分发服务器,订阅服务器,发布,项目和订阅 。 还有几个复制进程用以实现发布服务器和订阅服务器间的数据移动和复制功能,这些复制进程是快照代理程序,分发代理程序,日志读取器代理程序,队字段读取器代理程序和合并代理程序 。
2.使用向导配置发布和分发
返回目录
4,3,5 导入和导出数据
在使用 SQL Server的过程中,由于经常需要从多个不同地点将数据集中起来或向多个地点复制数据,所以数据的导出,
导 入 或 转 储 是 常 见 的 操 作 。 SQL Server 提供 ( Data
Transformation Services) 即 DTS工具来完成这一任务,包括导出,导入数据向导和管理设计 DTS 包,以及如何完成数据转换服务 。
1.数据转换服务 ( DTS)
数据转换服务 ( DTS) 提供了在 SQL Server与 OLE DB,开放式数据库互连 ( ODBC) 或文本文件格式之间导入,导出和转换 数 据 的 功 能 。 DTS 包 括 导 入 / 导 出 向 导 ( DTS
Import/Export Wizard),DTS设计器,DTS包执行实用工具及 DTS查询设计器等用于创建,调度和执行 DTS包的工具 。
2.DTS 导入 /导出向导
3.管理 DTS包
DTS导入 /导出向导提供生成 DTS 包的方法已经介绍过了,下面主要介绍通过 DTS设计器创建,编辑和保存数据转换 。
返回目录