第12章SQLServer2005基础•在信息化的今天,网络随处可见,人们的日常生活已经和网络息息相关。数据,则是网络最重要的部分。离开了数据,网络的存在就没有了实际意义。数据库系统则为这些庞大的数据提供管理支持。可以将整个网络世界看成是一个庞大的数据库。它为人们提供各种数据操作,如数据存储、数据查询、数据修改和数据分类等。没有数据库的支持,银行就没有办法为庞大的客户群体提供金融服务,人们也无法通过搜索引擎查找自己需要的信息。数据库有很多种,本章将为读者介绍其中的一员——由微软公司开发的SQLServer2005。12.1初步认识SQLServer2005•SQLServer2005是继SQLServer2000之后,微软最新版本的数据库管理系统。SQLServer2005带来了一个新的数据库库编程平台,它在许多方面都进行了扩展。在简化了企业数据与分析应用创建、部署和管理的同时,还为它们赋予伸缩性、可用性和安全性。同时还减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。通过全面的功能集,和现有系统的集成性,以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案。12.1.1SQLServer2005的优势•SQLServer2005这个动用了大规模的开发团队、采用现代软件研发管理方式、耗时5年才打造出来的一个产品新版本,自然具有它独有的特性,以及在同类产品中的优势。(具体内容请参照书。)12.1.2SQLServer2005的新特性•SQLServer2005在SQLServer2000的基础上,不但扩展了性能、可靠性、可用性、可编程性易用性。而且还增加了多项新功能,如对XML的支持、在SQL语言中嵌入了高级语言的支持等。这些新技术也代表了现代数据库的发展方向。企业在数据库的使用过程中,更注重安全性和高可用性以及高度集成的管理工具。12.2数据库操作•SQLServer2005中的数据是以数据库为单位进行存储的,数据表、视图、存储过程和触发器等对象均包含在各个数据库内部。SQLServer2005也是以数据库为基本的管理单元,数据库管理是其他数据库对象管理的基础。这节将介绍数据库的操作知识。12.2.1数据库相关知识•在SQLServer2005中数据库是由数据库文件和事务日志组成,一个数据库至少应包含一个数据库文件(DatabaseFile)和一个事务日志文件(TransactionLogFile)。•1.文件•2.文件组12.2.2数据库的创建•要使用数据库,首先必须创建它。在SQLServer2005中,可以直接创建数据库,也可以使用代码来创建。创建数据库的过程,实际上就是为数据库命名、设置大小和对数据库文件进行保存。数据库信息会被保存在Master数据库中。因此在创建数据库时,当前数据库应当是master数据库。新数据库创建完成之后,系统会自动把model数据库中的系统表复制到新数据库中。12.2.3数据库的修改•如果需要对所创建的数据库进行修改,可以直接操作来修改,也可以通过SQL代码来进行修改。12.2.4数据库的删除•删除数据库有两种方法:直接删除和使用代码删除。12.2.5数据库的备份和还原•SQLServer2005将数据库的备份创建在备份设备上,如磁盘或磁带等。使用SQLServer2005,可以决定如何在备份设备上创建备份。例如,覆盖过时的备份,或将新备份追加到备份设备。由于执行备份操作对运行中的事务影响很小,因此可以在正常的使用过程中执行备份操作。12.3数据表操作•数据库中的数据存储在数据表中,表是数据库中最重要的部分,管理好表就基本上管理好了数据库。12.3.1了解数据表•表在数据库中表现为列的集合,类似于电子表格。数据在表中是按行和列的格式组织起来的。每一行,代表着惟一的一条数据记录。而每一列,代表着一个字段。设计数据库时,应首先确定需要什么样的表,表中都需要存储哪些数据以及表的存取权限等。下面列出了设计表时应注意的几个方面。12.3.2数据表的创建•表的创建,可以使用表设计器直接创建,也可以使用SQL代码来创建。这一节使用这两种方法,前一节所创建的数据库test中,创建文章分类表class,文章表article。12.3.3数据表的修改•数据表在创建后,可能会根据实际情况进行一些修改,下面将对修改数据表方法进行介绍。(具体内容请参照书。)12.3.4数据表的删除•在某些特殊情况下,必须要对数据库中的某些数据表进行删除。例如,要进行新的设计或者释放空间时。当数据表被删除后,该表的结构定义、数据、索引和约束等,都将被从数据库中彻底删除。(具体内容请参照书。)12.4存储过程•类似于编程时的函数,将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用该存储过程,即可自动完成命令,与函数调用差不多。12.4.1了解存储过程•使用存储过程,步骤如下所示。•(1)接受输入参数并以输出参数的格式,向调用过程或批处理返回多个值。•(2)包含用于在数据库中执行操作的变成语句。•(3)向调用过程或批处理返回状态值,以指明是否成功(以及失败的原因)。12.4.2创建存储过程•要创建存储过程,首先选择要创建存储过程的数据库,展开“可编程性”文件夹,右击“存储过程”文件夹,在弹出的快捷菜单中选择“新建存储过程”选项,此时,将会打开“新建存储过程”界面,12.4.3执行存储过程•编写好存储过程后,先要对所编写的存储过程进行分析,确保可以正确执行。要分析该存储过程,可单击工具栏上的√按钮。•分析完成,确保该存储过程的编写没有错误后,可以执行该存储过程。只需单击工具栏上的“执行”按钮,就可以对所编写的存储过程进行执行并看到执行结果。12.5索引•与书中的索引一样,使用数据库中的索引可以快速找到表或索引视图中的特定信息。索引包含了从表或视图中一个或者多个列生成的键,以及映射到指定数据存储位置的指针。创建设计良好的索引来帮助查询,可以对数据库的查询和应用系统的性能起到优化的作用。12.5.1索引概述•索引是与表或视图关联的磁盘结构,使用索引,可以加快从表或视图中检索信息的速度。表或视图可以包含以下类型的索引。12.5.2创建索引•索引的创建有两种方式,即使用图形管理工具直接创建和用命令创建。(具体内容请参照书。)12.5.3修改、删除索引•索引创建好后,可能会根据实际需要进行修改和删除。(具体内容请参照书。)12.6视图•视图是从一个或多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。和表一样,视图也是包括几个被定义的数据列和多个数据行,但就本质而言这些数据列和数据行来源于其所引用的表。12.6.1视图简介•视图不是真实存在的基础表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。12.6.2创建视图•首先介绍如何使用图形管理工具直接创建视图。(具体内容请参照书。)12.6.3修改、删除视图•右击需要修改的视图,在弹出的快捷菜单中选择“修改”命令,即可进入视图修改窗口进行视图的修改,(具体内容请参照书。)12.7常见问题•本章介绍了SQLServer2005的一些基本操作,包括数据库、存储过程和视图等的增、删、改操作,使用过程中经常出现的问题如下所示。12.7.1SQLServer2000数据库可以直接在SQLServer2005中使用吗•答:可以,可以将SQLServer2000的数据库文件或者备份,直接在SQLServer2005中进行附加或者恢复,然后可以直接供之前的应用程序使用。12.7.2SQLServer2005的安全性怎么样•答:SQLServer2005的安全性在SQLServer2000的基础上更有所加强,使用了授权、加密等技术,确保了数据的安全性。12.7.3SQLServer2005中的数据库可以在SQLServer2000下直接使用吗•答:可以。在创建数据库时,设置数据库的“兼容级别”为“SQLServer2000(80)”即可。