260 likes | 409 Views
第九章 数据库与基本表的创建和管理 9.1 数据库的创建与管理. 9.1.1 Sql Server 数据库的构成 9.1.2 创建数据库. 上一章. 返回目录. 数据库的组成. Sql Server 的数据库由数据文件和日志文件组成 . 数据文件用于存放数据库数据 日志文件用于存放对数据库数据的操作记录 数据库的物理存储结构
E N D
第九章 数据库与基本表的创建和管理9.1 数据库的创建与管理 • 9.1.1 Sql Server 数据库的构成 • 9.1.2 创建数据库 上一章 返回目录
数据库的组成 • Sql Server的数据库由数据文件和日志文件组成. • 数据文件用于存放数据库数据 • 日志文件用于存放对数据库数据的操作记录 • 数据库的物理存储结构 • 数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件.数据的存储单位是页,一页是8KB的连续存储空间,页的大小决定了数据库表的一行数据的最大大小,sql server 2000规定一行的数据不能跨行存储.
数据库文件和日志文件的作用 • 数据库文件包括主数据文件和辅助数据库文件 • 主数据文件的扩展名为.mdf • 主数据包含数据库的启动信息以及数据库数据,每个数据库只能有一个主数据库文件 • 辅助数据文件的扩展名为.ndf • 一个数据库可以有多个辅助数据文件,用于存储数据 • 日志文件的扩展名为.ldf • 用来记录页的分配和释放以及对数据库数据的修改操作.每个数据库文件至少要有一个日志文件.
创建数据库 • 每个数据库都由以下几个部分的数据库对象所组成: • 关系图、表、视图、存储过程、用户、角色、规则、默认、用户自定义数据类型和用户自定义函数。
创建数据库的方法 • 使用向导创建数据库 • 使用企业管理器(Enterprise Manager)创建数据库 • 使用Transact-SQL语言创建数据库。
图4-4 定义数据库文件逻辑名称及初始大小对话话框
图4-6 定义事务日志文件名称及初始大小对话框
(2)使用企业管理器创建数据库 • (1)在企业管理器中,单击工具栏中的 图标,或在数据库文件夹或其下属任一数据库图标上单击右键,选择新建数据库选项 • (2)在常规(General)页框中,要求用户输入数据库名称以及排序规则名称。 • (3)点击数据文件(Data Files)页框,该页框用来输入数据库文件的逻辑名称、存储位置、初始容量大小和所属文件组名称 • (4)点击事务日志(Transaction Log)页框,该页框用来设置事务日志文件信息
(3) 使用Transact-SQL语言创建数据库,语法如下: • CREATE DATABASE database_name • [ON [PRIMARY] [<filespec> [,…n]] • [LOG ON {<filespec> [,…n]}] • <filespec>::= • ([NAME=logical_file_name,] • FILENAME=‘os_file_name’ • [,SIZE=size] • [,MAXSIZE={max_size|UNLIMITED}] • [,FILEGROWTH=growth_increment] ) [,…n]
各参数说明如下: • database_name:数据库的名称,最长为128个字符。 • PRIMARY:该选项是一个关键字,指定主文件组中的文件。 • LOG ON:指明事务日志文件的明确定义。 • NAME:指定数据库的逻辑名称,这是在SQL Server系统中使用的名称,是数据库在SQL Server中的标识符。
FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。 • SIZE:指定数据库的初始容量大小。 • MAXSIZE:指定操作系统文件可以增长到的最大尺寸。 • FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。
创建了一个Company数据库 • 创建了一个Company数据库,该数据库的主数据文件逻辑名称为Company_data,物理文件名为Company.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Company_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。
修改数据库 • 1. 利用企业管理器修改数据库 • 2. 使用ALTER DATABASE语句修改数据库
1. 利用企业管理器修改数据库 • 设置中的各选项说明如下 : • ANSI NULL默认设置:允许在数据库表的列中输入空(NULL)值。 • 递归触发器:允许触发器递归调用。SQL Server设定的触发器递归调用的层数最多为32层。 • 自动更新统计信息:允许使用SELECT INTO或BCP、WRITETEXT、UPDATETEXT命令向表中大量插入数据。 • 残缺页检测:允许自动检测有损坏的页。 • 自动关闭:当数据库中无用户时,自动关闭该数据库,并将所占用的资源交还给操作系统。
自动收缩:允许定期对数据库进行检查,当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25%。自动收缩:允许定期对数据库进行检查,当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25%。 • 自动创建统计信息:在优化查询(Query Optimizer)时,根据需要自动创建统计信息。 • 使用被引用的标识符:标识符必须用双引号括起来,且可以不遵循Transact-SQL命名标准。
2. 使用ALTER DATABASE语句修改数据库语法形式如下: • Alter database databasename • add file • (<filespec>[,…n] • |add log file <filespec>[,…n] • |remove file logical_file_name [with delete] • |modify file <filespec> • |modify name=new_databasename • )
删除数据库 • 1.利用企业管理器删除数据库 • 2. 利用Drop语句删除数据库 • Drop语句可以从SQL Server中一次删除一个或多个数据库。其语法如下: • Drop database database_name[,…n]