SQLServer数据库的基本操作流程igd.pptx
《SQLServer数据库的基本操作流程igd.pptx》由会员分享,可在线阅读,更多相关《SQLServer数据库的基本操作流程igd.pptx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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数数据据库库应应用用程程序序之之前前,首首先先要要设设计计数数据据库库结结构构并并创创建建数数据据库库。创创建建数数据据库库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQLServer 数据库 基本 操作 流程 igd
限制150内