第04章 创建与使用数据库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL Server 2005
22
4.3.1 数据库规划
创建数据库的第一步是制订规划,
它既可以在实现数据库时用作指南,也可以在数据库实现后用作 数据库的功能说明。
数据库设计的复杂性和细节由数据库应用程序的复杂性和 大小以及用户数决定。 计划数据库时,不管其大小和复杂性如何,其基本步骤: 1)收集信息; 2)标识对象; 3)建立对象模型; 4)标识每个对象的信息类型; 5)标识对象之间的关系。
SQL Server 2005
23
4.3.2 确定数据库应用的类型
数据库应用系统通常有两种类型: 联机事务处理(OLTP)和 决策支持。 不同的数据库应用类型影响着数据库的设计规划。
SQL Server 2005
24
4.3.2 确定数据库应用的类型
1、联机事务处理(OLTP)
OLTP数据库应用程序是管理不断变化的数据的最佳选择,其通常涉及很多 用户,同时执行更改实时数据的事务。 尽管用户的各个数据请求通常只涉及少量记录,但这些请求有许多是 同时发生的。 如航空订票系统和银行事务系统,其主要问题是并发性和原子性。 事务处理系统数据库的设计应能够改进下列方面: 1)很好的数据放置; 2)缩短事务,以便将长期锁减至最少并改善并发性; 3)联机备份; 4)数据库的高度规范化; 5)很少或没有历史数据或聚合数据; 6)小心使用索引; 7)OLTP需最佳硬件配置以处理较大的并发用户数目和快速响应时间。
SQL Server 2005
3
4.1 关于数据库
4.1.1 系统数据库
SQL Server 2005
4
4.1 关于数据库
• 创建能够满足业务应用需要的数据库,需要有设计、创建和维
护数据库的能力,才能确保数据库性能始终处于最佳状态。
• 一个 SQL Server服务器常常同时支持多个数据库。每个数据 库可以存储来自其它数据库的相关数据或不相关数据。 • SQL Server 2005中的数据库同样由表集合组成。 表包含数据以及为支持对数据执行的活动而定义的其它对 象,如视图、索引、存储过程、用户定义函数和触发器。 • 存储在数据库中的数据通常与特定的主题或过程相关,如企 业库存信息库、企事业人事数据库等。
本章主要介绍如下内容:关于数据库的概念、数据库的文 件与文件组、设计数据库、创建数据库、查看数据库和维护 数据库等。
SQL Server 2005
2
目录
4.1 关于数据库 4.2 数据库的文件与文件组 4.3 设计数据库 4.4 创建数据库 4.5 查看数据库 4.6 维护数据库 练习题4 上机实习3
SQL Server 2005
17
4.2.3 事务日志
每个SQL
Server 2005数据库都具有事务日志,用于记录所有 事务以及每个事务对数据库所做的修改。 事务日志是数据库的一个重要组件,如果系统出现故障,它将 成为最新数据的唯一源。 删除或移动事务日志以前,必须完全了解此操作带来的后果。 事务日志支持以下操作: 恢复个别的事务; 在SQL Server启动时恢复所有未完成的事务; 将还原的数据库、文件、文件组或页前滚至故障点; 支持事务性复制; 支持备份服务器解决方案。

文件组中的文件的状态确定了整个文件组的可用性。
文件组中的所有文件都必须联机,文件组才可用。
若要查看文件组的当前状态,请使用sys.filegroups目录视图。 如果文件组处于离线状态,而您尝试使用T-SQL语句访问该文件组,则操
作将失败并显示一条错误。
文件状态的定义类似于数据库的状态。
SQL Server 2005
SQL Server数据库应用技术
第4章 创建与使用数据库
2013-7-10
SQL Server 2005
1
第4章
创建与使用数据库
ຫໍສະໝຸດ Baidu
• 创建数据库是实施数据库应用系统的第一步,创建合理结构 的数据库需要合理的规划与设计、需要了解数据库物理存储 结构与逻辑结构。 • 数据库是表的集合,数据库中包含的各类对象如视图、索引、 存储过程、同义词、可编程性对象、安全性对象等等,都是 以表的形式存储在数据库中的。 • 为此,对数据库的管理是用户面临的一项非常重要的任务。
管理实用工具,如Management Studio; SQL-SMO(Server Management Objects)API。此工具 使程序员获得在其应用程序中管理SQL Server的全部功 能; T-SQL脚本和存储过程。它们可以使用系统存储过程和 T-SQL DDL语句。
SQL Server 2005
SQL Server 2005
18
4.2.4 数据库的状态
数据库总是处于一个特定的状态中,例如,这些 状态包括 ONLINE、OFFLINE或SUSPECT。 若要确认数据库的当前状态:
在SQL SERVER的查询窗口中执行:请选择 sys.databases目录视图中的state_desc列 select * from sys.databases 或 DATABASEPROPERTYEX函数中的Status 属性, select databasepropertyex('adventureworks','status') 命令,都能查看到数据库的当前状态。
SQL Server 2005
返回本节首页
15
4.2.2 数据库文件组
每个数据库有一个主要文件组,包含主要数据文件和未放入其 它文件组的所有次要文件。 可以创建用户定义的文件组,用于将数据文件集合起来,以便 于管理、数据分配和放置。
例如,可以分别在三个磁盘驱动器上创建三个文件Data1.ndf、
5
SQL Server 2005
4.1 关于数据库
图4-2 SQL SERVER 2005数据库逻辑组成
SQL Server 2005
6
4.1 关于数据库-数据库分类

系统数据库: 数据库快照:
SQL SERVER 2005新增设的,数据库快照是数据库(源数据库)的 只读、静态视图。每个数据库快照都与创建快照时存在的源数据库在事 务上一致。
Data2.ndf和Data3.ndf,然后将它们分配给文件组fgroup1。 然后,可以明确地在文件组fgroup1上创建一个表。对表中数 据的查询将分散到三个磁盘上,从而提高了性能。 通过使用在 RAID(独立磁盘冗余阵列)条带集上创建的单个 文件也能获得同样的性能提高。但是,文件和文件组使您能够轻 松地在新磁盘上添加新文件。
存 储 过 程
触 发 器
约 束
SQL Server 2005
14
4.2.1 数据库文件-数据库文件类型
文件 说明 主要文件 • 主要数据文件包含数据库的启动信息,并指向数据库中的其 / 它文件。用户数据和对象可存储在此文件中,也可以存储在 主文件 次要数据文件中。每个数据库有一个主要数据文件。主要数 据文件的建议文件扩展名是.mdf。 次要文件 • 次要数据文件是可选的,由用户定义并存储用户数据。通过 / 将每个文件放在不同的磁盘驱动器上,次要文件可用于将数 辅助文件 据分散到多个磁盘上。另外,如果数据库超过了单个 Windows 文件的最大大小,可以使用次要数据文件,这样数 据库就能继续增长。次要数据文件的建议文件扩展名是.ndf。 事务日志 • 事务日志文件保存用于恢复数据库的日志信息。每个数据库 必须至少有一个日志文件。事务日志的建议文件扩展名 是.ldf。

SQL Server 2005
7
4.1 关于数据库
图4-3 SQL SERVER 2000数据库逻辑组成
SQL Server 2005
图4-4 SQL SERVER 2005中数据库的分类 8
4.1.1 系统数据库
表4-1 SQL Server 2005系统数据库
系统数据库 master 数据库 msdb 数据库 model 数据库 说明 记录 SQL Server 实例的所有系统级信息。 用于 SQL Server 代理计划警报和作业。 用作 SQL Server 实例上创建的所有数据库的模板。对 model 数 据库进行的修改(如数据库大小、排序规则、恢复模式和其它 数据库选项)将应用于以后创建的所有数据库。 一个只读数据库,包含SQL Server包括的系统对象。系统对象在 物理上保留在Resource数据库中但在逻辑上显示在每个数据 库的sys架构中。 一个工作空间,用于保存临时对象或中间结果集。

用户数据库(如示例数据库AdventureWorks、AdventureWorksDW等):
根据其应用的不同分为OLTP 数据库、OLAP 数据库或数据仓库、数 据库快照等。 OLTP: 关系数据库最适合于管理变化的数据,联机事务处理(OLTP) 是数据库的主要应用场合,其目的是捕获高比率的数据更改和添加。 OLAP: 数据仓库经常用作商业智能应用程序的基础,其目的是组织大 量的稳定数据以便于分析和检索。
SQL Server 2005
19
4.2.5 数据库文件的状态
数据库文件的状态独立于数据库的状态。 文件始终处于一个特定状态,ONLINE或OFFLINE。

查看当前状态,使用sys.master_files或
sys.database_files视图。 例如执行:select * from sys.master_files或select * from sys.database_files命令,能查看到有state_desc列。 若DB处于offline,则可从sys.master_files视图中查看文件的状态。
10
4.2 数据库的文件与文件组
4.2.1 数据库文件 4.2.2 数据库文件组 4.2.3 事务日志 4.2.4 数据库的状态 4.2.5 数据库文件的状态
SQL Server 2005
11
4.2 数据库的文件与文件组
每个SQL Server数据库至少具有两个OS文件:
数据文件: 包含数据和对象,例如表、索引、存储过程和 视图。 日志文件: 包含恢复数据库中的所有事务所需的信息。 为了便于分配和管理,可以将数据文件集合起来,放到 文件组中。
20
4.3 设计数据库
• • • • • 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 数据库规划 确定数据库应用的类型 规范化 数据完整性 设计文件和文件组
SQL Server 2005
21
4.3 设计数据库
•要设计数据库,必须先了解要建模的企业业务和业务数 据的内容、特征及业务数据联系。 •合理地设计企业业务数据库非常重要,它是建立合理结 构的数据库并使应用系统良好运行的必要保障。
SQL Server 2005
返回本节首页
16
4.2.2 数据库文件组
1)主要文件组:包含主要文件的文件组。所有系统表都被分 配到主要文件组中。 2)用户定义文件组:用户首次创建数据库或以后修改数据 库时明确创建的任何文件组。
默认文件组,如果在数据库中创建对象时没有指定对象所属 的文件组,对象将被分配给默认文件组。不管何时,只能将一 个文件组指定为默认文件组。默认文件组中的文件必须足够大, 能够容纳未分配给其它文件组的所有新对象。PRIMARY文件组 是默认文件组。 可以使用ALTER DATABASE语句更改默认文件组。但系统 对象和表仍然分配给PRIMARY文件组,而不是新的默认文件组。
SQL Server 2005
12
数据库物理结构
数据库
数据文件组
主数据文件
二级数据文件
日志文件
范 围 (Extent)
范 围 (Extent)
页 (Page)
页 (Page)
日志记录
13
SQL Server 2005
数据库逻辑结构
数据库
数据库

数据库对象
元 组 /记 录 /行
基 本 表

视 图
索 引
Resource数据库
tempdb 数据库
SQL Server 2005
9
4.1.1 系统数据库
SQL Server不支持用户直接更新系统对象(如系 统表、系统存储过程和目录视图)中的信息(再不 能如SQL Server 2000中能直接更新系统表)。 Microsoft提供了一整套管理工具,使用户可以充 分管理他们的系统和数据库中的所有用户和对象:
相关文档
最新文档