《第1章 创建及维护数据库课件.ppt》由会员分享,可在线阅读,更多相关《第1章 创建及维护数据库课件.ppt(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 1 章创建及维护数据库1.1 【案例 1】注册 SQL Server 服务器正确安装和配置系统是确保 SQL Server 安全、高效运行的基础。本节将介绍在完成 SQL Server 2005 系统的安装后,如何配置 SQL Server 2005 服务的服务器、查看 SQL Server 2005 管理工具和使用实用工具管理 SQLServer 2005。相关知识1SQL Server 2005 数据库引擎在 SQL Server 2005 中,除了数据管理功能之外,还增强了像商业智能、数据仓库等功能,其中负责数据管理的是由一个称为“数据库引擎”的对象来实现的。数据库引擎提供控制访问和
2、进行快速的事务处理,满足企业中最需要占用数据的应用程序的要求,还为维护高可用性提供了大量的支持。(1)数据库引擎的角色与主要职责Microsoft SQL Server 2005 Database Engine 是储存、处理和保证数据安全的核心服务。数据库引擎的角色与主要职责如下所述。l 数据库引擎结构设计师:负责设计支持企业处理要求的数据存储基础结构,决定数据存储系统及使用的技术,并协调企业内数据驱动系统和应用系统之间的交互和互操作性;设计和创建数据库;在 SQL Server中使用 XML;在 SQL Server 2005 中使用本机 XML Web 服务。l 数据库引擎开发人员:涵盖开
3、发人员与数据库引擎的全部交互操作;许多类型的开发人员(如数据库设计人员或网站开发人员)都使用数据库引擎。l 数据库引擎管理员:在系统可用性、性能监视和优化、部署、升级、故障排除和配置等方面对数据库引擎实例的日常操作进行计划和运行;中小型组织可能只有一个管理员,较大型的组织可能将管理员角色细分为多个职务。l 数据库引擎信息工作者:是一个域专家,他了解数据库中存储之间的关系并能够将数据转换成业务信息;信息工作者很少直接与联机事务处理(OLTP)数据库交互,而是使用与数据库相关联的应用程序进行交互;当信息工作者与数据库直接交互时,通常是为了对辅助报表数据库执行临时查询或报告,或者是为了使用工作组或个
4、人应用程序一同发布的较小的数据库。除数据库引擎外,在 SQL Server 2005 中还有两个重要的概念,即联机事务处理和数据仓库。(2)联机事务处理OLTP 数据库联机事务处理(OLTP)关系数据库最适用于管理员变化的数据,是一种面向交易的处理系统,其基本特征是lllllll顾客的原始数据可以立即传送到计算机中心进行处理,并在很短的时间内给出处理结果。尽管用户发出的各个数据请求一般只引用几行,但是这些请求很多是同时发生的,而 OLTP 数据库只在使事务应用程序仅写入所需数据,以便尽快处理单个事务。OLTP 数据库通常具有以下特征:支持大量并发用户定期添加和修改数据;反映随时变化的单位状态,
5、但不保存其历史记录;包含的数据量大,其中包括用于验证事务的大量数据;具有复杂的结构;可以进行优化,以对事务活动做出响应;提供用于支持单位日常运营的技术基础结构;OLTP 系统在处理同时输入的成百上千的事务,为使事务应用程序仅写入所需数据,单个事务能够很快的完成,并且需访问较少的数据。(3)数据仓库OLTP 数据库的目的是捕获高比率的数据更改和添加,而数据仓库与此相反,其目的是组织大量的稳定数据以便于分析和检索。数据仓库经常用做商业智能应用程序的基础,其功能如下所述。llllll将来自异类数据源的数据组合为单个同类结构。采用简化的结构组织数据,以便提高分析查询的效率,而不是为了进行事务处理。包含
6、已转换的数据,这些数据有效、一致并经过合并和格式化以进行分析。提供代表业务历史记录的稳定数据。定期进行更新,更新时只添加数据而不频繁触发事务。简化安全性要求。2SQL Server Management Studio 功能SQL Server Management Studio(简称 SSMS)是为 SQL Server 数据库管理员和开发人员提供的新工具,是一套用于管理从属于 SQL Server 组件的工具,此工具由 Microsoft Visual Studio 内部承载,它提供了用于数据库管理的图形工具和功能丰富的开发环境。Management Studio 将 SQL Server
7、2000 企业管理器、AnalysisManager 和 SQL 查询分析器的功能集于一身,还可用于编写 MDX、XMLA 和 XML 语句。此集成环境使用户可以在一个界面内执行各种任务,如备份数据、编辑查询和自动执行常见函数。SQL ServerManagement Studio 包括以下功能: 代码编辑器:是一种功能丰富的脚本编辑器。SQL Server Management Studio 集成了所有 SQL Server数据库产品中的查询编辑,当通过工具栏按钮或通过菜单启动新的查询时,就会发现可以创建和编辑 SQL Serverlll查询、分析服务查询和 SQL Mobile 查询。 对
8、象资源管理器:用于查找、修改、编写脚本或运行从属于 SQL Server 实例的对象。 模板资源管理器:用于查找模板和为模板编写脚本。 解决方案资源管理器:用于将相关脚本组织并存储为项目的一部分。 属性窗口:用于显示当前选定对象的属性。 新增的功能:断开连接状态下的访问,SQL Server 2005 可以在与 SQL Server 实例断开连接时编写和编辑脚本。可以在任意对话框中创建脚本,并能在创建脚本之后读取、修改、存储和重用脚本。非模式对话框。在访问某个 UI 对话框时,可以浏览 SQL Server Management Studio 中的其他资源而不用关闭该对话框。3SQL Serv
9、er Management Studio 界面默认情况下,SQL Server Management Studio 中显示“已注册的服务器”、“对象资源管理器”和“文档窗口”3 个组件窗口,如图 1-1-22 所示。图 1-1-22Microsoft SQL Server Management Studio 窗口 已注册的服务器:该窗口列出的是经常管理的服务器,可以在该列表中添加、删除服务器。如果计算机上以前安装了 SQL Server 2000 企业管理器,则系统将提示您导入已注册服务器的列表。否则,列出的服务器中仅包含运行 SQL Server Management Studio 的计算机
10、上的 SQL Server 实例,如果没有显示所需的服务器,可以在“已注册的服务器”中单击 Microsoft SQL Servers 按钮,然后在弹出的菜单中选中“更新本地服务器注册”命令。“已注册的服务器”组件的工具栏包含用于“数据库引擎”、Analysis Services、Reporting Services、SQLServer Mobile 和 Integration Services 的按钮,可以注册上述任意服务器类型以便于管理。 对象资源管理器:是服务器中所有数据库对象的树视图,如图 1-1-23 所示,该树视图包括 SQL ServerDatabase Engine、Analy
11、sis Services、Reporting Services、Integration Services 和 SQL Servers Mobile数据库。对象资源管理器包括与其连接的所有服务器的信息,打开 SMSS 时,系统会提示:是否将对象资源管理器连接到上次使用的设置,可以在“已注册的服务器”组件中双击任意服务器进行连接,但无须注册要连接的服务器。在对象资源管理器的工具栏上,选择“连接”“数据库引擎”命令,如图 1-1-23 所示,系统将打开如图 1-1-21 所示的“连接到服务器”对话框。 文档窗口:是 Management Studio 中的最大部分,文档窗口包含查询编辑器和浏览器窗口
12、。默认情况下,将显示已于当前计算机上的数据库引擎实例连接的“摘要”页,如图 1-1-24 所示,该窗口可以配置为显示选项卡式文档或多文档界面(MDI)环境,在选项卡式文档模式中,默认的多个文档将沿着文档窗口的顶部显示为选项卡。图 1-1-23 选择“数据库引擎”命令图 1-1-24 “摘要”页l4数据库对象(1)系统数据库安装完成 SQL Server 2005 的同时,系统数据库(master、model、msdb 和 tempdb)会自动安装到数据库服务器上。SQL Server 2005 不同于 SQL Server 2000,默认情况下不安装 pubs 和 northwind 数据库,
13、用户可从微软网站下载这两个数据库文件后附加到数据库服务器上,关于数据库的附加操作,请参阅本教材第 1 章第 3节。启动 SQL Server Management Studio 程序,在“对象资源管理器”窗格中展开“数据库”“系统数据库”结点,如图 1-1-25 所示,SQL Server 2005 系统数据库及其说明如下所述。master 数据库:用于记录 SQL Server 实例的所有系统信息。该数据库中保存着一类特殊的表(系统表),从整体上管理系统。例如,当用户在服务器上创建新的数据库时,将向 master 数据库的 sysdatabases 表中加入一条新的记录。所有的扩展存储过程和
14、系统存储过程,无论应用在哪个数据库,都存储在 master 数据库中。由于几乎所有描述服务器的信息都存储在 master 数据库中,因此该数据库对于整个系统是至关重要的,并且不能删除。master 数据库包含 SQL Server 实例使用的系统级信息(例如登录信息和配置选项设置),不能在 master 数据库中创建任何用户对象(例如:表/视图/存储过程或触发器)。图 1-1-25展开“系统数据库”结点lllmsdb 数据库:该数据库用于 SQL Server 代理计划警报和作业,是 SQL 代理过程存储系统任务的地方。如果计划在定时对数据库进行备份,那么在 msdb 中将有一条记录;如果安排
15、一个一次性执行的存储过程,同样需要在 msdb 中加入一条记录。model 数据库:从名称上理解,说明它是建立副本所基于的模型,为创建新的数据库提供模板。用做 SQLServer 实例上创建的所有数据库进行的修改(如数据库大小、排列规则、恢复模式和其他数据库选项)将应用于以后创建的所有数据库。当需要改变标准的、新建的数据库时,可以修改 model 数据库。例如,可以加入一组审计表,使得创建的所有数据库中都包含这些表;也可以放进一些用户组,这样在系统上新建的所有数据库中都将复制它们。由于 model 数据库是所有其他数据库的模板,因此该数据库是必需的,且必须留在系统上,不可删除。tempdb 数
16、据库:用于保存临时对象或中间结果,是服务器的一个关键的工作区域。在执行复杂的或大量的查询时,如果 SQL Server 需要创建中间表来完成,那么 SQL Server 将在 tempdb 中进行。在创建临时表时,尽管你认为是在当前数据库中创建的,但实际上是创建在 tempdb 中的。当需要临时存储数据时,数据很可能是存储在 tempdb 中的。tempdb 中的对象是临时的,而且 tempdb 自身也是临时的。每次启动 SQL Server时,tempdb 是系统中唯一完全重新创建的数据库。(2)数据库对象lSQL Server 实例可以支持多个数据库,每个数据库可以存储来自其他数据库的相关
17、数据或不相关数据。例如:SQL Server 实例可以有一个数据库用于存储网站商品数据,另一个数据库用于存储于内部员工的数据。SQLServer 2005 中的数据库由一个表集合组成。表是所有数据库的构成中最为重要的。这些表包含数据以及为支持对数据执行的活动而定义的其他对象,如视图、索引、存储过程、用户定义函数和触发器。启动 SQL Server Management Studio 程序,在“对象资源管理器”窗格中展开“数据库”结点,依次展开“商品管理”数据库,如图 1-1-26 所示,SQL Server 2005 数据库及其对象组成如下所述。表:数据库中的数据存储在表中,用于说明如何使用表
18、存储数据行和定义多个表之间的关系,由域(domain)数据(列)和实体(entity)数据(行)构成。每个表定义中也包含元数据(metadata)(数据的描述信息),以说明表中包含的数据的属性。每一列都有它自己的一组规则,以限定该列中能存储什么。违反任何一列的规则都将导致系统拒绝行的插入或对已有行的更新,或者阻止行的删除。图 1-1-26展开“商品管理”数据库ll索引(index):索引的作用与百科全书后面的索引十分相似,用于说明如何使用索引提高访问表中数据的速度,是存在于特定表或视图结构中的对象。在索引中,以特定的方式存储了某类查找(即“键”)值,通过该键可以找到实际要查找的信息。索引提供了
19、一种加快信息查找的方式。索引分为两类:聚集索引(clustered index)每个表只能有一个聚集索引,如果一个索引是聚集的,则该索引所基于的表,其物理存储顺序与该索引一致;非聚集索引(non-clustered index)每个表可以有许多非聚集索引,这类索引指向能引导你找到数据的一些其他值。存储过程(stored procedure,sproc):是主要的编程功能,到了.NET 时代更是如此。通常,存储过程是组成一个逻辑单元的一系列有序的 Transact-SQL(用来查询 Microsoft SQL Server 的语言)语句。它们可以有变量和参数,也允许有选择结构和循环结构。比起发送
20、单独的语句到服务器,使用存储过程有以下优点:调用存储过程只需要使用一个简短的名字,而不必发送一大串的文本字符串,这样,运行存储过程中的代码需要的网络流量更小;存储过程是经过了预先优化和预编译的,故每次运行存储过程都能节省少量的时间;为了安全性的原因或者仅仅为了隐藏数据库的复杂性,需要封装一个过程;可以从其他存储过程中调用,使得它们能在有限的意义上重用。llll视图:是一种虚拟表,是存储在表中的数据的预先计划好的映射和表现。多数情况下,使用视图与使用表类似,只是视图中不包含自己的数据。视图仅仅是以查询的形式存储在数据库中。该查询从一个或多个表的一些列中获取数据。用户定义函数:(User-Defi
21、ned Function,UDF)与存储过程极其相似,用于说明如何使用函数将任务和进程集中在服务器中。具有以下优点:能返回大多数 SQL Server 数据类型的值(不能返回 text、ntext、image、cursor 以及 timestamp 类型);不能有“副作用”。基本上它们不能在函数的范围之外做任何事情,例如修改表、发送电子邮件、改变系统或数据库的参数;可以传入多个变量并返回一个值。用户和角色:用户和角色是密切相关的。用户(user)非常类似于登录名。该对象是登录到 SQL Server 上的用户的标识符。登录到 SQL Server 的任何人都必须(根据使用的安全模型直接或间接地
22、)映射为一个用户。用户转而属于一个或多个角色(role),能够把在 SQL Server 中执行特定动作的权力直接授予用户或(一个或多个用户所属的)角色。触发器(trigger):是指当表中发生特定的事情(如插入、更新或删除)时,自动执行的一段逻辑代码。触发器能够用在很多的事情上,但它主要用于在输入数据、复制数据,或者检查更新以确保满足某些条件。包含两种触发器:DML 触发器仅在修改表中的数据后执行;DDL 触发器在响应数据定义语言(DDL)语句时激发。llllll约束(constraint):是限定表中的数据以满足某些条件。在某种程度上,约束与触发器作用类似,都是数据完整性问题上可能的解决方
23、案。规则:限定存放在表中数据的条件。如果更新或插入的记录违反了规则,那么更新或插入将被拒绝。规则能够用来在用户定义数据类型(user-defined data type)上加以限制。与规则不同,约束本身并非实际的对象,而只是描述特定表的元数据。默认值:有两种类型。一种默认值其自身是一个对象;另一种默认值不是实际的对象,只是描述表中特定列的元数据(这与约束和规则类似,规则是对象,约束是元数据而不是对象)。两种默认值的作用相同。在插入记录时,如果没有为一个列指定值,而该列上定义了默认值,那么将自动使用默认值进行插入。用户定义数据类型:是系统定义数据类型的扩展。从 SQL Server 2005 开
24、始,其潜力几乎是无穷的。虽然SQL Server 2000 及更早版本中有用户定义数据类型的概念,但它们其实仅限于已有数据类型的不同筛选。在 SQL Server 2005 中能够把.NET 程序集与用户定义数据类型绑定在一起,这就意味着可以有一种数据类型,该类型中完全能存储所有可以存储到.NET 对象中的事物。事件通知:用于说明作为特殊数据库对象的事件通知,可以向 Service Broker 发送有关服务器和数据库事件的信息主题。同义词:用于说明如何使用同义词引用基对象,是包含架构的对象的另一个名称。lll5数据库文件数据库文件由文件组、数据文件页和区等存储单位组成。(1)数据库文件SQL
25、 Server 2005 数据库具有 3 种类型的文件。主数据库文件:是数据库的起点,每个数据库都有一个主数据库文件,包含数据库的启动消息,并指向数据库中的其他文件;用户数据和对象可存储在该文件中,也可以存储在次要数据库文件中,每个数据库有一个主要数据库文件,其扩展名是.mdf。次要数据库文件:除主数据库文件以外的所有其他数据库文件都是次要数据库文件。该文件是可选的,由用户定义并且存储数据;通过每个文件存放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上;如果数据库超过了单个 Windows 文件的最大值,可以使用次要数据文件,使数据库能继续增长,次要数据库文件的扩展名是.ndf。事
26、务日志文件:用于保存恢复数据库的日志信息,每个数据库必须至少有一个日志文件,其扩展名是.ldf。(2)逻辑文件与物理文件启动 SQL Server Mangement Studio,在“对象资源管理器”窗格中展开“数据库”结点,然后展开“系统数据库”,查看到 master 数据库,如图 1-1-25 所示。在操作系统下,找到 SQL Server 的安装路径(例如:C:ProgramFilesMicrosoft SQL Server),依次打开 MSSQL.1、MSSQL 和 Data 文件夹,其中 master.mdf 和 mastlog.ldf即为 master 数据库对应的物理文件,如图
27、 1-1-27 所示。每个 SQL Server 2005 数据库至少具有两个文件:数据文件和日志文件。数据文件包含数据和对象,例如表、索引、存储过程和视图。日志文件包含恢复数据库中的所有事务所需的信息。为了便于分配和管理,可以将数据文件集合起来,存放到文件组中。图 1-1-27master 数据库对应的物理文件名称llSQL Server 2005 文件有两个文件名称:逻辑文件名和物理文件名。逻辑文件名:是所有 T-SQL 语句引用物理文件时所使用的名称,逻辑文件名必须符合 SQL Server 标识符规则,而且在数据库中逻辑文件名中必须是唯一的。物理文件名:物理文件名是包含目录路径的物理文
28、件名,也必须符合操作系统文件名规则。(3)文件组每个数据库有一个主要文件组,此文件组包含主要数据文件和未放入其他文件组的所有次要文件。可以创建用户定义的文件组,用于将数据文件集合起来,以便于管理、数据分配和放置。例如,可以分别在 3 个磁盘驱动器上创建 3 个文件 data1.ndf、data2.ndf 和 data3.ndf,并将它们分配给文件组 fgroupl,可以明确地在文件组 fgroupl 上创建一个表,对表中数据的查询将分散到三个磁盘上,从而提高性能。SQL Server 2005 将数据库映射为一组物理文件,在备份操作和还原操作中,文件组用于帮助数据布局和管理任务。(4)数据文件
29、页SQL Server 中数据存储的基本单位是页。为数据库中的数据文件(.mdf 或.ndf)分配的磁盘空间可以从逻辑上划分成页(从 0n 连续编号)。磁盘 I/O 操作在页级执行,即 SQL Server 读取或写入所有数据页。SQL Server 中,页的大小为 8KB,则 SQL Server 数据库中每 MB 有 128 页。每页的开头是 96B 的标头,用于存储有关页的系统信息。此信息包括页码、页类型、页的可用空间以及拥有该页面的对象的分配单元 ID。在数据页上,数据行紧接着标头按顺序放置。页的末尾是行偏移表,对于页中的每一行,每个行偏移表都包含一个条目。每个条目记录对应行的第一个字
30、节与页首的距离。行偏移表中行的条目的顺序与页中行的顺序相反。SQL Server 2005 数据文件中的页按顺序编号,文件的首页以 0 开始。数据库中的每个文件都有一个唯一的文件 ID 号。若要唯一标识数据库中的页,需要同时使用文件 ID 号和页码。每个文件的第一页是一个包含有关文件属性信息的文件的首页。在文件开始处的其他几页也包含系统信息(例如分配映射)。有一个存储在主数据文件和第一个日志文件中的系统页是包含数据库属性信息的数据引导页。1.2 【案例 2】创建“选课管理”数据库一个数据库必须至少包含一个数据文件和一个事务日志文件,所以创建数据库的操作就是建立数据文件和事务日志文件。相关知识1
31、在 SSMS 中使用向导方式创建数据库一个 SQL Server 2005 数据库服务器实例中最多可以创建 32 767 个数据库,作为初学者,我们可以在 SQLServer Management Studio 窗口中使用可视化的界面,通过向导提示来创建数据库,具体的步骤如下所述。 选择“开始”“程序”Microsoft SQL Server 2005 命令,打开 SQL Server Management Studio 窗lll口,使用“Windows 身份验证”或者是“SQL Server 身份验证”建立连接。 在“对象资源管理器”窗格中依次展开服务器,选择“数据库”结点。 在“数据库”结
32、点右击,从弹出的快捷菜单中选择“新建数据库”命令。 打开“新建数据库”窗口,在该对话框中有 3 个选项卡,分别是“常规”、“选项”和“文件组”,如图1-2-3 所示。 在“数据库名称”文本框中输入数据库的名称,在“所有者”文本框中输入该数据库的所有者名称,可以选择“默认值”,也可以通过单击文本框右边的“浏览”按钮选择所有者,勾选“使用全文索引”复选框,表示可以在数据库中使用全文索引进行查询操作。在输入数据库的名称、所有者、大小以及存储该数据库的文件和文件组、数据库名称时必须遵循 SQL Server 标识符规则。 在“常规”选项卡中的“数据库文件”列表中包括两行:一行是数据文件,一行是日志文件
33、。通过单击下面相应的按钮可以添加或者删除相应的数据文件。该列表中各列的含义如下所述。逻辑名称:指定该文件的文件名,其数据文件与 SQL Server 2000 不同,在默认情况下不再为用户输入的文件名添加下画线和 Data 字样,相应的文件扩展名并未改变。文件类型:用于区别当前文件是数据文件还是日志文件。文件组:显示当前数据库文件所属的文件组,一个数据库文件只能存放于一个文件组里。lll初始大小:制定该文件的初始容量,在 SQL Server 2005 中数据文件的默认值为 3MB,日志文件的默认值为1MB。自动增长:当文件的容量不能满足使用时,文件可以根据某种增长方式自动增长。通过单击“自动
34、增长”列中的省略号按钮,打开更改自动增长设置对话框进行设置。如图 1-2-4 所示的对话框,分别为数据文件、日志文件的自动增长进行设置。在创建数据库时最好指定文件的最大允许增长的大小,这样做可以防止文件在添加数据时无限制增大,以至用尽整个磁盘空间。路径:指定存放该文件的目录,默认情况下,SQL Server 2005 将存放路径设置为 SQL Server 2005 安装目录下的 data 子目录。单击该列中的按钮,可以在打开的“定位文件夹”对话框中更改数据库的存储路径。只能在创建数据库时改变其存储位置,一旦数据库创建以后,存储位置就不能被修改。在创建大型数据库时,尽量把主数据文件放在和事务日
35、志文件不同的路径下,这样能够提高数据读取的效率。 在“新建数据库”窗口中,切换到“选项”选项卡,定义所创建数据库的排序规则、恢复模式、兼容级别、恢复、游标等选项,如图 1-2-7 所示。如果在 “兼容级别”文本框中选择 SQL Server 2005(90),可以保证 SQL Server 2005 以前版本的数据库能够顺利地创建数据库关系图。图 1-2-7 “新建数据库”窗口中的“选项”选项卡 在“新建数据库”窗口中,切换到“文件组”选项卡,如图 1-2-8 所示,可以设置数据库文件所属的文件组,还可以通过“添加”或者“删除”按钮更改数据库文件所属的文件组。图 1-2-8 “新建数据库”窗口
36、中的“文件组”选项卡 完成以上操作后,单击“确定”按钮,关闭“新建数据库”窗口,成功创建一个数据库,这时可以在“对象资源管理器”窗格中看到新建的数据库。2Transact-SQL 语句创建数据库语句格式虽然使用 SQL Server Management Studio 是创建数据库最简单的方法,但在实际设计过程中,开发人员有时会直接使用 Transact-SQL 在程序代码中创建数据库及其他数据库对象。SQL Server 2005 使用的 Transact-SQL是标准 SQL(结构化查询语言)的增强版本,使用它提供的 CREATE DATABASE 语言可以完成新建数据库的操作。(1)CR
37、EATE DATABASE 语句的简单格式使用 CREATE DATABASE 语句创建数据库,最简单的方式如下:CREATE DATABASE 按照以上方式不需要指定 databaseName 的参数,即可成功创建数据库,databaseName 表示要创建的数据库的名称,其他与数据库有关的选项都使用系统的默认值。例如,创建“选课系统”数据库,其语句格式如下:CREATE DATABASE 选课系统(2)CREATE DATABASE 语句的完整格式如果创建数据库时,明确指定数据库的文件和这些文件的大小及增长的方式,就需要使用 CREATE DATABASE语句的完整格式,其语法结构如下:C
38、REATE DATABASE ON ( NAME=,FILENAME=, SIZE=, MAXSIZE=, FILEGROWTH=) LOG ON ( NAME=,FILENAME=, SIZE=, MAXSIZE=, FILEGROWTH=)在以上 CREATE DATABASE 语法格式中,每一种特定的符号都有特殊的含义。方括号 中的内容表示可以省略的选项或参数。通常会与符号连用,表示中的选项或参数必选其中之一。例如,MAXSIZE=max_sizellllllllKBMBGBTBUNLIMITED表示定义数据库文件的最大容量,或者指定一个具体的容量 max_size KBMBGBTB,或
39、者指定容量没有限制 UMLIMITED,但是不能空缺。其他各关键字解释如下所述。ON:用来创建数据文件,使用 PRIMARY 表示创建的是主数据文件。FILEGROUP:用来创建次文件组。LOG ON:用来创建事务日志文件。NAME:为所创建文件的文件名称。FILENAME:指出了各文件存储的路径。SIZE:定义初始大小。MAXSIZE:指定了文件的最大容量。FILEGROWTH:指定了文件的增长值。3在 SSMS 中使用 Transact-SQL 语句创建数据库在掌握 CREATE DATABASE 语句的语法格式及参数含义后,可以使用该语句创建“教务管理系统”数据库,具体操作步骤如下所述。
40、 选择“开始”“程序”Microsoft SQL Server 2005 命令,打开 SQL Server Management Studio 窗口,使用“Windows 身份验证”或者是“SQL Server 身份验证”建立连接。 单击“文件”菜单,依次选择“新建”“数据库引擎查询”命令,如图 1-2-9 所示,或者单击“新建查询”按钮,创建一个查询输入窗口。图 1-2-9选择“数据库引擎查询”命令 在如图 1-2-10 所示的窗口内输入 Transact-SQL 语句。例如,以创建“选课系统”数据库为例,保存位置为 D:data,语句格式如下:CREATE DATABASE 选课管理ON(
41、NAME=选课管理_DATA,FILENAME=D:data选课管理_DATA.ndf,SIZE=5MB,MAXSIZE=20MB,FILEGROWTH=5%)LOG ON(NAME=选课管理_log,FILENAME=D:data选课管理_log.ldf,SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=1MB) 单击工具栏中的“分析”按钮,检查语法错误,如果通过,将在查询窗口内的“消息”窗格中显示“命令已成功完成”提示消息,如图 1-2-10 所示。在“对象资源管理器”窗格中刷新,展开数据库结点就能看到新建的“选课管理”数据库,如图 1-2-10 所示。图 1-2-10查询
42、窗口llll在上述创建的“选课管理”数据库案例中,数据文件的逻辑名称是“选课管理_DATA”,其日志文件的逻辑名称是“选课管理_log”,“选课管理_DATA”数据文件的物理名称是通过 FILENAME 关键字指定的,SIZE关键字指定该数据文件的大小为 5MB,最大值是 20MB,使用 LOG ON 子句指定日志文件的信息。由于该数据库的数据文件大小是 5MB,日志文件大小是 2MB,所以整个数据库的大小是 7MB。如果该数据库的大小不断增长,则可以指定其增长方式,如果数据的大小基本不变,为提高数据的使用效率,通常不指定其具有自动增长方式。如果数据库的数据文件或日志文件的数量多于 1 个,则
43、文件之间使用逗号分隔。当某个数据库有 2 个或者 2个以上的数据文件时,需要指定哪一个数据文件是主数据文件。默认情况下,第一个数据文件是主数据文件,也可以使用 PRIMARY 关键字来指定主数据文件。在执行上述语句之前,数据文件和日志文件所在的目录必须存在,如果不存在将产生错误,创建数据库失败,同时所命名的数据库名称必须唯一,否则,创建数据库也将失败。4查看数据库属性查看数据库信息最简单的方法是使用 SQL Server Management Studio,操作步骤如下所述。 打开 SQL Server Management Studio 窗口,在“对象资源管理器”窗格中选择该数据库结点并右击
44、,选择“属性”命令。 在打开的“数据库属性选课管理”窗口中即可查看数据库的基本信息、选项信息、文件信息和权限信息等,如图 1-2-11 所示。图 1-2-11 “数据库属性选课管理”窗口llll5删除数据库随着数据库数量的增加,系统的资源消耗越来越多,运行速度也将减慢,这就需要将不需要的数据库删除,释放被占用的磁盘空间和系统消耗。SQL Server 2005 提供了两种方法来完成这些任务。(1)使用 SQL Server Management Studio 工具打开 SQL Server Management Studio 窗口,并使用“Windows 身份验证”或者是“SQL Server
45、 身份验证”建立连接。在“对象资源管理器”窗格中展开服务器,然后展开“数据库”结点。从展开的数据库结点列表中,右击选择要删除的数据库,从弹出的快捷菜单中选择“删除”命令。打开“删除对象”窗口,如图 1-2-12 所示,单击“确定”按钮确认删除。删除操作完成后会自动返回 SQL ServerManagement Studio 窗口,则选中的数据库被删除。(2)使用 Transact-SQL 语句删除数据库使用 Transact-SQL 语句删除数据库的语法为:DROP DATABASE database_name,n。其中 database_name为要删除的数据库名,,n表示可以有多个数据库名
46、。例如,要删除数据库“选课管理”,可使用语句:DROPDATABASE 选课管理。提示:使用 DROP DATABASE 删除数据库不会出现确认信息,所以使用这种方法时要小心谨慎,而且一定不能删除系统数据库,否则会导致 SQL Server 2005 服务器无法使用。图 1-2-12 “删除对象”窗口ll1.3 【案例 3】维护“选课管理”数据库相关知识1修改数据库SQL Server 2005 除了允许修改数据库的选项设置以外,还允许对数据库具体的属性进行更改,例如修改数据库的名称、大小,以及添加或删除文件和文件组,删除无效数据库等。修改数据库主要是针对创建数据库在需求有变化时进行的操作,这
47、些修改可分为数据库的名称、大小及属性,具体操作步骤如下所述。(1)修改数据库名称通常情况下,不建议用户修改创建好的数据库名称,因为许多应用程序可能已经使用了该数据库的名称,在更改了数据库的名称之后,还需要修改相应的应用程序。修改数据库的方法有多种,包括使用 SSMS 程序、ALTER DATABASE 语句等。使用 SSMS 程序。从“对象资源管理器”窗格中右击一个数据库名称结点,选择“重命名”命令后输入新的名称,即可直接改名。ALTER DATABASE 语句。该语句修改数据库名称时只更改了数据库的逻辑名称,对于该数据库的数据文件和日志文件没有任何影响,lll语法如下:ALTER DATAB
48、ASEdatabaseNameMODIFY NAME=newdatabaseName例如,将“选课系统”数据库更名为 Class_MIS,语句为ALTER DATABASE 选课系统 MODIFY NAME=Class_MIS(2)修改数据库大小如果数据库中的数据量不断膨胀,需要扩大数据库的尺寸,这时就需要修改数据库大小、增加或删除文件、修改数据文件和日志文件的长度。修改数据库大小可以通过如下 3 种方式:在数据库中添加新的次要数据文件或日志文件。在创建数据库时,设置数据库为自动增长方式。直接修改数据库的数据文件或日志文件的大小。使用 ALTER DATABASE 命令可以在数据库中添加或删除
49、文件和文件组、更改文件的名称和大小、更改文件和文件组的属性。虽然 ALTER DATABASE 提供了更改数据库名称、文件组名称以及数据文件和日志文件的逻辑名称的能力,但不能改变数据库的储存位置。修改数据库的基本语句格式如下:ALTER DATABASE ADD FILE | ADD LOG| REMOVEFILEFILE| ADD FILEGROUP| REMOVE| MODIFY| MODIFY| MODIFYFILEGROUPFILENAME=FILRGROUP | SET 如果要增加的是日志文件,可以使用 ADD LOGFILE 子句。在一个 ALTER DATABASE 语句中,一次
50、操作可增加多个数据文件或日志文件,多个文件之间使用逗号分隔开。例如,可以通过为“选课系统”数据库增加一个大小为 3MB 的数据文件,来实现将其扩大 3MB。使用 ALTERDATABASE 语句,利用 ADD FILE 子句新增一个次要数据文件实现,这里新增数据文件的逻辑名称是“选课系统_DATA1”,其大小是 3MB,最大值是 10MB,并且可以自动增长。具体语句如下:ALTER DATABASE选课系统(ADD FILENAME=选课系统_DATA1,FILENAME=D:data选课系统_DATA.ndf,SIZE=3MB,MAXSIZE=10MB,FILEGROWTH=10%)2收缩数