数据库管理和使.ppt
《数据库管理和使.ppt》由会员分享,可在线阅读,更多相关《数据库管理和使.ppt(97页珍藏版)》请在三一办公上搜索。
1、第四章 数据库管理和使用,1,本章主题,数据库是什么?数据库由什么构成?它存储在何处?如何定义系统的类型,是关系的还是分析的?如何通过SSMS、向导或查询编辑器窗口创建数据库如何在查询编辑器窗口设置数据库选项如何查看数据库的细节如何用SSMS和查询编辑器窗口修改、移除、分离数据库,数据库管理和使用,3,数据库是表的集合,含有数据和一些其他的对象,如视图、索引、存储过程、用户自定义函数和触发器等。因此,对数据库的管理是一项很重要的任务。本章将从SQL Server 2005数据库的管理和使用方法讲起,主要包括:SQL Server 2005数据库基础和系统数据库、示例数据库介绍。使用Manage
2、ment Studio创建、修改和删除数据库。使用T-SQL创建、修改和删除数据库。分离与附加数据库。数据库的备份与还原。通过本章学习,读者可以掌握数据库管理的基本操作。,第一节 基本概念,4,(一)数据文件,5,在数据库中,文件是数据库物理存储的概念,每个SQL Server 2005 数据库最少包括两个文件:一个数据文件和一个日志文件。数据文件里包含数据和对象,如表、索引、视图和存储过程等。数据文件,包括主要数据文件(Primary)、次要数据文件(Secondary)。主要数据文件。主要数据文件是数据库的起点,指向数据库中文件的其它部分。它包含有数据库的启动信息和数据库中其它文件的指针。
3、每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是“.mdf”。次要数据文件。次要数据文件包含除主要数据文件外的所有数据文件。主要包括用户定义的用于存储用户数据的文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件,它们可以通过存放在不同的存储器上来存储数据。另外,如果数据库超过了单个 Windows 文件的最大大小,可以使用次要数据文件,这样数据库就能继续增长。次要数据文件的推荐文件扩展名是“.ndf”。,(二)日志文件,6,在数据库中,日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是“.ld
4、f”。注意:默认情况下,数据和事务日志被放在同一个驱动器上的同一个路径下。这是为处理单磁盘系统而采用的方法。但是,在生产环境中,这可能不是最佳的方法。建议将数据文件和日志文件放在不同的磁盘上。,(三)组文件,7,为了更好地实现数据库文件的组织,SQL Server 引入了文件组(filegroup)的概念。每个数据库有一个主要文件组。此文件组包含主要数据文件和未放入其他文件组的所有次要文件。可以创建用户定义的文件组,用于将数据文件集合起来,以便于管理、数据分配和放置。通过设置文件组,可以有效地提高数据库的读写性能。例如,可以分别在三个磁盘驱动器上创建三个文件Data1.ndf、Data2.nd
5、f 和Data3.ndf,然后将它们分配给文件组fgroup1。然后,可以明确地在文件组 fgroup1 上创建一个表。对表中数据的查询将分散到三个磁盘上,从而提高了性能。SQL Server 2005提供了三种文件组类型。它们分别是主要文件组(Primary)、用户定义文件组(user_defined)和默认文件组(default)。主要文件组。每个数据库有一个主要文件组,主要文件组包含主要数据文件和一些没有放入其它文件组的次要数据文件。所有系统表都被分配到主要文件组中。用户定义文件组。由用户创建的文件组。用户在首次创建数据库或以后修改数据库时明确创建的任何文件组。默认文件组。如果在数据库中
6、创建对象时没有指定对象所属的文件组,对象将被分配给默认文件组。不管何时,只能将一个文件组指定为默认文件组。默认文件组中的文件必须足够大,能够容纳未分配给其他文件组的所有新对象。,组文件,8,默认情况下,主要文件组是默认文件组,除非使用 ALTER DATABASE语句进行了更改。系统对象和系统表属于PRIMARY文件组。注意:(1)一个文件或文件组不能由多个数据库使用。例如,任何其他数据库都不能使用包含 sales 数据库中的数据和对象的文件 sales.mdf 和 sales.ndf。(2)一个文件只能是一个文件组的成员。(3)日志文件不能属于任何文件组。(4)被包含在文件组里的数据文件不会
7、自动增长长度,除非整个文件组里所有的数据文件都已经被填充满。,(四)数据库的存储结构,9,数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。(1)物理数据层。这是数据库的最内层,是物理存储设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。(2)概念数据层。这是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。(3)逻辑数据层。这是用户所看到和使用的数据库,表示了一个或一些特定用
8、户使用的数据集合,即逻辑记录的集合。数据库不同层次之间的联系是通过映射进行转换的。,1数据库的基本结构,数据库的存储结构,10,数据库的存储结构是指数据在物理存储设备上的存储方式,即数据的物理数据层。在数据库中数据存储采用页的存储方式,这些数据页包含了表中的行,其中:(1)每个数据页包含8KB的信息。每八个相连的页面称为一个扩展盘区。(2)数据行不是以特定的顺序存储的,而且数据页也没有特定的顺序。(3)在链接列表中数据页并不是链接的。(4)当行插入到已满的数据页时,就会拆分数据页。在数据存储结构的基础上,SQL Server采用两种方式访问数据:(1)扫描表中所有的数据页,称为“表扫描”,它会
9、从表的起始处开始扫描,对表中的所有行从头到尾进行逐页扫描。(2)使用索引。使用索引检索数据的效率要较第一种方法要高一点,索引在后面的章节中将讲到。,2数据库的存储结构,第二节 SQL Server 2005的系统数据库与示例数据库,11,(一)系统数据库,12,在所有数据库中都有一组系统数据库。SQL Server 2005包含以下几个系统数据库:master、model、msdb、tempdb(和Resource数据库),如图4.1所示。而Resource数据库不可见,那是因为Resource数据库是只读数据库,它包含了 SQL Server 2005 中的所有系统对象。SQL Server
10、 系统对象(例如 sys.objects)在物理上持续存在于 Resource 数据库中,但在逻辑上,它们出现在每个数据库的 sys 架构中。在所有数据库中都有一组系统表,SQL Server使用这些系统表来维护数据库。系统表中存储了所有列的信息、所有用户的信息以及许多其他信息(即元数据)。不同于以往版本的SQL Server,在SQL Server 2005中,系统表的安全性有了改进和增强,系统表不再能直接访问,而只能通过视图访问,如图4.2所示“打开表”选项为灰色。也不能在系统数据库上定义触发器。,图4.1 系统数据库,图4.2系统表不能直接访问,(1)隐藏系统数据库,13,鉴于系统数据库
11、的重要性,用户可以在必要时隐藏SQL Server Management Studio中的系统数据库,具体步骤如下:(1)选择菜单栏中的【工具】|【选项】命令;(2)出现【选项】对话框,如图4.3所示,在左侧的【环境】|【常规】页中,选中【在对象资源管理器中隐藏系统对象】,再单击【确定】按钮;(3)这时会出现警告对话框,如图4.4所示,提示SQL Server Management Studio必须重新启动更改才会生效,单击【确定】按钮;(4)关闭并重新启动SQL Server Management Studio,系统数据库已经被隐藏。,(2)系统数据库的各种类型,14,1master数据库
12、master 数据库记录 SQL Server 系统的所有系统级信息。这包括实例范围的元数据(例如登录帐户)、端点、链接服务器和系统配置设置。此外,master 数据库还记录了所有其他数据库的存在、数据库文件的位置以及 SQL Server 的初始化信息。因此,如果 master 数据库不可用,则 SQL Server 无法启动。在 SQL Server 2005 中,系统对象不再存储在 master 数据库中,而是存储在 Resource 数据库中(后面将提到Resource 数据库)。使用 master 数据库时,由于master数据库的重要性,要尽量注意执行以下的操作,防止数据库崩溃:始
13、终有一个 master 数据库的当前备份可用。执行下列操作后,尽快备份 master 数据库:创建、修改或删除任意数据库更改服务器或数据库的配置值修改或添加登录帐户不要在 master 中创建用户对象。否则,必须更频繁地备份 master。不要针对master数据库将 TRUSTWORTHY 选项设置为ON(TRUSTWORTHY选项的作用是要求设置管理员权限)。,系统数据库的各种类型,15,2model数据库 model数据库用作在SQL Server实例上创建的所有数据库的模板。因为每次启动SQL Server时都会创建tempdb,所以model数据库必须始终存在于SQL Server系
14、统中。当发出CREATE DATABASE语句时,将通过复制model数据库中的内容来创建数据库的第一部分,然后用空页填充新数据库的剩余部分。如果修改model数据库,之后创建的所有数据库都将继承这些修改。就好像建立了一个模板,在以后创建数据库的时候都将继承这些模板的基本属性。3msdb数据库 msdb数据库由SQL Server代理用于计划警报和作业,也可以由其他功能(如Service Broker和数据库邮件)使用。,系统数据库的各种类型,16,4tempdb数据库 tempdb系统数据库是一个全局资源,可供连接到SQL Server实例的所有用户使用,并可用于保存下列各项:显式创建的临时
15、用户对象,如全局或局部临时表、临时存储过程、表变量或游标。SQL Server 2005数据库引擎创建的内部对象,例如,用于存储假脱机或排序的中间结果的工作表。由使用已提交读(使用行版本控制隔离或快照隔离事务)的数据库中数据修改事务生成的行版本(行版本用于在修改行中存储的值时维护各个阶段的值,包括当前值、原始值和默认值。例如,在修改了行中的某列后,该行的行状态将为 Modified,并且有两个行版本:Current(包含行的当前值)和 Original(包含列修改前行的值)。由数据修改事务为实现联机索引操作、多个活动的结果集(MARS)以及 AFTER 触发器等功能而生成的行版本。tempdb
16、中的操作是最小日志记录操作。这将使事务产生回滚。每次启动SQL Server时都会重新创建tempdb,从而在系统启动时总是保持一个干净的数据库副本。在断开联接时会自动删除临时表和存储过程,并且在系统关闭后没有活动连接。因此tempdb中不会有什么内容从一个SQL Server会话保存到另一个会话。不允许对tempdb进行备份和还原操作。,系统数据库的各种类型,17,5Resource数据库 Resource 数据库是只读数据库,它包含了 SQL Server 2005 中的所有系统对象。SQL Server 系统对象(例如 sys.objects)在物理上持续存在于 Resource 数据库
17、中,但在逻辑上,它们出现在每个数据库的 sys 架构中。Resource 数据库不包含用户数据或用户元数据。Resource 数据库可比较轻松快捷地升级到新的 SQL Server 版本。在早期版本的 SQL Server 中,进行升级需要删除和创建系统对象。由于 Resource 数据库文件包含所有系统对象,因此,现在仅通过将单个 Resource 数据库文件复制到本地服务器便可完成升级。同样,回滚 Service Pack 中的系统对象更改只需使用早期版本覆盖 Resource 数据库的当前版本。Resource 数据库存储在数据库服务器的物理文件名是 mssqlsystemresourc
18、e.mdf 和mssqlsystemresource.ldf。默认情况下,这些文件位于:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData 这个位置。每个SQL Server实例都具有一个(也是唯一的一个)关联的 mssqlsystemresource.mdf 文件,并且实例间不共享此文件。,(二)示例数据库,18,在Microsoft SQL Server 2000中微软为用户提供了Northwind示例数据库和Pubs示例数据库。让用户在学习SQL Server的时候能够通过示例数据库的使用快速的掌握数据库的使用方法。在Microsoft S
19、QL Server 2005中,微软引入了 Adventure Works Cycles 公司。AdventureWorks、AdventureWorksDW是SQL Server 2005中的示例数据库(如果在安装过程中已选择了安装它们的话)。这些数据库基于一个自行车生产公司,以一种简单的、易于理解的方式来展示SQL Server 2005的新功能,如Reporting Services、CLR(公共语言运行时)特性以及许多其他特性。尽管示例数据库不是为新手准备的,但在学习完基础知识后,使用它们也不会有困难。以下是微软公司对示例数据库的说明:Adventure Works Cycles,是A
20、dventureWorks 示例数据库所基于的虚构公司,是一家大型跨国生产公司。公司生产金属和复合材料的自行车,产品远销北美、欧洲和亚洲市场。公司总部设在华盛顿州的伯瑟尔市,拥有 299 名雇员,而且拥有多个活跃在世界各地的地区性销售团队。,示例数据库,19,在 2000 年,Adventure Works Cycles 购买了位于墨西哥的小型生产厂 Importadores Neptuno。Importadores Neptuno 为 Adventure Works Cycles 产品生产多种关键子组件。这些子组件将被运送到伯瑟尔市进行最后的产品装配。2001 年,Importadores
21、Neptuno 转型成为专注于旅行登山车系列产品的制造商和销售商。实现一个成功的财务年度之后,Adventure Works Cycles 希望通过以下方法扩大市场份额:专注于向高端客户提供产品、通过外部网站扩展其产品的销售渠道、通过降低生产成本来削减其销售成本。在SQL Server 2005中,示例数据库包括:AdventureWorks 示例 OLTP 数据库AdventureWorksDW 示例数据仓库AdventureWorksAS 示例 Analysis Services 数据库 这些数据库用在 SQL Server 联机丛书的代码示例以及随产品一起安装的配套应用程序和代码示例中。
22、,示例数据库,20,默认情况下,SQL Server 2005 中不安装 AdventureWorks(OLTP)、AdventureWorksDW(数据仓库)、AdventureWorksAS(Analysis Services)示例数据库以及附带示例。可以从 Microsoft下载中心下载这些示例和示例数据库,或者在安装过程中或安装完成后按照以下过程安装示例数据库和示例。(1)运行SQL Server 2005安装程序;(2)在“要安装的组件”页上选择【工作站组件、联机丛书和开发工具】,如图4.5;(3)单击【高级】,然后展开【文档、示例和示例数据库】,如图4.6;(4)选择【示例代码和应
23、用程序】,如图4.7;(5)展开【示例数据库】,然后选择要安装的示例数据库。,示例数据库,21,图4.5工作站组件、联机丛书和开发工具,图4.6 文档、示例和示例数据库,图4.7 示例代码和应用程序,第三节 使用Management Studio管理数据库,22,Microsoft SQL Server 2005为用户提供了强大的图形界面工具Management Studio,通过它,用户可以方便的完成对数据库的创建、修改和删除等操作。下面介绍如何使用Management Studio创建数据库。,创建数据库,修改数据库,删除数据库,数据库对象介绍,(一)创建数据库,23,在Microsoft
24、 SQL Server Management Studio中,可以使用图形工具创建数据库,具体步骤如下:(1)依次选择【开始】|【程序】|【Microsoft SQL Server 2005】|【SQL Server Management Studio】,打开SQL Server Management Studio窗口,点击【连接】按钮,连接到目标服务器。(2)连接上目标服务器以后,在界面左边的【对象资源管理器】窗口中的【数据库】节点上单击鼠标右键,弹出快捷菜单,选择【新建数据库】命令。(3)出现【新建数据库】窗口,如图4.8所示,在【数据库名称】栏输入要创建的数据库名称,在这里以Studen
25、t命名数据库。在【所有者】文本框中输入数据库的所有者(注:可以采用默认值,以当前登录账号为所有者;也可以点击【所有者】输入框右边的图标 自行选择)。在【数据库文件】编辑框中的【逻辑名称】列输入文件名,在【初始大小】列设置文件初始值大小,在【自动增长】列设置自动增长值大小(当数据文件或日志文件满时,系统会根据此处的设置自动增大文件的容量)。,创建数据库,24,(4)在【路径】列设置文件的保存目录,单击【路径】列后的 按钮,出现【定位文件夹】对话框,选择保存文件的目录。如果不需要改变以上各列的设置,请保持其默认值(注:系统默认值为SQL Server安装路径)。(5)在【新建数据库】窗口中选择【选
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 管理
链接地址:https://www.31ppt.com/p-6296540.html