《SQLServer数据库的基本操作流程igd.pptx》由会员分享,可在线阅读,更多相关《SQLServer数据库的基本操作流程igd.pptx(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章第三章数据库的基本操作数据库的基本操作3.1 SQL Server数据库的基本知识数据库的基本知识和概念和概念3.2 创建数据库创建数据库3.3 管理数据库管理数据库3.4 应用举例应用举例第三章第三章第三章第三章目录目录目录目录3.1.1 SQL Server的数据库的数据库oSQL Server 2005数据库就是有组织的数据的数据库就是有组织的数据的集合,这种数据集合具有逻辑结构并得到数据集合,这种数据集合具有逻辑结构并得到数据库系统的管理和维护。库系统的管理和维护。SQL Server 2005通过通过允许创建并存储其他对象类型(如存储过程、允许创建并存储其他对象类型(如存储过程
2、、触发器、视图等)扩展了数据库的概念。触发器、视图等)扩展了数据库的概念。o数据库的数据按不同的形式组织在一起,构成数据库的数据按不同的形式组织在一起,构成了不同的数据库对象。数据库是数据库对象的了不同的数据库对象。数据库是数据库对象的容器。当连接到数据库服务器后,看到的这些容器。当连接到数据库服务器后,看到的这些对象都是逻辑对象,而不是存放在物理磁盘上对象都是逻辑对象,而不是存放在物理磁盘上的文件,数据库对象没有对应的磁盘文件,整的文件,数据库对象没有对应的磁盘文件,整个数据库对应磁盘上的文件与文件组,如图个数据库对应磁盘上的文件与文件组,如图3-1所示。所示。o数据、表、存储过程、触发器、
3、视图、规则、数据、表、存储过程、触发器、视图、规则、默认值、用户定义数据类型、索引、权限、默认值、用户定义数据类型、索引、权限、o数据库用户、数据库规则等对象数据库用户、数据库规则等对象 数据库日志文件数据文件数据、表、存储过程、触发器、视图、数据、表、存储过程、触发器、视图、规则、默认值、用户定义数据类型、规则、默认值、用户定义数据类型、索引、权限、索引、权限、数据库用户、数据数据、表、存储过数据库用户、数据数据、表、存储过程、触发器、视图、规则、默认值、程、触发器、视图、规则、默认值、用户定义数据类型、索引、权限、用户定义数据类型、索引、权限、数据库用户、数据库规则等对象数据库用户、数据库
4、规则等对象库规则等对象库规则等对象图3.1 数据库、数据库对象及文件 3.1 SQL Server数据库的基本知识和概念数据库的基本知识和概念第三章第三章第三章第三章 SQL Server 2005 SQL Server 2005是一种采用是一种采用T-SQLT-SQL语言的大型关系型数语言的大型关系型数据库管理系统。本章我们将学习创建并管理数据库和文件组,掌据库管理系统。本章我们将学习创建并管理数据库和文件组,掌握优化握优化SQL ServerSQL Server的技巧,并讨论的技巧,并讨论SQL ServerSQL Server存储数据的方法。存储数据的方法。要想熟练掌握管理要想熟练掌握管
5、理SQL Server 2005的技术,我们就有必要理解掌握的技术,我们就有必要理解掌握SQL Server 2005数据库的基本知识和概念。数据库的基本知识和概念。3.1.2 SQL Server 的事务日志的事务日志 事事务务是是一一组组T-SQLT-SQL语语句句的的集集合合,这这组组语语句句作作为为单单个个的的工工作作与与恢恢复复的的单单元元。事事务务作作为为一一个个整整体体来来执执行行,对对于于其其数数据据的的修修改改,要要么么全全都都执执行行,要要么么全全都都不不执执行行。例例如如,带带两两个个存存折折去去银银行行转转存存,将将A A存存折折的的2 2 000000元元转转入入B
6、B存存折折中中,银银行行工工作作人人员员将将从从A A存存折折中中取取出出2 2 000000元元,然然后后将将这这20002000元元存存入入B B存存折折中中。这这两两个个操操作作应应该该作作为为一一个个事事务务来来处处理理,存存与与取取的的操操作作要要么么都都做做,要要么么都都不不做做。否否则则,就就会会出出现现客客户户不不愿愿意意接接受受的的已已取取但但未未存存的的结结果果或或者者银银行行不愿意接受的未取但已存的结果。不愿意接受的未取但已存的结果。第三章第三章第三章第三章 事务日志是数据库中已发生的所有修改和执行每次修改事务日志是数据库中已发生的所有修改和执行每次修改的事务的一连串记录
7、。的事务的一连串记录。为了维护数据的一致性,并且便于进为了维护数据的一致性,并且便于进行数据库恢复,行数据库恢复,SQL Server将各种类型的事务记录在事务将各种类型的事务记录在事务日志中。日志中。SQL Server自动使用预写类型的事务日志。这就自动使用预写类型的事务日志。这就是说在执行一定的更改操作之后,并且在这种更改写进数据是说在执行一定的更改操作之后,并且在这种更改写进数据库之前,库之前,SQL Server先把相关的更改写进事务日志。先把相关的更改写进事务日志。下面以删除学生数据库中学生基本信息表的某条记录为例,下面以删除学生数据库中学生基本信息表的某条记录为例,介绍事务日志记
8、录更改数据的流程:介绍事务日志记录更改数据的流程:o(1)应用程序发送删除学生基本表中某一条记录的请求。)应用程序发送删除学生基本表中某一条记录的请求。o(2)在执行更改的时候,将受到影响的页面由磁盘调入内)在执行更改的时候,将受到影响的页面由磁盘调入内存中。存中。o(3)在内存中的数据更改之前,设置开始标记,将更改语)在内存中的数据更改之前,设置开始标记,将更改语句及数据记录到事务日志中,设置结束标记(日志直接写句及数据记录到事务日志中,设置结束标记(日志直接写入磁盘)。入磁盘)。o(3)检查点进程将所有完成的事务写回磁盘数据库,事务)检查点进程将所有完成的事务写回磁盘数据库,事务日志一直处
9、于工作状态,审计多种事件信息。日志一直处于工作状态,审计多种事件信息。o(4)如果发生系统故障,通过利用事务日志,自动恢复进)如果发生系统故障,通过利用事务日志,自动恢复进程将向前展示所有已提交的事务。在自动恢复中,事务日程将向前展示所有已提交的事务。在自动恢复中,事务日志中的标记用来确定事务的起始点与终止点。当出现检查志中的标记用来确定事务的起始点与终止点。当出现检查点的时候,数据页将写入磁盘中。点的时候,数据页将写入磁盘中。3.1.3 SQL Server 数据库文件及文件组数据库文件及文件组 1SQL Server数据库文件的三种类型数据库文件的三种类型数据库文件是存放数据库数据和数据库
10、对象的文件。一个数据库可以有一个或多个数据库文件,一数据库文件是存放数据库数据和数据库对象的文件。一个数据库可以有一个或多个数据库文件,一个数据库文件只属于一个数据库。个数据库文件只属于一个数据库。SQL Server数据库文件根据其作用不同,可以分为以下三数据库文件根据其作用不同,可以分为以下三种文件类型:种文件类型:(1)主要数据文件()主要数据文件(primary file):):用来存储数据库的数据和数据库的启动信息。主要数据文件用来存储数据库的数据和数据库的启动信息。主要数据文件是是SQL Server数据库的主体,其默认扩展名为数据库的主体,其默认扩展名为“.mdf”,它是每个数据
11、库不可缺少的部分,它是每个数据库不可缺少的部分,而且每个数据库只能有一个主要数据文件。主要数据文件中包含了其他数据库文件的信息。实而且每个数据库只能有一个主要数据文件。主要数据文件中包含了其他数据库文件的信息。实际的文件都有两种名称:操作系统文件名和逻辑文件名(际的文件都有两种名称:操作系统文件名和逻辑文件名(T-SQL语句中使用)。语句中使用)。(2)次要数据文件()次要数据文件(secondary file):):用来存储主要数据文件没有存储的其他数据,使用次要数用来存储主要数据文件没有存储的其他数据,使用次要数据文件可以扩展存储空间。如果数据库用一个主要数据文件和多个次要数据文件来存储数
12、据,据文件可以扩展存储空间。如果数据库用一个主要数据文件和多个次要数据文件来存储数据,并将它们放在不同的物理磁盘中,数据库的总容量就是这几个磁盘容量之和。次要数据文件的并将它们放在不同的物理磁盘中,数据库的总容量就是这几个磁盘容量之和。次要数据文件的扩展名为扩展名为“.ndf”。(3)事务日志文件()事务日志文件(transaction log):):事务日志文件是用来记录数据库更新情况的文件,扩展事务日志文件是用来记录数据库更新情况的文件,扩展名为名为“.ldf”,每个数据库至少要有一个事务日志文件,事务日志文件不属于任何文件组。凡,每个数据库至少要有一个事务日志文件,事务日志文件不属于任何
13、文件组。凡是对数据库进行的增、删、改等操作,都会记录在事务日志文件中。当数据库被破坏时可以利是对数据库进行的增、删、改等操作,都会记录在事务日志文件中。当数据库被破坏时可以利用事务日志文件恢复数据库的数据。用事务日志文件恢复数据库的数据。SQL Server中采用中采用“提前写提前写”方式的事务,即对数据库方式的事务,即对数据库的修改先写入事务日志,再写入数据库。的修改先写入事务日志,再写入数据库。第三章第三章第三章第三章 SQL ServerSQL Server数据库是数据库对象的容器,它以操作系统文件的形式数据库是数据库对象的容器,它以操作系统文件的形式存储在磁盘中。在存储在磁盘中。在SQ
14、L ServerSQL Server中数据库是由数据库文件和事务日志文件中数据库是由数据库文件和事务日志文件组成的。一个数据库至少应包含一个数据库文件和一个事务日志文件。组成的。一个数据库至少应包含一个数据库文件和一个事务日志文件。2SQL Server的数据库文件组的数据库文件组 文件组是将多个数据库文件集合起来形成的一个整体。每个文件组有一文件组是将多个数据库文件集合起来形成的一个整体。每个文件组有一个组名。文件组分为主文件组(个组名。文件组分为主文件组(primary)、自定义文件组)、自定义文件组(user_defined)和默认文件组()和默认文件组(default)。一个文件只能存
15、在于一个文)。一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用,日志文件不属于任何文件组。件组中,一个文件组也只能被一个数据库使用,日志文件不属于任何文件组。主文件组中包含了所有的系统表,自定义文件组包含所有在使用主文件组中包含了所有的系统表,自定义文件组包含所有在使用CREATE DATABASE或或ALTER DATABASE时使用时使用FILEGROUP关键字进行约束的关键字进行约束的文件,默认文件组容纳所有在创建时没有指定文件组的表、索引以及文件,默认文件组容纳所有在创建时没有指定文件组的表、索引以及text、ntext、image数据类型的数据,任何时候只能有一个文件
16、组被指定为默认数据类型的数据,任何时候只能有一个文件组被指定为默认文件组。默认情况下,主文件组被当做默认文件组。文件组。默认情况下,主文件组被当做默认文件组。为了提高数据的查询速度,便于数据库的维护,为了提高数据的查询速度,便于数据库的维护,SQL Server可以将多个可以将多个数据文件组成一个或多个文件组。例如,在三个不同的磁盘(如数据文件组成一个或多个文件组。例如,在三个不同的磁盘(如D盘、盘、E盘、盘、F盘)中建立三个数据文件(盘)中建立三个数据文件(student_data1.mdf,student_data2.mdf,student_data3.mdf),并将这三个文件指派),并将
17、这三个文件指派到文件组到文件组fgroup1中,如图中,如图3-2所示。如果在此数据库中创建表,就可以指定所示。如果在此数据库中创建表,就可以指定该表放在该表放在fgroup1中。中。通过使用文件组可以简化数据通过使用文件组可以简化数据库的维护工作:库的维护工作:o备份和恢复单独的文件或文件备份和恢复单独的文件或文件组,而并非数据库,如此可以组,而并非数据库,如此可以提高效率。提高效率。o将可维护性要求相近的表和索将可维护性要求相近的表和索引分配到相同的文件组中。引分配到相同的文件组中。o为自己的文件组指定高维护性为自己的文件组指定高维护性的表。的表。在创建数据库时,默认设在创建数据库时,默认
18、设置是将数据文件存储在主文件置是将数据文件存储在主文件组中(组中(primary)。也可以在创)。也可以在创建数据库时加相应的关键字创建数据库时加相应的关键字创建文件组。建文件组。学生数据库学生数据库D:mspdatastudent_data1.mdfE:mspdatastudent_data2.mdfF:mspdatastudent_data3.mdfD:mspdatastudent_log1.ldfE:mspdatastudent_log2.ldfF:mspdatastudent_log3.ldf 当对数据库对象进行写操作时,数据库会根据组内数据文件的当对数据库对象进行写操作时,数据库会根
19、据组内数据文件的大小,按比例写入组内所有数据文件中。当查询数据时,大小,按比例写入组内所有数据文件中。当查询数据时,SQL Server系统会创建多个单独的线程来并行读取分配在不同物理硬盘系统会创建多个单独的线程来并行读取分配在不同物理硬盘中的每个文件,从而在一定程度上提高了查询速度。中的每个文件,从而在一定程度上提高了查询速度。图图3-2 数据库与操作系统文件之间的映射数据库与操作系统文件之间的映射 3.1.4 SQL Server 的系统数据库的系统数据库 1master数据库数据库o master数据库是数据库是SQL Server的主数据库,记录了的主数据库,记录了SQL Server
20、系系统的所有系统信息,如所有的系统配置信息、登录信息、用户数据库统的所有系统信息,如所有的系统配置信息、登录信息、用户数据库信息、信息、SQL Server初始化信息等。初始化信息等。2tempdb数据库数据库o tempdb数据库为临时表和其他临时存储需求提供存储空间,是数据库为临时表和其他临时存储需求提供存储空间,是一个由一个由SQL Server中所有数据库共享使用的工作空间。当用户离开中所有数据库共享使用的工作空间。当用户离开或系统关机时,临时数据库中创建的临时表将被删除,当它的空间不或系统关机时,临时数据库中创建的临时表将被删除,当它的空间不够时,系统会自动增加它的空间。临时数据库是
21、系统中负担较重的数够时,系统会自动增加它的空间。临时数据库是系统中负担较重的数据库,可以通过将其置于据库,可以通过将其置于RAM中以提高数据库的性能。中以提高数据库的性能。o 在在tempdb数据库中所做的操作不会被记录,因而在数据库中所做的操作不会被记录,因而在tempdb数据数据库中的表上进行数据操作比在其他数据库中要快得多。当退出库中的表上进行数据操作比在其他数据库中要快得多。当退出SQL Server时,用户在时,用户在tempdb数据库中建立的所有对象都将被删除,每数据库中建立的所有对象都将被删除,每次次SQL Server启动时,启动时,tempdb数据库都将被重建恢复到系统设定的
22、数据库都将被重建恢复到系统设定的初始状态,因此千万不要将初始状态,因此千万不要将tempdb数据库作为数据的最终存放处。数据库作为数据的最终存放处。第三章第三章第三章第三章 在在SQL ServerSQL Server管理控制台下,我们会看到系统数据库下的管理控制台下,我们会看到系统数据库下的mastermaster、tempdbtempdb、modelmodel、msdbmsdb四个系统数据库,它们是在安装四个系统数据库,它们是在安装SQL ServerSQL Server时系统自动安装的。这些系时系统自动安装的。这些系统数据库的文件存储在统数据库的文件存储在SQL ServerSQL Se
23、rver默认安装目录(默认安装目录(MSSQLMSSQL)中的)中的DataData文件夹中。文件夹中。3model数据库数据库o model数据库是创建所有用户数据库和数据库是创建所有用户数据库和tempdb数数据库的模板文件。据库的模板文件。model数据库中包含每个数据库所数据库中包含每个数据库所需的系统表格,是需的系统表格,是SQL Server 2005中的模板数据库。中的模板数据库。当创建一个用户数据库时,模板数据库中的内容会自当创建一个用户数据库时,模板数据库中的内容会自动复制到所创建的用户数据库中,所以利用动复制到所创建的用户数据库中,所以利用model数数据库的模板特性,通过
24、更改据库的模板特性,通过更改model数据库的设置,并数据库的设置,并将经常使用的数据库对象复制到将经常使用的数据库对象复制到model数据库中,可数据库中,可以简化数据库及其对象的创建、设置工作,为用户节以简化数据库及其对象的创建、设置工作,为用户节省大量的时间。可以通过修改模板数据库中的表格,省大量的时间。可以通过修改模板数据库中的表格,来实现用户自定义配置新建数据库的对象。来实现用户自定义配置新建数据库的对象。4msdb数据库数据库o msdb数据库在数据库在SQL Server代理程序调度报警和代理程序调度报警和作业时使用。作业时使用。3.2 创建数据库创建数据库 SQL SQL Se
25、rver Server 20002000数数据据库库是是有有组组织织的的数数据据的的集集合合,是是存存储储过过程程、触触发发器器、视视图图和和规规则则等等数数据据库库对对象象的的容容器器。在在第第1 1章章数数据据库库技技术术基基础础中中,我我们们设设计计了了选选课课管管理理信信息息系系统统数数据据库库,命命名名为为studentstudent,该该数数据据库库中中有有学学生生基基本本信信息息表表、课课程程表表、教教师师表表、学学在在开开发发SQL Server 2005数数据据库库应应用用程程序序之之前前,首首先先要要设设计计数数据据库库结结构构并并创创建建数数据据库库。创创建建数数据据库库
26、时时需需要要对对数数据据库库的的属属性性进进行行设设置置,包包括括数数据据库库的的名名称称、所所有有者者、大大小小以以及及存存储储该该数数据据库库的的文件和文件组。文件和文件组。SQL Server 2005数据库是有组织的数据的集合,是存储过程、触发数据库是有组织的数据的集合,是存储过程、触发器、视图和规则等数据库对象的容器。在第器、视图和规则等数据库对象的容器。在第1章数据库技术基础中,我们章数据库技术基础中,我们设计了选课管理信息系统数据库,命名为设计了选课管理信息系统数据库,命名为student,该数据库中有,该数据库中有“学生学生基本信息基本信息”表、表、“课程课程”表、表、“教师教
27、师”表、表、“学生选课学生选课”表、表、“教师任课教师任课”表、表、“教学计划教学计划”表等。本节将以建立表等。本节将以建立student数据库为例,讲解用数据库为例,讲解用SQL Server管理控制台和管理控制台和T-SQL语言创建数据库的方法。语言创建数据库的方法。生选课表、教生选课表、教师任课表、教学计划表等。本节我们以建立学生数据库为例,讲解用企业师任课表、教学计划表等。本节我们以建立学生数据库为例,讲解用企业管理器图形界面与管理器图形界面与T-SQLT-SQL语言创建数据库的方法。语言创建数据库的方法。第三章第三章第三章第三章 在在开开发发SQL SQL Server Server
28、 20002000数数据据库库应应用用程程序序之之前前,首首先先要要设设计计数数据据库库结结构构并并创创建建数数据据库库。创创建建数数据据库库时时需需要要对对数数据据库库的的属属性性进进行行设设置置,包包括括数数据据库库的的名名称称、所所有有者者、大大小小以以及及存存储储该该数数据据库库的的文文件件和和文件组。文件组。3.2.1 用企业管理器创建数据库用企业管理器创建数据库 3.2.1 使用使用SQL Server管理控制台创建数据库管理控制台创建数据库 通过通过SQL Server Management Studio创建数据库的操作步骤如下:创建数据库的操作步骤如下:(1)打开)打开“SQL
29、 Server Management Studio”窗口,右击窗口,右击“对象资对象资源管理器源管理器”窗格中的窗格中的“数据库数据库”结点,在弹出的快捷菜单中选择结点,在弹出的快捷菜单中选择“新建新建数据库数据库”命令,如图命令,如图3-3所示。所示。第三章第三章第三章第三章图图3-3 “新建数据库新建数据库”命命令令 (2)此时将打开如图)此时将打开如图3-4所示的所示的“新建数据库新建数据库”对话框,它由对话框,它由“常规常规”、“选项选项”和和“文件组文件组”三个选项组成。在三个选项组成。在“常规常规”选项选项的的“数据库名称数据库名称”文本框中输入要创建的数据库名称:文本框中输入要创
30、建的数据库名称:student。(3)在各个选项中,可以指定它们的参数值,例如,)在各个选项中,可以指定它们的参数值,例如,在在“常规常规”选项中,可以指定数据库名称、数据库的逻辑选项中,可以指定数据库名称、数据库的逻辑名、文件组、初始容量、增长方式和文件存储路径等。名、文件组、初始容量、增长方式和文件存储路径等。(4)单击)单击“确定确定”按钮,在按钮,在“数据库数据库”的树形结构中的树形结构中,就可看到刚创建的,就可看到刚创建的student数据库,如图数据库,如图3-5所示。所示。图图3-4 “新建数据库新建数据库”对话框对话框 图图3-5 新创建的新创建的student数据库数据库3.
31、2.2 使用使用T-SQL语句创建数据库语句创建数据库第三章第三章第三章第三章 除了采用除了采用除了采用除了采用SQL Server Management StudioSQL Server Management StudioSQL Server Management StudioSQL Server Management Studio管理工具创建数据库外,管理工具创建数据库外,管理工具创建数据库外,管理工具创建数据库外,还可以在还可以在还可以在还可以在SQL Server Management StudioSQL Server Management StudioSQL Server Manag
32、ement StudioSQL Server Management Studio集成的查询分析器中使用集成的查询分析器中使用集成的查询分析器中使用集成的查询分析器中使用T-T-T-T-SQLSQLSQLSQL语言中的语言中的语言中的语言中的CREATEDATABASECREATEDATABASECREATEDATABASECREATEDATABASE语句创建数据库,语句创建数据库,语句创建数据库,语句创建数据库,CREATE DATABASECREATE DATABASECREATE DATABASECREATE DATABASE的常用的常用的常用的常用语法格式如下:语法格式如下:语法格式如下
33、:语法格式如下:CREATE DATABASE datebase_name ON PRIMARY(NAME=logical_file_name,FILENAME=os_file_name ,SIZE=size ,MAXSIZE=max_size|UNLIMITED ,FILEGROWTH=grow_increment),n LOG ON (NAME=logical_file_name,FILENAME=os_file_name ,SIZE=size ,MAXSIZE=max_size|UNLIMITED ,FILEGROWTH=grow_increment),n COLLATE collati
34、on_name在以上的语法格式中,在以上的语法格式中,“”表表示该项可省略,省略时各参数取示该项可省略,省略时各参数取默认值,默认值,“,n”表示大括表示大括号括起来的内容可以重复写多次。号括起来的内容可以重复写多次。SQL语句在书写时不区分大小写,语句在书写时不区分大小写,为了清晰,一般都用大写表示系为了清晰,一般都用大写表示系统保留字,用小写表示用户自定统保留字,用小写表示用户自定义的名称。义的名称。l database_name是要建立的数据库的名称。是要建立的数据库的名称。l PRIMARY在主文件组中指定文件。若没有指定在主文件组中指定文件。若没有指定PRIMARY关键字,该语关键字
35、,该语句中所列的第一个文件成为主文件。句中所列的第一个文件成为主文件。l LOG ON指定建立数据库的事务日志文件。指定建立数据库的事务日志文件。l NAME指定数据或事务日志文件的名称。指定数据或事务日志文件的名称。l FILENAME指定文件的操作系统文件名称和路径。指定文件的操作系统文件名称和路径。os_file_name中的路中的路径必须为安装径必须为安装SQL Server服务器的计算机上的文件夹。服务器的计算机上的文件夹。l SIZE指定数据或日志文件的大小,默认单位为指定数据或日志文件的大小,默认单位为KB,也可以指定用,也可以指定用MB。如果没有指定长度,则默认是如果没有指定长
36、度,则默认是1MB。l MAXSIZE指定文件能够增长到的最大长度,默认单位为指定文件能够增长到的最大长度,默认单位为KB,也可以指定,也可以指定用用MB单位。如果没有指定长度,文件将一直增长到磁盘满为止。单位。如果没有指定长度,文件将一直增长到磁盘满为止。l FILEGROWTH指定文件的增长量,该参数不能超过指定文件的增长量,该参数不能超过MAXSIZE的值。默的值。默认单位为认单位为KB,可以指定用,可以指定用MB,也可以使用百分比。如果没有指定参数,默,也可以使用百分比。如果没有指定参数,默认为认为10%,最小为,最小为64KB。l COLLATE指定数据库的默认排序规则。指定数据库的
37、默认排序规则。第三章第三章第三章第三章 一条语句可以写在多行上,但不能多条语句写在一行上。一条语句可以写在多行上,但不能多条语句写在一行上。创建数据库最简单的语句是创建数据库最简单的语句是“CREATE DATABASE 数据库名数据库名”。其中:。其中:【例例3.1】创建数据库名为创建数据库名为“jsjx_db”的数据库,包含一个主要数据文件和一的数据库,包含一个主要数据文件和一个事务日志文件。主要数据文件的逻辑名为个事务日志文件。主要数据文件的逻辑名为“jsjx_db_data”,操作系统文,操作系统文件名为件名为“jsjx_db_data.mdf”,初始容量大小为,初始容量大小为5MB,
38、最大容量为,最大容量为20MB,文件的增长量为文件的增长量为20%。事务日志文件的逻辑文件名为。事务日志文件的逻辑文件名为“jsjx_db_log”,物,物理文件名为理文件名为“jsjx_db_log.ldf”,初始容量大小为,初始容量大小为5MB,最大容量为,最大容量为10MB,文件的增长量为,文件的增长量为2MB,最大不受限制。数据文件与事务日志文件都,最大不受限制。数据文件与事务日志文件都放在放在E盘根目录下。盘根目录下。用用CREATE DATABASE语句创建数据库的操作语句创建数据库的操作步骤如下:步骤如下:(1)在)在“SQL Server Management Studio”窗
39、窗口中集成的查询分析器的口中集成的查询分析器的“查询查询”窗格中输入窗格中输入如下代码:如下代码:CREATE DATABASE jsjx_dbON PRIMARY(NAME=jsjx_db_data,FILENAME=E:jsjx_db_data.mdf,SIZE=5mb,MAXSIZE=20MB,FILEGROWTH=20%)LOG ON(NAME=jsjx_db_log,FILENAME=E:jsjx_db_log.ldf,SIZE=10MB,FILEGROWTH=2MB)COLLATE Chinese_PRC_CI_ASGO(2)输入上述代码后,单击工具栏中的)输入上述代码后,单击工具
40、栏中的“分析分析”按钮,对输入按钮,对输入的代码进行分析检查,检查通过后,单击工具栏中的的代码进行分析检查,检查通过后,单击工具栏中的“执行执行”按钮,数据库就会创建成功并返回信息,当刷新按钮,数据库就会创建成功并返回信息,当刷新“数据库数据库”时就会看到所创建的数据库,结果如图时就会看到所创建的数据库,结果如图3-6所示。所示。图图3-6 在查询分析器中输入代码在查询分析器中输入代码 3.2.3 3.2.3 查看数据库信息查看数据库信息 第三章第三章第三章第三章数据库的信息主要有基本信息、维护信息和空间使用信息等,可以使用数据库的信息主要有基本信息、维护信息和空间使用信息等,可以使用SQL
41、SQL ServerServer管理控制台查看数据库信息。使用管理控制台查看数据库信息。使用SQL ServerSQL Server管理控制台查看数据库管理控制台查看数据库信息的操作步骤如下:信息的操作步骤如下:(1)打开)打开“SQL Server Management Studio”窗口,在窗口,在“对象资源管理器对象资源管理器”窗格中展开窗格中展开“数据数据库库”结点,选择要查看信息的数据库结点,选择要查看信息的数据库“jsjx_db”,右击,右击“jsjx_db”数据库,在弹出的快捷菜数据库,在弹出的快捷菜单中选择单中选择“属性属性”命令,如图命令,如图3-7所示,打开如图所示,打开如
42、图3-8所示的所示的“数据库属性数据库属性-jsjx_db”对话框。对话框。图图3-7 查看数据库的信息查看数据库的信息 图图3-8 “数据库属性数据库属性-jsjx_db”对话框对话框(2)在)在“数据库数据库属性属性-jsjx_db”对对话框中,可以查话框中,可以查看到数据库的基看到数据库的基本信息。选择本信息。选择“常规常规”、“文件文件”、“文件组文件组”、“选项选项”、“权权限限”等选项,可等选项,可以查看到与之相以查看到与之相关的数据库信息。关的数据库信息。3.3 管理数据库管理数据库 3.3.1 打开数据库打开数据库 第三章第三章第三章第三章随着数据库的增长或变化,用户需要用手动
43、或自动方式对数据库进行管理,包括随着数据库的增长或变化,用户需要用手动或自动方式对数据库进行管理,包括随着数据库的增长或变化,用户需要用手动或自动方式对数据库进行管理,包括随着数据库的增长或变化,用户需要用手动或自动方式对数据库进行管理,包括扩充或收缩数据与日志文件、更改名称、删除数据库等。下面讲述用户管理数据扩充或收缩数据与日志文件、更改名称、删除数据库等。下面讲述用户管理数据扩充或收缩数据与日志文件、更改名称、删除数据库等。下面讲述用户管理数据扩充或收缩数据与日志文件、更改名称、删除数据库等。下面讲述用户管理数据库方面的操作。库方面的操作。库方面的操作。库方面的操作。在在SQL Serve
44、r管理控制台中打开数据库。在管理控制台中打开数据库。在“对象对象资源管理器资源管理器”窗格中展开窗格中展开“数据库数据库”结点,单击要打开结点,单击要打开的数据库(如的数据库(如jsjx_db数据库),如图数据库),如图3-9所示。此时右所示。此时右窗格中列出的是当前打开的数据库的对象。窗格中列出的是当前打开的数据库的对象。图图3-9 在在“对象资源管理器对象资源管理器”窗格中打开数据库窗格中打开数据库 在查询分析器中,可以通过使用在查询分析器中,可以通过使用USE语语句打开并切换数据库,也可以直接通过数据句打开并切换数据库,也可以直接通过数据库下拉列表打开并切换,如图库下拉列表打开并切换,如
45、图3-10所示。所示。图图3-10 在在“查询分析器查询分析器”窗格中切换数据库窗格中切换数据库 如果没有指定操作数据库,查询都是针对当前打开的数据如果没有指定操作数据库,查询都是针对当前打开的数据库进行的。当连接到库进行的。当连接到SQL Server服务器时,如果没有指定连服务器时,如果没有指定连接到哪一个数据库,接到哪一个数据库,SQL Server服务器会自动连接默认的数服务器会自动连接默认的数据库。如果没有更改用户配置,用户的默认数据库是据库。如果没有更改用户配置,用户的默认数据库是master数据库。数据库。master数据库中保存数据库中保存SQL Server服务器的系统信息,
46、服务器的系统信息,用户对用户对master数据库操作不当会产生严重的后果。数据库操作不当会产生严重的后果。为了避免为了避免这类问题的发生,可以采用以下两种方法:(这类问题的发生,可以采用以下两种方法:(1)使用)使用USE语语句切换到别的数据库,如使句切换到别的数据库,如使jsjx_db数据库成为当前数据库;数据库成为当前数据库;(2)设定用户连接的默认数据库。)设定用户连接的默认数据库。打开并切换数据库的命令为:打开并切换数据库的命令为:USE database_name其中,其中,database_name是想要打开的数据库名称。使用权限:数是想要打开的数据库名称。使用权限:数据库拥有者(
47、据库拥有者(dbo)。)。【例例3.2】在查询分析器中打开在查询分析器中打开jsjx_db数据库。数据库。操作步骤如下:在查询分析器中输入操作步骤如下:在查询分析器中输入“USE jsjx_db”,然后单,然后单击击“执行执行”按钮,如图按钮,如图3-10所示,在查询分析器工具栏中的当所示,在查询分析器工具栏中的当前数据库列表框中,显示前数据库列表框中,显示jsjx_db数据库。数据库。3.3.2 修改数据库容量修改数据库容量 当数据库的数据增长到要超过它指定的使用空间时,就必当数据库的数据增长到要超过它指定的使用空间时,就必当数据库的数据增长到要超过它指定的使用空间时,就必当数据库的数据增长
48、到要超过它指定的使用空间时,就必须为它增加容量。如果为数据库指派了过多的设备空间,可以须为它增加容量。如果为数据库指派了过多的设备空间,可以须为它增加容量。如果为数据库指派了过多的设备空间,可以须为它增加容量。如果为数据库指派了过多的设备空间,可以通过缩减数据库容量来减少设备空间的浪费。通过缩减数据库容量来减少设备空间的浪费。通过缩减数据库容量来减少设备空间的浪费。通过缩减数据库容量来减少设备空间的浪费。(1)使使用用对对象象资资源源管管理理器器增增加加数数据据库库容容量量:如如图图3-11所所示示,在在“对对象象资资源源管管理理器器”窗窗格格中中,右右击击要要增增加加容容量量的的数数据据库库
49、(如如jsjx_db数数据据库库),在在弹弹出出的的快快捷捷菜菜单单中中选选择择“属属性性”命命令令,打打开开“数数据据库库属属性性-jsjx_db”对对话话框框,选选择择“文文件件”选选项项,如如图图3-12所所示示,对对数数据据库库文文件件的的分分配配空空间间进进行行重重新设定。重新设定的数据库分配空间必须大于现有空间。新设定。重新设定的数据库分配空间必须大于现有空间。第三章第三章第三章第三章 数据库在使用一段时间后,时常会出现因数据删除而造成数据库中空数据库在使用一段时间后,时常会出现因数据删除而造成数据库中空数据库在使用一段时间后,时常会出现因数据删除而造成数据库中空数据库在使用一段时
50、间后,时常会出现因数据删除而造成数据库中空闲空间太多的情况,这时就需要缩减分配给数据库文件和事务日志文件的闲空间太多的情况,这时就需要缩减分配给数据库文件和事务日志文件的闲空间太多的情况,这时就需要缩减分配给数据库文件和事务日志文件的闲空间太多的情况,这时就需要缩减分配给数据库文件和事务日志文件的磁盘空间,以免浪费磁盘空间。当数据库中没有数据时,可以修改数据库磁盘空间,以免浪费磁盘空间。当数据库中没有数据时,可以修改数据库磁盘空间,以免浪费磁盘空间。当数据库中没有数据时,可以修改数据库磁盘空间,以免浪费磁盘空间。当数据库中没有数据时,可以修改数据库文件属性直接改变其占用的空间,但当数据库中有数