800 likes | 959 Views
《 网络数据库技术与应用 》 课件 —— 第 1 章 西安航空职业技术学院 王姝制作. 第 1 章 网络数据库概述. 1. 1 概 述 1. 2 数据库基础知识 1. 3 网络数据库 1. 4 SQL Server 简介 1. 5 企业管理器 1. 6 SQL Server 查询分析器 1. 7 T-SQL 语法格式 1.8 B/S 模式与 Web 服务器 小 结. 1. 1 概 述.
E N D
《网络数据库技术与应用》课件——第1章西安航空职业技术学院王姝制作《网络数据库技术与应用》课件——第1章西安航空职业技术学院王姝制作
第1章 网络数据库概述 • 1. 1 概 述 • 1. 2 数据库基础知识 • 1. 3 网络数据库 • 1. 4 SQL Server简介 • 1. 5 企业管理器 • 1. 6 SQL Server查询分析器 • 1. 7 T-SQL语法格式 • 1.8 B/S模式与Web服务器 • 小 结
1. 1 概 述 • 随着计算机网络的发展和电子商务的出现,各种大型数据库处理系统以及商业网站对数据的可靠性和安全性也提出了新的要求为了有效地管理和使用网上的信息,网络数据库技术应运而生。它能够帮助计算机用户组织和构造数据,满足大型数据处理系统对数据存储量的需求,并允许计算机程序在管理数据中充当更为积极的角色。早期的数据库系统是在单一的大型计算机系统中运行的。数据、数据库管理软件、访问数据库的用户或应用程序都运行在同
一系统中。从20世纪80年代到20世纪90年代,出现了一种新的访问数据库的客户/服务器模式(简称C/S模式)。在这种模式下,运行在个人计算机上的用户或应用程序能够通过网络访问不同计算机系统的数据库。到了20世纪90年代末,越来越普及的Internet和WWW使网络世界与数据管理结合得更加紧密。于是出现了基于Web的网络数据库的工作模式,该模式是一种浏览器/服务器 (Browser/Server,B/S) 模式,数据库系统在后台数据库服务器上行,对数据进行安全存储和快速检索;Web服务器在前台运行。
当客户机提出一个查询请求的时候Web服务器运行一个应用程序对数据库进行操作,并把结果传送给客户机,客户机的浏览器得到数据后将最终结果显示给用户。 B/S的工作流程可以用图1.1所示的三层网络体系结构来说明。用户界面是运行在PC机或某些位于前端的瘦客户设备上的Web浏览器,它与中间层的Web服务器进行通信。如下图1.1 B/S的三层体系结构.
前一层 (用户端) 浏览器 Internet 中间层 Web服务器 后一层 (数据库端) 数据库 数据库服务器
当用户请求比简单的Web页面更复杂的东西时,Web服务器把这个请求通过一些接口程序传递给数据库服务器,进而实现对后台数据库的访问。当用户请求比简单的Web页面更复杂的东西时,Web服务器把这个请求通过一些接口程序传递给数据库服务器,进而实现对后台数据库的访问。 • 所谓网络数据库(也称Web数据库)就是将数据库技术与Web技术相结合的技术。借助于Web将存储于数据库中的大量信息及时发布出去;同时Web站点也借助于成熟的数据库技术对网站的各种数据进行有效地管理,实现用户与网络中的数据库进行实时动态数据交互。 返回
1. 2 数据库基础知识 • 本节主要介绍数据库、数据库管理系统和数据库系统的基本概念,使读者对数据库的基本知识有所了解,为学习后面的网络数据库奠定基础。 • 顾名思义,数据库就是存放数据的“仓库”,是一个数据集合。只是这里存放的数据是有一定的要求的。严格来讲,所谓数据库就是指按一定方式组织的、存放在计算机存储设备上的相关数据的集合。它强调数据库内数据之间的彼此联系,不是离散的。使用数据库方式组织数据,具有独立性强、共享性好及数据冗余度低的优点。
1. 2. 1 数据模型 • 数据库系统研究的对象是客观事物以及反映这些事物间相互关系的数据。数据库把数据按一定的结构和形式组织起来,各个数据对象以及它们之间存在的相互关系的集合称为数据模型。由于数据库中的数据都是结构化的数据,因此,讨论数据模型对数据库设计来说很重要。 • 根据数据所描述实体对象的属性特征以及人们所采用的描述方法,通常将数据模型分为3种:层次模型、网状(或网络)模型和关系模型,
面向对象程序设计的兴起,也有人提出了面向对象的数据模型。相应于这些不同的模型,数据库也相应地分为层次数据库、网状数据库和关系数据库。面向对象程序设计的兴起,也有人提出了面向对象的数据模型。相应于这些不同的模型,数据库也相应地分为层次数据库、网状数据库和关系数据库。 • 1. 层次模型 • 层次模型(Hierarchical Model)表示数据间的从属关系结构,是一种以记录某一事物的类型为根节点的有向树结构。层次模型像一棵倒置的“树”,根节点在上,层次最高;子节点在下,逐层排列,其主要特征如下: • ● 仅有一个无双亲的节点,该节点称为根节点。 • ● 除根节点以外的任何一个子节点,向上仅有一个父节点,向下可以有若干个子节点。
● 层次模型表示的是从根节点到子节点的一个节点对多个节点,或从子节点到父节点的多个节点对一个节点的数据间的联系,层次模型的示例如图1.2所示。
2. 网状模型 • 网状模型(Network Model)是层次模型的扩展,它表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。网状模型是以记录为节点的网络结构。其主要特征如下:● 有一个以上的节点无双亲。● 至少有一个节点有多个双亲。网状模型可以表示较复杂的数据结构,即可以表示数据间的纵向关系与横向关系。这种数据模型在概念上、结构上都比较复杂,操作起来也有很多不便。网状模型的示例 如图1.3所示。
图1.3 网状模型示例.在该示意图中节点A和节点B均无双亲节点,节点C和节点D均有两个双亲节点,因此该模型为网状模型。
3. 关系模型 • 在关系模型(Relational Model)中,不同数据之间的联系用关系来表示,其实质是将数据的逻辑结构归为满足一定条件的二维表形式,每个二维表称为一个关系。在二维表中,每一行称为一个记录(也称元组),每一列称为一个数据项或字段(也称属性),数据项名称为字段名或属性名,整个表表示一个关系。这种模型既可以用来表达事物之间“一对一”和“一对多”的联系,也可以用来表达“多对多”的联系。如表1. 1所示的就是二维表。
关系模型的主要特点有以下几点: • ● 关系中每一列具有相同的属性,每个属性被指定一个不同的属性名(也叫字段名),属性名不能重复,列数根据需要而设置。 • ● 关系中的每一个数据必须是不可再分的数据项,而不是组合的数据项。 • ● 关系中的每一个记录由一个个体事物的诸多属性构成。 • ● 行和列的排列顺序是任意的。 • ● 一个关系是一张二维表,不允许有相同的字段名,也不允许有相同的记录存在。
1. 2. 2 数据库管理系统 • 为了保证数据库中数据的独立性和一致性,用户(用户程序)不能直接对数据库进行操作。在用户和数据库之间通过数据库管理系统作为桥梁来实现用户对数据库的访问,参见图1.4所示。数据库管理系统(DataBase Management System,DBMS)是一个系统软件,它的主要职责是把用户程序的数据操作语句转换为对系统存储文件的操作,对数据库中的数据资源进行统一管理,并将操作结果返回给用户程序。 • 数据库系统的功能随系统的大小而异。一般来说,主要有以下几个方面。
1. 数据库的描述 • 数据库管理系统把数据描述语言所描述的全局和局部的逻辑数据结构、存储结构、保密定义以及信息格式等各项内容从源形式转换成目标形式,存放在数据库中供系统查阅。2. 数据库的管理 • 数据库管理系统控制整个数据库系统的运行;控制用户的并发性访问;执行对数据的安全和完整性检查;实施对数据的检索、插入、删除及修改等操作。
3. 数据库的建立和维护 • 数据库的建立和维护功能包括初始时装入数据库;运行时记录工作日志、监视数据性能;在性能变坏时重新组织数据库;在用户要求或系统设备变化时修改和更新数据库;在系统软、硬件发生故障时恢复数据等。 • 4. 数据通信 • 数据库管理系统通常与操作系统协同处理数据的流向,这些数据可能来自应用程序、计算机终端或其他系统,也可能由系统内运行的进程所产生。
它们可能被送到调用队列缓冲区、终端或正在执行的某个进程中。它们可能被送到调用队列缓冲区、终端或正在执行的某个进程中。 • 在计算机系统中引入数据库后的系统一般由数据库、数据库管理系统及其开发工具、应用系统、数据库管理员和用户构成,称之为数据库系统(DataBase System,DBS),如图1.4所示。
图1.4 数据库系统 返回
1. 3 网络数据库 • 1. 3. 1 网络数据库的基本概念 • 由于网络的普及和电子商务的出现,数据库和Web的结合己成为数据库的发展趋势。如今,人们在Internet上建立了数以万计的网站,有些大中型网站的后台都有数据库系统的支持。数据库系统可以把网站的各种数据很好地组织起来,并自动生成Web页面,根据浏览者需求的不同,显示不同的页面内容。没有数据库的支持大中型网站将无法正常地运行。
网络数据库目前在Internet上有大量应用,从最初的网站留言簿、自由论坛直到当今的远程教育以及复杂的电子商务等,这些系统几乎都是采用网络数据库来实现的。网络数据库目前在Internet上有大量应用,从最初的网站留言簿、自由论坛直到当今的远程教育以及复杂的电子商务等,这些系统几乎都是采用网络数据库来实现的。 • 网络数据库的必要组成元素有后台数据库、Web服务器、客户端浏览器以及连接客户端和服务器之间的网络(Internet或Intranet)。这些元素是网络数据库存在的基础,而构建这些硬件元素并不是网络数据库系统开发者的任务,网络数据库开发者所要考虑的重要问题是满足运行一个网络数据库系统所必须的软件要求。
Oracle 8i是Oracle公司推出的网络数据库系统,以其操作简单易用、可扩展性好与先进的网络特性和管理能力受到了业界的好评。它是以结构化查询为基础的大型关系数据库,是目前流行的客户/服务器体系结构数据库之一。 • SQL Server是Micorsoft推出的功能强大的数据库系统,与Windows系统紧密集成,因此具有良好的性能和可伸缩性。本书采用目前流行的SQL Server 2000作为网络数据库的平台。
1. 3. 2 Web的产生及发展 • Web是WWW网中的一个服务节点(网站)。在很多场合中Web和WWW这两个专业术语几乎意味着同一个事情。 • Web的产生与互联网的发展密切相关。从20世纪60年代美国国防部研制的APARNet到1995年互联网商业化运营分割的完成,在短短的30年时间里互联网上出现了多种应用系统,其中以Web为主要内容的WWW技术得到了广泛应用。WWW最重要的特点是具有容易使用的标准图形界面。
WWW的这种思想实际上就是在互联网上构造一个实现信息共享的系统。随着超文本标记的出现,可以实现互联网上任意计算机上页面的转移。早期的Web网站都是一些由HTML文件组成的静态网站,用户进入网站后只能查看一个个事先编辑好的HTML页面文件,当时能够查阅的资料较少,而且即时性较差。随着全球信息时代的到来,人们越来越迫切地要求能够WWW的这种思想实际上就是在互联网上构造一个实现信息共享的系统。随着超文本标记的出现,可以实现互联网上任意计算机上页面的转移。早期的Web网站都是一些由HTML文件组成的静态网站,用户进入网站后只能查看一个个事先编辑好的HTML页面文件,当时能够查阅的资料较少,而且即时性较差。随着全球信息时代的到来,人们越来越迫切地要求能够
在互联网上快速、准确地收集、处理大量的信息,这就促使Web网站及网页的制作技术得到了快速的发展,也就出现了动态Web设计。到目前为止,以浏览器/服务器模式为主要内容的Web技术框架已基本形成。在互联网上快速、准确地收集、处理大量的信息,这就促使Web网站及网页的制作技术得到了快速的发展,也就出现了动态Web设计。到目前为止,以浏览器/服务器模式为主要内容的Web技术框架已基本形成。 • Web浏览器是用于访问Web 服务器的网页文件。从发明浏览器至今,出现过上千种各式各样的浏览器,但到目前为止,只有NetScape和IE两种浏览器得到了广泛的使用。Web服务器是工作在特定操作系统中的应用软件系统。随着服务器硬件及操作系统性能的不断提高,
各种Web服务器系统大量涌现,而且很多Web服务器还可以使用Server端的很多技术来发送标准的HTML网页,如PHP、JSP及ASP等。目前主要的服务器产品包括Apache、Microsoft IIS、NetScape Web Server等。Microsoft公司提供的Web服务器软件由于管理容易、易于使用而受到广大用户的欢迎。IIS(Internet Information Server)工作于Windows Server或Windows 2000 Server,而该公司的另一款服务器软件Personal Web Server(PWS,个人Web服务器)工Windows 98。
1. 3. 3 网络数据库的技术 • 1. CGI技术 • CGI(Common Gateway Interface,公共网关接口)是一种接口标准。CGI类似于客户和服务器端的连接桥梁,从客户端发出的请求必须通过CGI才能激活服务器端的程序。服务器端的程序执行产生的处理结果也必须通过CGI才能转换为HTML文本信息传回给客户端。CGI的技术思想非常先进,但在实现时有一些问题。
通常为了建立一个Web应用程序,需要制作多个CGI程序,而这些CGI程序一般都是由和Web 服务器不在同一内存空间运行的C或Perl语言制作而成,这就使得网站管理起来比较困难。 • 2.PHP技术 • 即Personal Home Page,是动态网页开发的工具之一。它是一种嵌入在HTML中并由服务器解释的脚本语言。它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行的数据库。
PHP的优点: • 跨平台性好:大多数常规PHP的安装通常是与Linux或各种UNIX上的Apache一起运行的PHP模块。同时PHP可以在Windows 9X、Windows 2000 Server、Windows XP等系统下运行。 • 简单易学:PHP采用C语言语法,对于有C语言基础的人来说学习PHP较为简单。 • 与数据库交互良好:PHP对于现今流行的数据库,几乎都提供了支持。
它可以自行编写外围的函数来间接存取数据库,当数据库发生改变时,可以通过改变PHP编码轻松得以实现。它可以自行编写外围的函数来间接存取数据库,当数据库发生改变时,可以通过改变PHP编码轻松得以实现。 • PHP的不足体现在对各种数据库没有统一的接口标准,它对于每种数据库几乎都有一个不同的接口。由于PHP的每一种扩充模块并不是完全由PHP本身来完成的,需要许多外部的应用程序库,因此,安装比较复杂。
3.JSP技术 • JSP是英文Java Server Pages的缩写,它是Sun公司首创的一种新型动态网页编程技术。JSP不但完全拥有Servlet技术的优点,而且JSP源代码能够直接嵌入HTML之中,使得程序的开发更为简化和快速。由于JSP技术是从Java编程语言中的Servlet技术扩展而来,因此具有动态页面与静态页面分离以及程序代码与硬件平台的无关性。 • JSP技术的优点:
平台无关性:差不多所有平台上,都可见到一致的Java Servlet/JSP的Web Servlet/Application Server系统,它可以让用户在任意环境中进行系统部署,在任意环境中扩展功能。 • 可移值性强:JSP继承了Java的一切特性,它使得JSP代码在一次编译之后,可以在任意地方运行。 • 与数据库连接方便:JSP通过Java语言的JDBC技术与数据库相连,只要数据库有JDBC的驱动程序就可与之相连接。如果没有JDBC,也可以通过JDBC—ODBC桥实现数据库的连接。
4. ASP技术 • ASP(ActiveX Server Page)技术是Microsoft提出的一个概念。所谓ASP是指在Windows系统中运行的Web 服务器所能利用的Server端的Script环境,通常以DLL(asp.dll)的形式表示。如果客户端要访问的是Web服务器中扩展名为.HTM的文件,则Web 服务器将直接把该文件传送给客户端。如果客户要访问的是Web服务器中扩展名为.asp的文件,则Web服务器会自动地解释执行该程序,并把结果信息转换为HTML信息再传送给客户端。
ASP提供了一种服务器端脚本语言的运行环境。它执行效率高、简单易学,使开发者可以省去许多繁锁的工作来开发强大的Web应用程序。ASP提供了一种服务器端脚本语言的运行环境。它执行效率高、简单易学,使开发者可以省去许多繁锁的工作来开发强大的Web应用程序。 • PHP、JSP、ASP技术等共同成为当今Web编程的三大主流技术,本书主要介绍ASP技术。 返回
1. 4 SQL Server简介 • Microsoft SQL Server 2000(以后简称为SQL Server)是基于客户/服务器模式(C/S模式)和浏览器/服务器模式(B/S模式)的新一代大型关系型数据库管理系统,是一种组织、管理和检索计算机数据存储的工具。它在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,为企业的数据管理提供了强大的支持,对数据库中的数据提供有效的管理,并采用有效的管理措施实现数据的完整性及数据的安全性。
1. 4. 1 SQL简介 • SQL(结构化查询语言,Structured Query Language)是由Ray Boyce和Don Chamberlin于1974年提出的。1996年,美国国家标准协会(ANSI)制定了第一个SQL语言标准,称为ANSI SQL_86,目前最新的SQL标准为ANSI SQL_92。从最早提出到现在,SQL经历了各种不同的版本,本书以MS SQL Server 2000作为数据库平台进行介绍。
目前世界上许多顶级的电子商务网站都是使用SQL Server 2000建立的。如果打算基于以Windows NT 4.0 Server/2000服务器平台来开发一个电子商务网站,SQL Server 2000将是后端数据库引擎的最佳选择。 • SQL功能强大,如果从对数据的不同操作方面划分,整个SQL语言概括起来可以分为以下四种:
● 数据定义语言(Data Definition Language,DDL):用于定义数据的结构,如创建、修改或者删除数据库对象。 • ● 数据查询语言(Data Query Language,DQL):主要用于对数据库中的表进行查询,并返回符合用户查询标准的结果数据,其中的SELECT命令是SQL语言中使用最频繁的命令。 • ● 数据操作语言(Data Manipulation Language,DML):用于向数据库添加、修改 和删除数据、检索指定数据等操作。 • ● 数据控制语言(Data Control Language,DCL):用于定义数据库用户权限。
1.4.2 SQL Server发展简史 • SQL Server的第一个版本是由Microsoft公司和Sybase公司在1988年合作开发的,它的对象主要是OS/2。后来,Microsoft公司开始为Windows NT平台开发新的SQL Server版本。1988~1992年,Microsoft公司相继开发了SQL Server的Windows NT平台版本、SQL Server的Windows NT 3.1平台SQL Server 4.2版本、SQL Server 6.0版本、SQL Server 6.5版本和SQL Server 7.0版本。这些版本首次将复制功能内嵌其中,同时还增加了集中管理方式。
后来专门为Microsoft自己的操作系统开发的SQL Server与相应的操作系统之间紧密结合,并且很快获得了巨大成功,逐渐成为数据库管理方面的主流产品之一。与此同时,Microsoft公司在SQL Server 7.0版本中所做的巨大改动更加确立了SQL Server在数据库管理工具中的主导地位。 • 2000年,SQL Server的最新版本SQL Server 2000正式面世。SQL Server 2000在SQL Server 7.0版本的基础上在数据库性能、数据可靠性及易用性方面做了重大改进。主要表现在以下两个方面:
● 在关系数据库方面,增加了XML(扩展标记语言)技术支持;增加了用户定义函数和新的数据类型:bigint、sql_variant 和table类型;引入了新的OPENROWSET函数,用于在分布式查询中指定特殊的连接信息等。 • ● 在图形管理增强方面,SQL Server中包含了多种图形管理工具,这些工具使用起来简单方便,可以大大提高工作效率。SQL Server 2000在早期版本图形工具的基础上,改进并增加了新的图形管理功能,如日志传送功能、复制数据库向导、SQL事件控测器增强及SQL查询分析器增强等。
1. 4. 3 SQL Server 2000版本及功能简介 • SQL Server 2000包括6个不同的版本。这些不同的版本之间存在着功能和特点的差异,而这些差异则是它们分别适用于不同环境的原因。 • 1. SQL Server 2000企业版 • SQL Server 2000企业版作为生产数据库服务器使用,它支持所有SQL Server 2000的功能。该版本最常用于大中型产品数据库服务器,并且可以支持大型网站、企业OLIP(Online Transacltion Processing,在线事务处理)和大型数据仓库系统(OLAP)所要求的性能。
2. SQL Server 2000标准版 • SQL Server 2000标准版的适用对象是小型的工作组或部门。它支持大多数的SQL Server 2000功能,但是不具有支持大型数据库、数据仓库和网站的功能,也不支持所有的关系数据库引擎的功能。 • 3. SQL Server 2000 Windows CE版 • 该版本常被用于在Windows CE设备上存储数据,运行该版本需要大约1MB的内存空间。SQL Server CE在执行时作为一个动态链接库(DLL)的集合,这种执行过程使得SQL Server CE能够支持Windows CE版本的VB和VC++中的Active Data for Windows CE(ADOCE)以及OLE DB CE API。
另外,它还使同时运行的多个应用程序能够共享一个通用的DLL集合,从而节省了存储空间。另外,它还使同时运行的多个应用程序能够共享一个通用的DLL集合,从而节省了存储空间。 • 如果将Windows CE设备连接到网络上,那么可以使用SQL Server CE的远程数据访问(RDA)功能进行远程操作,这些操作包括连接到其他Windows平台的SQL Server 2000实例等。SQL Server CE中的连接选项非常适用于无线网络,它能够从丢失的连接中进行修复。 • 4. SQL Server 2000评测版 • SQL Server 2000评测版是一个功能基本齐全的版本,用户可以从互联网上免费下载该版本。该版本主要用来评估SQL Server 2000的功能,它在下载运行120之天后将停止运行。另外,它并不支持SQL Server 图形工具中的语言设置功能。
主要适用于程序员在开发应用程序时将SQL Server 2000作为其数据存储区。虽然开发人员版的功能齐备,但是它只被授权为一个开发和测试系统,而不是一个产品服务器。 • 6. SQL Server 2000个人版 • SQL Server 2000个人版主要适用于移动用户,因为它们经常从网络上断开,而运行的应用程序却仍然需要SQL Server 的支持。除了具有事务处理复制功能以外,SQL Server 2000个人版能够支持所有SQL Server 2000标准版支持的特性。另外,如果该版本安装在Windows Me和Windows 98系统上,它将不支持全文搜索。 返回
1. 5 企业管理器 • 安装好SQL Server 2000之后,该软件所提供的各种管理工具都包含在Microsoft SQL Server 2000程序组中。把鼠标指针指向在“开始”命令菜单中“程序”命令,再指向Microsoft SQL Server 2000,就可以看到系统所提供的管理工具。在此,先学习企业管理器(SQL-EM(Enterprise Manager))。 • 企业管理器是Microsoft管理控制台中的一个内建控制台,它可以完成所有的管理工作。例如,管理登录、用户和权限,创建和管理数据库,创建和管理表、视图、存储过程、索引、规则、默认值和用户自定义类型以及导入与导出数据等。 • 启动Microsoft SQL Server 2000的企业管理器后的界面如图1.5所示。
1. 5. 1 新建服务器组 • 在控制台根目录下,右击Microsoft SQL Servers,在弹出的快捷菜单(如图1.6所示)中选择“新建SQL Server组”命令,出现图1.7所示的“服务器组”对话框,输入所要创建的服务器组名后,新的服务器组就建立完成了。以后就可以在服务器组下面建立服务器,并进行数据的管理与操作了。