《ASP.NET2.0程序设计陈语林电子教案ch05章节》由会员分享,可在线阅读,更多相关《ASP.NET2.0程序设计陈语林电子教案ch05章节(58页珍藏版)》请在金锄头文库上搜索。
1、第5章 SQL Server 2000数据库操作技术,SQL Server是一个大型分布式客户-服务器结构的关系型数据库管理系统,目前常用的版本是SQL Server 2000。本章主要介绍SQL Server 2000数据库的基础知识、SQL语句、存储过程,以及对SQL Server 2000数据库的基本对象的实用操作技术,为后续Web应用程序的开发奠定基础。,5.1 SQL Server 2000 5.1.1 SQL Server 2000简介 SQL Server 2000是Microsoft公司推广的数据库管理和开发的工具,是当今应用最广泛的关系数据库产品之一。,5.1.2 SQL S
2、erver服务管理器 SQL Server 2000服务管理器是一个图形化的管理工具,它可以用来启动、暂停或停止SQL Server 2000服务器组件的运行。,5.1.3 SQL Server企业管理器 SQL Server企业管理器(Enterprise Manager)是服务器端和客户端的主要管理工具。它不仅可以配置系统环境和管理SQL Server,而且能够以树型目录的形式显示所有的SQL Server对象,因而几乎所有SQL Server对象的建立与管理都可以通过它来完成,这些功能包括: l 管理运行的SQL Server的服务器组; l 注册SQL Server的服务器组; 配置S
3、QL Server选项;,l 创建SQL Server数据库、对象、用户及其权限,以及登录; l 执行SQL Server管理的任务; l 调用SQL Server定义的各种向导,以及查询分析器。 总之,企业管理器是SQL Server中一个很重要的工具,使用该工具可以创建系统数据库、连接服务管理器等。,1企业管理器的工作界面,2SQL Server服务器的注册,3SQL Server服务器的配置 合理配置SQL Server服务器的喧嚣,可以优化SQL Server的性能。大部分服务器选项可以通过企业管理器来管理。,4服务器组的创建 服务器组可将大量的服务器组织在几个易于管理的组中,可以在企
4、业管理器内创建一个服务器组,并将服务器放在该服务器组中。,5sa帐号密码的设定,5.1.4 SQL查询分析器 SQL查询分析器是一个图形用户界面,可以在交互式工作方式下输入并执行Transact-SQL语句,可以从SQL Server企业管理器调用SQL查询分析器。,2查询分析器的操作 (1) 执行SQL语句 查询分析器最常用的操作就是执行SQL语句并查看执行结果。在查询分析器工具栏上的数据库选择框中选择需要的数据库,再在查询窗口中输入要执行的SQL语句,然后按F5键或单击工具栏的“执行查询”按钮将其送到服务器执行,执行的结果将显示在输出窗口中。,(2) 输入指定表的数据 在查询分析器中,除了
5、经常使用的“查询”窗口外,还可以利用“打开表”窗口查看和修改指定表中的数据。在对象浏览器中右键单击指定数据库中的表,在弹出的快捷菜单中选择“打开”命令,此时系统会出现“打开表”窗口,该窗口在表格中显示来自表的列和行。可以在“打开表”窗口上单击鼠标右键,在弹出的快捷菜单中选择“添加”命令或者直接在*旁的表格中单击鼠标左键,再窗口底部插入的空行中输入需要的数据。,(3) 控制查询结果的显示方式 在查询分析器中,也可以控制查询结果的显示方式。Transact-SQL语句的执行结果能以文本方式或表格方式显示,还可以保存到文件中。 (4)将输入的SQL语句保存成文件 输入的SQL语句可以保存成文件,以便
6、重复使用 。,5.1.5 其他工具 1导入和导出数据 导入数据是从SQL Server的外部数据源(如ASCII文本文件)中查找数据,变将数据插入到SQL Server表的过程。导出数据是将SQL Server数据库中的数据析取,并以用户指定的格式存储的过程,例如SQL Server表的内容复制到Microsoft Access数据库中。,2监视服务器性能和活动 SQL Server 2000提供多种工具监视SQL Server实例的性能以及在数据库中发生的用户活动。 3联机丛书 在完成SQL Server 2000的安装后,会安装一个重要组件-联机丛书。联机丛书是一本关于SQL Server
7、的使用手册。,5.2 SQL Server 2000数据库简单操作 5.2.1 数据库对象 (1) 表:包含数据库中所有数据的数据库对象,是保存基本数据的逻辑单位,也是数据库关系图的基本建立模块。 (2) 视图:是一个虚拟表,它的内容由查询定义。与真实的表一样,视图包含一系列带有名称的列和行数据。 (3) 存储过程:是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。,(4) 触发器:是一种特殊类型的存储过程,当使用UPDATE、INSERT或DELETE中的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效。 (5) 索引:是对数据库表中一个或多个列的值进
8、行排序的结构,是一个表中所包含的值的列表,其中注明了表中包含各个值的行所在的存储位置。,5.2.2 数据库的操作 1创建数据库 使用企业管理器创建数据库,可以在图形化的操作方式下完成对数据库的创建和数据库属性的设置。,2备份数据库,3删除数据库 删除数据库的操作比较简单,但是应该注意的是,当前正在使用的数据库不能被删除,SQL Server的系统数据库也无法删除。,4还原数据库,5附加数据库,5.2.3 SQL Server表的管理 关系数据库的所有数据存储在表对象中,每个表代表着一个实体。表由行和列组成,每行是实体的一个主体,每列是实体的一个属性。表中的每一行在表中都应当有一个唯一的标识(主
9、关键字或称主键),以区分于其他行。表中的每一列都应当指定数据类型以体现该属性的特征。 1创建表 2修改表 3删除表,5.2.4 视图操作 视图是关系数据库中提供给用户以多种角度观察数据库中数据的重要机制。用户通过视图来浏览表中感兴趣的数据,而数据的物理存放位置仍在表中。视图是一个虚拟表,并不表示任何物理数据,而只是用来查看数据的窗口而已。视图通常用来集中、简化和自定义每个用户对数据库的不同认识,它可用作安全机制,方法是允许用户通过视图访问数据,而不授予用户直接访问视图基础表的权限。,对视图的操作和对表的操作一样,可以对其进行查询、修改和删除,但对数据的操作要满足一定的条件。 1创建视图 2修改
10、视图 3删除视图,5.2.5 触发器操作 触发器是一种特殊类型的存储过程,主要通过事件进行触发而被执行,而存储过程可以通过过程名字直接调用。当对某一表进行UPDATE、INSERT、DELETE操作时,SQL Server就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则。 触发器的主要作用是能够实现有主键和外键所不能保证的参照完整性和数据的一致性。,1创建触发器,2修改触发器正文 3删除触发器,5.2.6 索引操作 索引是数据库中一种特殊类型的对象,是对数据库表中一个 或多个字段的值进行排序而创建的一种分散存储结构。建立索引可以加速数据检索、加速连
11、接、ORDER BY和GROUP BY等操作并强制实行唯一性。在SQL Server 2000中可创建唯一性索引、主键索引和聚集索引等3种索引类型。,在SQL Server 2000中索引的基础操作包括创建索引、查看索引、更改索引、删除索引和全文索引等。 1创建索引 2查看索引 3编辑索引 4删除索引,5.3 结构化查询语言 结构化查询语言(Structured Query Language,SQL)是一种使用关系模型的数据库应用语言,它是数据库的核心语言,可以完成数据查询、数据定义、数据操作、数据控制等操作。 5.3.1 SQL语句简介 SQL语言由下面几个部分组成: (1)数据定义语言(D
12、DL):提供定义关系模型、删除关系、建立索引以及修改关系模型的命令。,(2)数据操作语言(DML):不仅包括基于关系代数和关系演算的查询语言,而且包括数据库中的插入、修改和删除等命令。 (3)视图定义:包括定义视图的命令。 (4)权限管理:包括指定对关系和视图的访问权限的命令。 (5)完整性:定义数据库的数据必须满足的完整性约束条件的命令,破坏数据完整性约束条件的更新将被禁止。,(6)事务控制:SQL提供定义事务开始和事务结束的命令,有时还利用加锁机制来实现并发机制。 (7)嵌入式DML语言:由于某种通用编程语言中,如Pascal、C和Fortran。 可见SQL是一种能够控制数据库管理系统并
13、能与之交互的综合性语言。,5.3.2 创建SQL语句 SQL语句的基本结构包括Select子句、From子句和Where子句。Select子句用于选择或查询数据库的表或视图的属性;From子句一般给出Select语句选择或查询数据所属的数据库表或视图;Where子句给出Select语句和From语句的约束条件,且在约束条件中使用的表或视图都在From子句中出现。,1Select子句 Select子句指定由查询返回的列,语法如下: SELECT ALL | DISTINCT TOP n PERCENT WITH TIES := * | table_name | view_name | table
14、_alias .* | column_name | expression | IDENTITYCOL | ROWGUIDCOL AS column_alias | column_alias = expression ,.n ,2FROM子句 From子句指定从其SQL语句中检索行的表。之忧党选择列表仅仅包含常量、变量和算术表达式时,才不需要使用FORM子句。其本语法如下: FROM ,.n := table_name AS table_alias WITH ( ,.n ) | view_name AS table_alias WITH ( ,.n ) | rowset_function AS
15、table_alias | user_defined_function AS table_alias | derived_table AS table_alias ( column_alias ,.n ) | := ON | CROSS JOIN | ( ) := INNER | LEFT | RIGHT | FULL OUTER JOIN,3WHERE 子句 指定用于限制返回的行的搜索条件。WHERE子句的基本语法如下: WHERE | := column_name * = | = * column_name,4Select型SQL语句 Select型SQL语句,是从表或视图中选择列。下面的SQL语句实现从用户表“Users”中选择UserName列和Password列。 SELECT DISTINCT Users.UserName, Users.Password FROM Users,5Insert型SQL语句 Insert型SQL语句表示插入新的记录行到表或视图中。 INSERT INTO Users ( UserName, Password, Email ) VALUES ( admin, ad